2018-09-29

2、数组的创建
格式:
1)、动态初始化
数据类型 [] 数组名称 = new 数据类型[100];
double [] doubleArray = new double[10];
String [] StringArray = new String[5];
char [] charArray = new char[10];
long[] longArray = new long[10];
boolean[] boolArray = new boolean[12];
2) 静态初始化
数据类型[] 数组名称 = new 数据类型[] {元素一,元素二,.....};
int [] array1 = new int[]{};
int[] intArray = new int[]{2,4,5,7,8,9};
float[] floatArray = new float[]{2.3,1.5,5.6,4.6,62.3};
String [] stringArray = new String[]{"jave","ios"."andriod"};
Double[] doubleArray = new double[]{2322,34444,567778};
//省略格式
String [] stringArray2 = {"jave","ios","andriod"};
//动态初始化-分两步初始化
int [] array6;
array6 = new int[3];
//静态初始化-分两步初始化
double [] doubleArray2;
doubleArray2 = new double[2333,44223,5678];
//省略格式-分两步初始化(错误写法)
// int [] array3;
// array3 = {3,5,7,9};
3、数组取值
//直接打印数组,结果[I@2471cca7,打印出得是数组的内存地址哈希值,十六进制
int [] intArray = {10,20,30};
System.out.println(intArray);
int num = intArray[1];
System.out.println(num);
4、数组赋值

//动态初始化
int [] array = new int[3];
System.out.println(array);
System.out.println(array[0]);//0
System.out.println(array[1]);//0
System.out.println(array[2]);//0
array[0] = 10;
System.out.println(array[0]);//10
5、一个数组的内存图

6、两个数组的内存图

7、两个数组的引用

8、数组越界
9、空指针异常
int[] array3 ;
// array3 = new int[]{2,4,5}
System.out.print(array3);

10、
//数组作为参数
public static void arraySum (int [] array){
int sum = 0;
for (int i=0;i<array.length;i++){
sum = sum+array[i];
}
System.out.println(sum);
}
11、
//数组作为返回值
public static int [] arrayReturn (){
int a=21,b=23;
int sum = a+b;
int avg = sum/2;
int [] array = {sum,avg};
return array;
}
12、直接打印数组的地址和值
System.out.println(printArray);
System.out.println(Arrays.toString(printArray));
网友评论