1. 数组类型可以对同种类型的多个变量进行一次定义。
- 定义对象类型时需要创建对象。
public class A {
public static void main(String[] args){
int[] a = new int[3];
a[0] = 100;
a[1] = 20;
a[2] = 30;
System.out.println(a[1]);
}
}
输出20。
- 数组的下标是从0开始的,而不是1。
public class A {
public static void main(String[] args){
int[] a = {100, 20, 30};
System.out.println(a[1]);
}
}
输出20。
public class A {
public static void main(String[] args){
int[] a = new int[30];
a[0] = 1;
a[1] = 1;
for (int i = 2; i < 29; i++){
a[i] = a[i - 1] + a[i - 2];
System.out.println(a[i]);
}
}
}
返回
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229。
2. 数组下标访问越界。
public class A {
public static void main(String[] args){
int[] a = new int[10];
System.out.println(a[10]);
}
}
}
报错。
3. 数组中并不是存储着元素本身,而是存储着指向其他对象的指针。
- Java中的二位数组实际上是二重数组,数组长度可以不等。
public class A {
public static void main(String[] args){
int N = 10;
int[][] a = new int[N][];
for (int i = 0; i < N; i++){
a[i] = new int[i + 1];
}
a[0][0] = 1;
a[1][0] = 1;
a[1][1] = 1;
for (int i = 2; i < N; i++){
a[i][0] = 1;
a[i][i] =1;
for (int j = 1; j < i; j++){
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
for (int i = 0; i < N; i++){
for (int j = 0; j <= i; j++){
System.out.print(a[i][j] + " ");
}
System.out.println("");
}
}
}
输出
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1 。