数组
一.什么是数组:
数组是一个变量,存储相同数据类型的一组数据
声明一个变量就是在内存空间划出一块合适的空间
声明一个数组就是在内存空间划出一串连续的空间
二.数组基本要素:
标识符:数组的名称,用于区分不同的数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
注意:数组长度固定不变,避免数组越界
三:使用数组的步骤:
1.声明数组:告诉计算机数据类型是什么
语法: int [] a;
数据类型 数组名[ ] ;
数据类型[ ] 数组名 ;
2.分配空间:告诉计算机分配几个连续的空间
语法: a=new int[5]; 数据类型[ ] 数组名 = new 数据类型[大小] ;
3.赋值:向分配的格子里放数据
a[0]=8;
3.1 边声明边赋值
int[ ] score = {89, 79, 76}; int[ ] score = new int[ ]{89, 79, 76}; 不能指定数组长
3.2 动态地从键盘录入信息并赋值
Scanner input = new Scanner(System.in); for(int i = 0; i < 30; i ++){ score[i] = input.nextInt(); }
4.处理数据:计算5位学生的平均分 a[0]=a[0]*10;
int [ ] score = {60, 80, 90, 70, 85}; double avg; avg = (score[0] + score[1] + score[2] + score[3] + score[4])/5; 数组名.length代表数组的长度
案例:计算全班学员的平均分 public class Demo01 { public static void main(String[] args) { //存储30名学员的成绩 int [] score=new int[5]; double avg=0.0; //平均分 double sum=0; //成绩总和 Scanner input=new Scanner(System.in); //.length:代表了数组的长度 30 for (int i = 0; i < score.length; i++) { System.out.println("请输入第"+(i+1)+"位学员的成绩:"); score[i]=input.nextInt(); //每一次循环计算总和 sum=sum+score[i]; } avg=sum/score.length; System.out.println("平均分:"+avg); } }
四.数组排序: 升序:Arrays.sort(数组名); 从0到最大 降序:升序拍列完毕后 从最大到0 案例:升序he降序拍列成绩 public class Demo02 { public static void main(String[] args) { //定义一个数组,存储5位学员的成绩 int [] score=new int[]{98,56,74,85,100}; System.out.println("5位学员的初始成绩:"); for (int i = 0; i < score.length; i++) { System.out.print(score[i]+" "); } System.out.println(); System.out.println("5位学员的升序拍列后的成绩:"); //升序拍列 Arrays.sort(score); for (int i = 0; i < score.length; i++) { System.out.print(score[i]+" "); } System.out.println(); System.out.println("5位学员的降序拍列后的成绩:"); //降序:从后往前打印 //score.length-1:数组最大下标 for (int j = score.length-1; j>=0; j--) { System.out.print(score[j]+" "); } } }