---恢复内容开始---

1.数组的申明和应用

数据类型 数组名称[] = null;             //在堆栈中申明变量名称

数组名称 =  new  数据类型[10];       //通过new关键字,告诉编译器要在堆中创建一个10个单位的空间。

2.数组的静态初始化

int  score[] = {90,91,92,93,94,95};

int  score[][] = {{89,90,}{91,92},{93,94,95}

二维数组静态初始化时,如果每行长度不一样,短的行不赋值的单位将不在数组的范围内。

for(x=0;x<score.length;x++){  //第一纬的长度为 变量名称.length (表示包括几行,几个元素)

for(j=0;j<score[x].length,j++){ //第二纬的长度为 变量名称[x].length (表示每行几个元素)

    System.out.print("score[+"x"+]+"["+y+"] = ", score[x][y]+"\t");

}

System.out.println("");

}

输出结果为:

89  90

91  92

93 94 95

2.方法的申明和使用

方法是可以被重复调用的代码段。

方法重载,函数名相同,根据不同的参数类型,参数数量做不同的处理,返回值类型也有可能会不同。

如果参数相同,只是返回值不同,不能算重载 ,编译器将报错。

与方法覆盖的区别:

方法覆盖,应该是子类将父类的函数进行重写。

方法重载,是一个类中多个同名的函数,根据参数类型,参数数量不同而做不同的处理。

return 除了返回函数结果外,另外一个作用是结束函数。

方法的递归调用,函数实现过程中,调用自身。

3.数组的引用传递(方法中的参数为数组引用)

在此类情况下,方法对于参数值的修改,将会在数组中保存。

如下图所示,为整个内存状态的变化过程。

方法除了接受数组引用外,也可以返回一个数组。

int temp[] ,int ss[] 这些都是数组引用,存储在栈中。通过int temp[] = fun();使得temp和ss指向同一个堆中的内存空间。

以上这段代码,为数组引用传递的一个例子。

java 提供一个针对数组的方便排序方法,针对不用数据类型的数组都可以排序。

java还提供了一个数组间的拷贝函数

总结,数组的引用传递,传递的是对内存的使用权。可以将一个数组传递到方法中,传递时,不需要写[]之前写数组名字即可。

方法中对数组所做的修改都会被保留下来。

4.java新特性对数组的支持

可变参数,在调用方法的时候可以任意多的传递参数。

申明格式   返回值类型   方法名称(参数类型... 参数名称){}

函数对于可变参数的处理,可以按照数组参数来使用,如下图所示,循环时可以用arg.length来计算总共有多少参数。

foreach输出

具体例子语句如下图:

---恢复内容结束---

JAVA 学习笔记 - 基础语法 2的更多相关文章

  1. Java学习笔记-基础语法Ⅳ

    多态:同一个对象,在不同时刻表现出来的不同形态 例如: 猫 cat = new 猫(); 动物 animal = new 猫(); 这里的猫在不同时刻表现出来不同的形态,这就是多态 多态的前提和体现: ...

  2. Java学习笔记-基础语法

    Java基础包含关键字,标识符,注释,常量和变量,运算符 关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 Java的关键字 用于定义数据类型的关键 ...

  3. Java学习笔记-基础语法Ⅹ-进程线程

    学习快一个月了,现在学到了黑马Java教程的300集 打印流的特点: 只负责输出数据,不负责读取数据 有自己的特有方法 字节打印流:PrintStream,使用指定的文件名创建新的打印流 import ...

  4. Java学习笔记-基础语法Ⅷ-泛型、Map

    泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法 ...

  5. Java学习笔记-基础语法Ⅴ

    学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够 ...

  6. JAVA 学习笔记 - 基础语法1

    1. 类的定义 public class  与  class的区别 一个java文件只有一个public class, 而且类名必须与文件名一致. 一个java文件可以有多个class定义,javac ...

  7. Java学习笔记-基础语法ⅩⅠ-UDP、TCP

    网络编程 三要素:IP地址.端口.协议 IP地址:使用ipconfig查看,如果装了VM的话,会有VMnet1.VMnet8和WLAN,net1不能从虚拟机到主机,net8不能从主机到虚拟机,net0 ...

  8. Java学习笔记-基础语法Ⅸ-文件

    File File是文件和路径名的抽象表示,File封装的并不是一个真正存在的文件,是一个路径名,可以存在也可以不存在 常用方法: 创建文件:createNewFile() 创建目录:mkdir() ...

  9. Java学习笔记-基础语法Ⅶ-集合

    集合 集合类特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变 这里需要回顾一下,因为数组和字符串一旦创建,就不可改变,需要区分一下 import java.util.ArrayLi ...

随机推荐

  1. android动态控制组件的位置、大小和新的动画

    一.动态设置组件的位置 当中view是须要改变位置的控件,top是须要设制的位置: private static void setLayoutX(View view,int top)  { //克隆v ...

  2. influxdb常用命令

    创建数据库 create database DBName 删除数据库 drop database DBName 使用指定数据库 use DBName 显示所有表 SHOW MEASUREMENTS 删 ...

  3. Watcher 实现机制之client注冊

    Zookeeper 提供的了分布式数据的公布/订阅功能,通过 Watch 机制来实现这样的分布式的通知功能. Zookeeper 同意client向server注冊一个Watch监听.当服务端的一些指 ...

  4. HDU1864_最大报销额(背包/01背包)

    解题报告 pid=1864">题目传送门 #include <cstdio> #include <cstring> #include <iostream& ...

  5. 跟踪oracle中sql语句运行过程及相关知识拓展

    select * from v$sqlarea; select * from v$sqlarea where first_load_time>'2010-11-27/09:30:00'; 这种方 ...

  6. iOS开发——高级篇——iOS中为什么block用copy属性

    1. Block的声明和线程安全Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章(iOS: 非ARC ...

  7. javascript总结02

    1 如何打开和关闭一个新的窗口? 2 Window对象的哪个属性能返回上一个浏览页面? 3 一次或多次执行一段程序的函数是什么? 定时函数 4 如何查找并访问节点? 5 给表格新增行和单元格的方法分别 ...

  8. [译]NUnit--Installation(三)

    Installation NUnit安装程序默认安装文件路径为C:\Program Files\NUnit 2.6.2.根据用户选择安装的选项,安装文件有三个子文件夹:bin.doc.samples. ...

  9. ios下使用overflow scroll情况下,到达最极端的情况时会拖动整个页面的解决办法

    今天开发ipad webapp时,遇到个问题就是在支持内部滚动(overflow:scroll)的页面中,在滚到到最极端(最上或者最下时),会拖动整个页面,带来不好的用户体验. 方法一,从网上找到的: ...

  10. http-2.2

    HTTP-2.2 httpd 配置文件的组成: grep "Section" /etc/httpd/conf/httpd.conf ### Section 1: Global En ...