1.数组常见的概念
数组名
元素
角标、下标、索引
数组的长度:元素的个数
2.数组的特点:
①数组是有序排列的
②数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
③创建数组对象会在内存中开辟一整块连续的空间
④数组的长度一旦确定,不能修改
3.数组的分类:
①按照维数:一维数组、二维数组。。。
②按照数组元素的类型:基本数据类型的数组、引用数据类型的数组
4.一维数组的使用
①一维数组的声明和初始化
静态初始化:数组的初始化的数组元素的赋值同时进行 eg ids = new int[]{1001,1002,1003,1004};
动态初始化:数组的初始化的数组元素的赋值分开进行 eg String[] names = new String[5];
总结:数组一旦初始化完成,其长度就确定了
② 如何调用数组指定位置的元素 :通过角标的方式调用
数组的角标(或索引)从0开始,到数组的长度-1结束
③ 如何获取数组长度 属性:length
eg System.out.println(names.length);
④ 如何遍历数组
eg:
for(int i = 0; i < names.length; i++){
System.out.println(names[i]);
}
5 数组元素的默认初始化值
* 数组元素是整型: 0
* 数组元素是浮点型: 0.0
* 数组元素是char型: 0 或 ‘\u0000’ 而非‘0’
* 数组元素是boolean型: false
* 数组元素是引用数据类型:null
练习:从键盘读入学生成绩,找出最高分,并输出学生成绩等级
成绩 >= 最高分-10 等级为‘A‘
成绩 >= 最高分-20 等级为‘B’
成绩 >= 最高分-30 等级为‘C’
其余 等级为‘D’
提示:先读入学生人数,根据人数创建int数组,存放学生成绩
package com.lxy.exer;
import java.util.Scanner;
/*从键盘读入学生成绩,找出最高分,并输出学生成绩等级
成绩 >= 最高分-10 等级为‘A‘
成绩 >= 最高分-20 等级为‘B’
成绩 >= 最高分-30 等级为‘C’
其余 等级为‘D’
提示:先读入学生人数,根据人数创建int数组,存放学生成绩*/
public class ArratDemo1 {
public static void main(String[] args) {
// 1.使用Scanner,读取学生个数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生人数:");
int number = scanner.nextInt();
// 2.创建数组,存储学生成绩;动态初始化
int[] scores = new int[number];
// 3.给数组中的元素赋值
System.out.println("请输入" + number +"个学生成绩:");
int maxScore = 0;
for(int i = 0; i < scores.length; i++){
scores[i] = scanner.nextInt();
if(maxScore < scores[i]){
maxScore = scores[i];
}
}
// // 4.获取元素中的最大值;最高分
// int maxScore = 0;
// for(int i = 0; i < scores.length; i++){
// if(maxScore < scores[i]){
// maxScore = scores[i];
// }
// }
//
// 5.根据学生成绩,得到等级,并输出
char level;
for(int i = 0; i < scores.length; i++){
if(maxScore - scores[i] <= 10){
level = 'A';
}else if(maxScore - scores[i] <= 20){
level = 'B';
}else if(maxScore - scores[i] <= 310){
level = 'C';
}else{
level = 'D';
}
System.out.println("student " + i + " Score is " + scores[i] + ",grade is " + level);
}
}
}