JavaSE第五章、数组
JavaSE第五章、数组
一、数组
1.数组的定义
(1)动态初始化
第一种: int[] a=new int[5];
第二种: int a[]=new int[5];
第三种: int a[];或int[] a; //先定义
? a=new int[5]; //再初始化
(2)静态初始化
int a[]={1,2,3,4,5};
注意事项:
-
数组中的元素可以是任何数据类型,但不能混用。
-
数组创建后,若没有赋值,则有默认值:
? int\short\byte\long为0;
? float\double为0.0;
? char为\u0000;
? boolean为false;
? String为null。
-
??数组的下标从0开始。
-
数组是引用类型,数组型数据是对象(object)。
2.数组赋值机制
-
基本数据类型赋值方式为值传递。
-
数组在默认情况下是引用传递,赋的是地址。
3.数组的扩容
Scanner myScanner = new Scanner(System.in);
int[] arr={1,2,3};
do{
int[] arrNew = new int[arr.length+1];
for(int i=0;i
二、二维数组
1.二维数组的定义
//静态初始化
int[][] arr={
{0,0,0},
{0,0,1},
{1,2,0},
}
//动态初始化一
int arr[][];
arr = new int [5][5];
//动态初始化二
int a[][] = new int [5][5];
//动态初始化三——列数不确定
/*Java二维数组允许每个一维数组的个数不同,即列数不确定。*/
int[][] arr = new int[3][];
for(int i=0;i
注意事项:
- 二维数组的每个元素是一维数组。
- 访问第(i+1)个一维数组的第(j+1)个值:arr [i][j]。
- 二维数组的声明方式还可以为:int[] y[]
2.杨辉三角
int[][] arr=new int[10][];
for(int i=0;i1 && j!=0 && j!=arr[i].length-1)
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
else
arr[i][j]=1;
}
}
for(int i=0;i