Java入门程序之一维数组的基础运用
本文详细介绍了Java中数组的概念、创建与初始化、一维数组的使用、内存分布以及二维数组。讲解了数组的静态与动态初始化、元素访问与修改、遍历方式。
一、数组的基本概念
数组的初始化
例如:
int[] array1 = new int[20]; // 创建一个可以容纳20个int类型元素的数组
double[] array2 = new double[10]; // 创建一个可以容纳10个double类型元素的数组
String[] array3 = new String[5]; // 创建一个可以容纳5个字符串元素的数组
初始化方式分为静态初始化和动态初始化
静态初始化:知道数组的内容,就可以静态初始化。
例如:
int[] arr = { 1,2,3,4 };
int[] arr = new int[] { 1,2,3,4 };//new int[]可以省略
不知道数组的内容,那么就可以使用动态初始化。
例如:
int[] arr = new int[20]; //定义20个int类型的数组
如果没有对数组进行初始化,数组中的元素有默认值。不同的数据类型有不同的默认值,如果是简单类型,大多是默认值为0。float是0.0f,double是0.0,char是/u0000,boolean是false;引用类型比如字符串类型则是null。
一维数组的使用
主要以简单的算法题实现进行学习
举例1:用一个数组,保存星期一到星期天的7个英语单词,从键盘输入1-7,显示对应的单词
public class Week {
public static void main(String[] args) {
String[] weeks = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要匹配的值(1-7)");
int number = scanner.nextInt();
if (number < 1 || number > 7) {
System.out.println("你输入的不合法");
} else {
System.out.println("匹配到的星期为" + weeks[number - 1]);
}
}
}
举例2:
**从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
成绩>=最高分-10 等级为’A’
成绩>=最高分-20 等级为’B’
成绩>=最高分-30 等级为’C’
* 其余 等级为’D’
* 提示:先读入学生人数,根据人数创建int数组,存放学生成绩。
public static void Grade() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生的人数:");
int numbers = scanner.nextInt();
System.out.println("请输入学生的成绩:");
int[] scores =new int[numbers];
int maxScore =0;
for (int i = 0; i < scores.length; i++) {
scores[i] = scanner.nextInt();
if (maxScore<scores[i]){
maxScore = scores[i];
}
}
System.out.println("最高的成级:"+maxScore);
char grade;
for (int i = 0; i < numbers; i++) {
if (scores[i]>=maxScore-10){
grade = 'A';
}else if (scores[i]>=maxScore-20){
grade = 'B';
}else if (scores[i]>=maxScore-30) {
grade = 'C';
}else {
grade = 'D';
}
System.out.println("第"+i+"个学生的成绩是"+scores[i]+"等级是"+grade);
}