1)数组是一个容器,可以同时存放多个数值。
2)数组是一种用用数据类型;一个数组可以有多个数据,但类型必须一致;数组的长度在运行期间的长度是不能改变的。
数组的初始化分为动态初始化和静态初始化:
1)动态初始化的标准格式:
数据类型 [ ] 数组名 = new 数据类型 [数组长度];
例如 int [] arrAy = new int [10];
2)数组的静态初始化有两种格式
标准格式:
数据类型 [ ] 数组名 =new 数据类型 [ ] {元素1,元素2,元素3,...};
例如 int [ ] arrAy = new int {1,2,3,4,5};
静态初始化的省略格式:
数据类型 [ ] 数组名称 ={元素1,元素2,元素3,...};
例如 int [ ] arrAy = {1,2,3,4,5};
注意事项:
1)虽然静态初始化没有直接告诉数组的长度,但是根据大括号里面的元素(数组的具体内容)也可以推算出数组的长度。
2)静态初始化标准格式可以拆分成两步来完成:
数据类型 [ ] 数组名;
数组名 = new 数据类型 [ ] {元素1,元素2,元素3,...};
3)动态初始化的标准格式可以拆分成两步来完成:
数据类型 [ ] 数组名;
数组名 = new 数据类型 [数组长度];
4)静态初始化一旦使用了省略模式就不能拆分成两个步骤了。
使用建议:
若不确定数组中的具体内容,建议使用动态初始化;若是已知具体内容,建议使用静态初始化。
1)在输出语句中直接打印数组名,输出的内容是数组对应的内存地址码哈希值。
2)访问数组元素的格式:
数组名称[索引值];
例如 arrAy[0];
所以输出数组元素的语句为:
System.out.println ( arrAy [1] );
索引值:是一个int型的数字,代表数组中元素的编号,是从0开始,到“数组长度-1”为止。
1)关于数组的默认值的介绍:
整型数据的数据默认值为0;浮点数的默认值为·0.0;
字符串的默认值为·:‘\u0000‘;布尔型的默认值为:flase;
引用类型的默认值为:null。
2)对数据元素的复制格式:
数组名 [索引值] = 数值;
例如 arrAy [1] = 1;
注意事项:静态初始化也有默认值过程,只不过系统自动将默认值替换成了大括号当中的具体数值。
1)越界
若你所访问数组元素的索引值并不存在,则会发生数组索引越界异常(ArrayIndexOutofBoundException);
2)空指针异常
数组必须进行new初始化才能使用其中的元素,如果只是赋值了NULL,没有进行new创建,将会发生空指针异常(NullPointerException);
注意事项:所有引用类型都可以赋值为NULL值,但代表其中什么也没有。
格式: 数组名称.length
通过该语句可以得到int型的数据,这个数据就是该数组的长度。数组一旦创建,在程序运行的过程中,长度不可改变。
1)数组可以作为方法的参数
在调用方法时,向方法的小括号中进行传参,传递进去的数值是数组的地址值。
2)一个方法可以有0个,1个,多个参数,但是只有1个或则0个返回值,不能有多个返回值。
若希望一个方法中有多个结果被返回,可以通过使用一个数组作为返回值类型。
例如
public static int[] A(int a,int b,int c){
int sum=a+b+c;//求三个数之和 int avg=sum/3;//求三个数的平均数 int[] arrAy={sum,avg}; return arrAy;
注意:数组作为方法的返回值返回的其实就是数组的地址值。
public static void A(){ int [] arrAy = {1,2,4,5,6}; for (int i = 0; i < 5; i++) { System.out.println(arrAy[i]); } }
public static void A(){ int [] arrAy = {1,2,4,5,6}; int max=0; for (int i = 0; i < arrAy.length; i++) { if(max<arrAy[i]){ max=arrAy[i]; } } System.out.print(max); }
public static void A(){ int [] arrAy = {1,2,4,5,6};for (int i = 0,j = arrAy.length-1; i<j; i++,j--) { int temp=arrAy[i]; arrAy[i]=arrAy[j]; arrAy[j]=temp; } for(int i = 0; q < arrAy.length; q++){ System.out.println(arrAy[q]); } }
原文:https://www.cnblogs.com/9-King/p/13349178.html