目录
一、Java数组的特性
二、数组的声明、初始化、元素赋值
三、数组的简单使用(两个案例)
案例一(打印菜单)
案例二(打印不确定数量学生姓名成绩以及对应评级)
一、Java数组的特性
1.同一个数组只能保存相同数据类型的元素。
2.数据的长度(最大可存放元素个数)一旦确认,无法二次修改。
3.同一个数组的元素在内存中是连续存放的。
4.数组名的地址为该数组的首地址,元素的地址为其偏移量。
5.数组属于引用数据类型。
6.数组中的元素既可以是基本数据类型(布尔、数值、char),也可以是引用数据类型(String)。
7.元素默认初始化后的值根据数组元素数据类型的不同,也有所区别:
1)数值型的时0或0.0
2)char类型为'u0000' 布尔运算时等于0
3)Boolean类的是0(false)
4)String及引用数据类型是null
二、数组的声明、初始化、元素赋值
1.声明和初始化
1)动态初始化:先声明一个数组并初始化,元素暂时为默认的null
String[] menus = new String[5]; //定义一个menus数组,长度为5
2)静态初始化
double[] price = new double[]{6.5, 6, 13.5, 3, 10}; //定义一个元素为大括号内数字的price数组
2.指定数组中的元素值
menus[0] = "皮蛋瘦肉粥";
三、数组的简单使用(两个案例)
案例一(打印菜单)
1.创建两个数组,分别对应菜品名称和价格,并指定元素值
2.使用for循环遍历菜品名称和价格
public class ArrayUser {
public static void main(String[] args) {
String[] menus = new String[5]; //定义一个menus数组,长度为5
menus[0] = "皮蛋瘦肉粥";
menus[1] = "酸辣土豆丝";
menus[2] = "无花果雪梨炖瘦肉";
menus[3] = "喷香白米饭";
menus[4] = "功夫小炒鸡";
double[] price = new double[]{6.5, 6, 13.5, 3, 10}; //定义一个元素为大括号内数字的price数组
for(int i = 0; i < menus.length ; i++){ //使用for循环遍历菜品和对于单价
System.out.println(menus[i] + " " + price[i] + "元/份");
}
}
}
打印结果:
皮蛋瘦肉粥 6.5元/份
酸辣土豆丝 6.0元/份
无花果雪梨炖瘦肉 13.5元/份
喷香白米饭 3.0元/份
功夫小炒鸡 10.0元/份
案例二(打印不确定数量学生姓名成绩以及对应评级)
1.使用scanner键盘的输入模拟学生个数(可以自定义数量)
2.编写代码,调试。
3.编译执行代码,实践。
import java.util.Scanner; //导入Scanner类
public class ArrayScore {
public static void main(String[] args) {
//创建一个Scanner对象sc
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生个数");
//创建一个变量studentsNum表示学生数量,并从键盘接收值。
int studentsNum = sc.nextInt();
//创建一个数组表示学生成绩
double[] studentsScore = new double[studentsNum];
//创建一个数组表示学生姓名
String[] studentsName = new String[studentsNum];
//创建一个变量表示最高分
double maxScore = 0;
//使用for循环依次从键盘接收学生姓名和成绩
for(int i = 0; i < studentsNum; i++){
System.out.println("请输入学生姓名");
studentsName[i] = sc.next();
System.out.println("请输入学生分数");
studentsScore[i] = sc.nextDouble();
//每次输入完成绩后检查是否比是最高分
if(maxScore < studentsScore[i]){
maxScore = studentsScore[i];//将最高分赋值给maxScore
}
}
//使用for循环打印学生姓名、成绩、和获得评价
for(int i = 0 ; i < studentsNum ; i++){
char evaluate = 'A';
if(maxScore - studentsScore[i] <= 10){
evaluate = 'A';
}else if(maxScore - studentsScore[i] <= 20){
evaluate = 'B';
}else{
evaluate = 'C';
}
System.out.println(studentsName[i] + "t" + studentsScore[i] + "t" + evaluate);
}
}
}
输出如上图:绿色字体为键盘输入。
暑期编程PK赛 得CSDN机械键盘等精美礼品!



