数组
1. 数组的创建
创建数组时,一个数组定义同一种类型的变量(Object除外)
定义一维数组的方式
int[] a;
int a2[];
一维数组初始化的方式
a ={1,2,3,4,5};
a1 = new int[]{1,2,3,4,5};
a2 = new int[5];**
数组的类型
八个基本数据类型
byte short int long
float double
char
boolean
引用类型
String
Object 等等
创建的数组在不赋值时有默认值
byte short int long (0)
float ( 0.0f ) double (0.0)
char ‘\u0000’
boolean false
引用类型 (long)
2.二维数组的创建
1.不规则的二维数组
int[][] b = new int[2][];
b[0] = new int[3];
b[1] = new int[5];
2.规则的二维数组
int[][] b2 = new int[2][5];//或者int[] b2[] = new int[2][5];
b2[0] = {1,2,3,4,5};
b2[1] = {1,3,6,7,3};
3.遍历数组的两种方式
1、for循环
一维数组
int[] arr = {2,3,1,5,7};
for(int i = 0; i < arr.length ; i++){
System.out.print(arr[i] + "\t");
}
二维数组
int[][] ar = new int[2][4] ;
for(int i = 0;i < ar.length ; i++){
for(int j = 0;j < ar[i].length ; j++){
System.out.print(ar[i][j] + "\t");
}
System.out.println();
}
2.foreach循环
一维数组
int[] ar1 = new int[3];
for (int i : ar1) {
System.out.print(i + "\t");
}
二维数组
int[][] a = new int[2][];
a[0] = new int[3];
a[1] = new int[5];
for (int[] ints : a) {
for (int i : ints) {
System.out.print(i);
}
System.out.println();
}
}
4.数组的存储方式
基本数据类型
int[] a = new int[2];//分配a的内存空间
a[0] = 10;
int[] b = a;//不给b分配独立的内存空间 ,指向a的首地址,a和b数组的值相互之间有影响
System.out.println(b[0]);//10
a[0]++;
System.out.println(b[0]);//11
System.out.println(a[0]);//11
引用数据类型–数组
int a1 = 10;
int b1 = a1;//给b1分配独立的内存空间,相互之间没有影响
System.out.println(b1);//10
a1++;
System.out.println(a1);//11
System.out.println(b1);//10
数组是引用类型,它在以上没有分配独立的内存空间,而String例外,它分配了独立的内存空间,是一个特殊的引用类型。