一维数组的使用
数组
一.基本要素
1.数据类型
一个数组中,存放的所有数据都必须是同一类型
2.标识符
数组的名称,数组这个引用类型数据的变量名
3.元素
存放在数组中的所有的数据
4.下标(索引)
最小值是0,最大值是size-1
二.注意事项
- 数组在内存中是一串连续的空间
- 数组必须确定其数据类型
- 数组的容量一旦确定不可改变
- 数组使用时,下标不能越界
三.使用数组
分为四步骤
1.声明数组
int[] a; // 声明数组
int[] a;
确定了数组中元素的数据类型、标识符
2.分配空间
a = new int[6]; // 分配空间
a = new int[6];
确定了数组的容量
3.赋值
a[0] = 8; // 赋值
a[0] = 8;
[0]表示数组的下标,下标0表示第一个元素
4.处理数据
a[0] = a[0] * 10; // 使用
a[0] = a[0] * 10
常用写法
1.int[] a = new int[8];
2.int[] a = {1, 2, 3};
// 声明并分配空间
int[] b = new int[8];
// 赋值
b[1] = 80;
System.out.println(b[1]);
// 声明并初始化赋值
int[] c = new int[] {1, 2, 3, 4, 5};
int[] d = {1, 2, 3, 4, 5};
获取数组容量
通过 标识符.length 获取int类型的容量
// 获取数组容量
String[] names = {"张三", "李四", "王五"};
int length = names.length; // 属性
System.out.println(length);
遍历数组
1.for_i循环
// 普通for循环,fori循环
for (int i = 0; i <= names.length - 1; i++) {
names[i] += "hello";
System.out.println(i + "::" + names[i]);
}
2.for_each循环
// 自动将数组names中的字符串,逐个的赋值给name
/*
* 优点:结构简约、清晰。
* 缺点:获取不到索引,不能修改数组内容。
*/
for (String name : names) {
System.out.println(name);
}
探究foreach循环的底层实现原理
1.基本数据类型数组的遍历
在class文件中,被编译成fori循环,或者iterator(迭代器)迭代循环
2.引用数据类型数组的遍历
String类型和基本数据类型一致,使用的也是fori循环
总结
foreach这样的写法称之为“语法糖”,让程序员编程时更容易,代码结构更清晰。
int[] array1 = {1, 3, 6, 8};
for (int a : array1) {
System.out.println(a);
}
String[] array2 = {"hello", "world", "hi", "java"};
for (String b : array2) {
System.out.println(b);
}