数组
一、数组的概念
一组连续的存储空间,存储数据类型相同的一组数据。
特征:连续空间、相同类型、长度固定
二、数组的创建和使用
public class Demo1 {
public static void main(String[] args) {
// 数组的创建
int[] a = new int[5]; // 创建5个元素大小的int型数组
// 赋值
a[0] = 3;
a[1] = 4;
a[2] = 5;
a[3] = 6;
a[4] = 7;
// 取值
System.out.println(a[0]);
System.out.println(a[1]);
System.out.println(a[2]);
System.out.println(a[3]);
System.out.println(a[4]);
}
}
三、数组的遍历
遍历是指将数组的所有元素依次操作。
public class Demo2 {
public static void main(String[] args) {
// 数组的创建
int[] a = new int[500]; // 创建5个元素大小的int型数组
// 遍历赋值
// 数组的名称.length得到数组的长度,此处为5
for (int i = 0; i < a.length; i++) {
// 注意,此处一定不能用<=
a[i] = i + 3;
}
// 遍历取值
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
// 案例:100个学生,随机指定60~100的成绩,遍历赋值,输出所有学生的成绩及平均成绩。
public class Demo3 {
public static void main(String[] args) {
// 数组的创建
int[] a = new int[100]; // 创建10个元素大小的int型数组
// 遍历赋值
// 随机赋值一个60~100的成绩
Random random = new Random();
int sum = 0;
for (int i = 0; i < a.length; i++) {
// 注意,此处一定不能用<=
a[i] = random.nextInt(41) + 60;
sum += a[i];
}
// 遍历取值
for (int i = 0; i < a.length; i++) {
System.out.println("第"+(i+1)+"个学生的成绩为:" + a[i]);
}
double avg = (double)sum / a.length;
System.out.println("平均成绩为:" + avg);
}
}
注意:数组在使用时,下标不能超出范围,如果超出范围,会提示下标越界问题。
ArrayOutOfBoundsException
四、数组的默认值
数组在分配了空间后,即使不赋值,也可以取值,因为有默认值。
不同类型默认值不一样
数字,默认值都是0,整数都是0,小数都是0.0,char是0对应的ascii码
布尔默认值是false
字符串的默认值是null
注意:当操作一个null值的变量时,会出现NullPointerException。空指针问题。
public class Demo4 {
public static void main(String[] args) {
// 数组有默认值,即使不赋值,也可以使用