**
JAVA基础知识(二)
**
第四章 数组与方法
4.1 数组的定义及使用
**
数据类型 数组名称[]=null; //声明数组
数组名称 = new 数据类型[长度]; //分配内存给数组
声明数组的同时分配内存
数据类型 数组名[]=new 数据类型[个数]
int score=new int[10];//声明一个元素个数为10的整型数组score,同时开辟一块内存空间供其使用
特别注意,在Java中取得数组的长度(也就是数组元素的长度)可以利用“数组名称.length的形式
数组名称.length ->返回一个int型数据
4.1.3 数组的静态初始化
数组赋初值
数据类型 数组名[]={初值0,初值1,…,初值n}
冒泡算法排序:即把数组中的每一个元素进行比较,如果第i个元素大于第i+1个元素,就把两个数字进行交换,这样进行反复的比较就可以将一个数组按照由小到大的顺序进行排序。
4.1.5 二维数组
二维数组的声明格式
数据类型 数组名[][];
数组名 = e=new 数据类型[行的个数][列的个数];
与一维数组不同,二维数组在分配内存时,必须告诉编译器二维数组行与列的个数。
int score[][]; //声明整型数组score
score = new[4][3]; //配置一块内存空间,供4行3列的整型数组score使用
数据类型 数组名[][]=new 数据类型[行的个数][列的个数];
int score[][]=new int[4][3];//声明整型数组score,同时为其开辟一块内存空间
二维数组静态初始化格式
数据类型 数组名[][]={
{第0行初值},
{第1行初值},
...
{第n行初值},
};
4.1.6 多维数组
因为定义的是几维数组,所以在输出的时候也要使用几层循环。一般不建议使用多维的数组进行操作。
4.2 方法的声明及使用
4.2.1 方法的声明及使用
方法就是一段可重复调用的代码段,例如,有某段长度约100行的代码,要在多个地方使用此段代码,如果在各个地方都重复编写此部分代码的话,则肯定会比较麻烦,而且此部分代码如果修改的话也比较困难,所以此时可以将此部分代码定义成一个方法,以供程序反复调用。
方法的定义格式
public static 返回值类型 方法名称(类型 参数1,类型 参数2,...){
程序语句;
[return 表达式];
}
要特别注意的是,如果不需要传递参数到方法中,只要将括号写出,不必填入任何内容。
此外,如果方法没有返回值,则在返回值类型处要明确地写出void,此时,在方法中的return语句可以省略。方法执行完后无论是否存在返回值都将返回到方法的调用处并向下继续执行。
方法命名规范要求
在定义类时,要求全部单词的首字母必须大写,那么在定义方法时也是有命名规范要求,即第一个单词的字母小写,之后每个单词的首字母大写,如printInfo()方法。
4.2.2 方法的重载
方法的重载就是方法名称相同,但参数的类型和参数的个数不同,通过传递参数的个数及类型不同以完成不同功能的方法调用。
System.out.println()方法也属于重载方法。
从前面的内容中可以知道屏幕打印语句System.out.print()方法可以打印任何的数据,如:
System.out.println(3); //输出整数
System.out.println(33.3);//输出浮点数
System.out.println('3'); //输出字符
System.out.println(true);//输出布尔型
System.out.println(3+3); //输出计算结果
4.2.3 使用return结束一个方法
在Java的方法定义中,可以使用return语句直接结束方法。但是此类操作形式与continue、break语句类似。往往都要结合if分支语句一起使用。
4.2.4 方法的递归调用
递归调用是一种特殊的调用形式,是方法自己调用自己。
尽量避免使用递归调用。
递归调用在操作的时候如果处理不好,则有可能出现内存的溢出,所以对于这种方法调用形式的使用时要谨慎。
4.3 数组的引用传递
4.3.1 传递及返回数组
前面的方法操作传递和返回的都是基本数据类型,除此之外方法中也可以用来传递和返回数组。如果要向方法中传递一个数组,则方法的接收参数处必须是符合其类型的数组。而且数组属于引用数据类型,所以在把数组传递进方法之后,如果方法对数组本身做了任何修改,修改结果也将保存下来。
既然方法可以接收一个数组,那么方法也就可以返回一个数组,只需要在返回值类型声明处明确地写出返回的数据类型即可。
4.3.2 数组排序
在数组排序的程序中,将排序和输出的功能分别定义成了一个方法,以后直接调用这两个方法,就可以完成排序或输出的功能。
对于排序的操作,在Java本身也是有类库支持的,可以直接使用“Java.util.Array.sort(数组名称)”语句对数组进行排序。
4.3.3 数组复制
4.4.2 foreach输出
for(数据类型 变量名称 : 数组名称){
...
}