Java数组
数组
数组本质是一组在内存上连续的数据类型相同的数据。
真实数据在堆里,栈中指向堆中地址。
Java 中没有多维数组的概念,但是 Java 提供了支持多维数组的语法,可以实现多维数组的功能。(俗称为多维数组)
数组创建后,里面的内容都是默认值0。Java虚拟机给内存时候会先归零。
例如: int [] a = {0,1,2,3,4} //定义长度为5数组a //栈中存的是a的地址,地址指向堆中的位置 int [][] a={{0,1,2},{4,5,6,7},{8,5}}; //定义一个二维数组 //a[1]表示的是二维数组中第二个一维数组的地址 //a[1][3]表示第二个一维数组中的第四个值,即7
一、数组的赋值
数组赋值有三种
两种是创建并赋值,另外一种是’字面量赋值。
// 1、创建并初始化
// 数据类型 [] 变量名 = new 数组类型[数组长度]
int [] a = new int[20];
// 2、创建并初始化
// 数据类型 [] 变量名 = {元素1,元素2,元素3,元素4}
int [] b = { 1, 2, 3, 4, 5 };
// 3、字面量赋值
// 数据类型[] 变量名 = new 数组类型[]{元素1,元素2,元素3,元素4}
b = new int [] { 5, 4, 3, 2, 1 };
前两种方式只能初次赋值使用,当要对原来数组整体更改时则要用字面量赋值。
二、for- each语句
当只需要遍历数组或不需要下标是使用,
int[][] a = { { 0, 1, 2 }, { 4, 5, 6, 7 }, { 8, 5 } };
//for (数据类型 标识符 : 表达式)
for (int[] yiwei : a) {
for (int i : yiwei) {
System.out.print(i);
}
System.out.println();
}
0 1 2
4 5 6 7
8 5
int[] a = { 5, 2, 0, 1, 3, 1, 4 };
for (int i : a) {
System.out.print(i + "\t");
}
5 2 0 1 3 1 4