数组的使用规则和注意点

发布时间:2024年01月14日

?
?
数组的基本结构:

  • 元素类型:int 、double 等
  • 数组元素
  • 标识符:数组名称
  • 元素下标:从0开始

注意:

  • 数组长度不变,避免数组越界
  • 数组中的所有元素必须属于相同的数据类型

?
如何使用数组 分为四步:

  • 声明数组 int[ ] a;
  • 分配空间 a = new int [ 5 ];
  • 赋值 a [0] = 8;
  • 处理数据 a[0] = a[0]*10;

1.声明数组:

  • int[ ] score1; //java成绩
  • int score2[ ]; //C#成绩
  • int[ ] avgAge; //平均成绩
  • String[ ] name; //学生姓名

2.语法:

  • 数据类型 数组名[ ];
  • 数据类型[ ] 数组名;
  • 这里是声明数组时不规定数组长度

3.分配空间:告诉计算机分配几个连续的空间

  • scores = new int[30];
  • avgAge = new int[6];
  • name = new String[30];
  • 声明数组并分配空间
    • 语法:数据类型[ ] 数组名 = new 数据类型[大小];
    • 数组元素根据类型不同,有不同的初始值

4.赋值:向分配的格子里放数据
score[0] = 89; score[1] = 79; score[2] = 76; …比较麻烦

  • 方法一:便声明边赋值
    • int[ ] scores = {89,79,76};
    • int[ ] scores = new int[ ] {89,79,76};
      ?
  • 方法二:动态的从键盘录入信息并赋值
    Scanner input = new Scanner(System.in);
    for(int i = 0;i<30;i++){
        score[i] = input.nextInt();
    }

?
5.处理数据
对数据进处理:计算5位学生的平均分

int [] scores = {60, 80, 90, 70, 85};
double avg;
avg = (scores[0] + scores[1] + scores[2] + scores[3] + scores[4])/5;     
 int [] scores = {60, 80, 90, 70, 85};
 int sum = 0;
 double avg;
    for(int i = 0; i < scores.length; i++){
         sum = sum + scores[i];
   }
   avg = sum / scores.length;

增强for循环:

  • 语法结构:
    for(数据类型 变量名:数组名或者集合名){
    //操作变量的代码
    }
  • 执行规律:
    按照数组或者集合中的元素顺序依次取出元素,存储在变量中,
    这时候操作变量就是操作数组或者集合中的元素
public static void main(String[] args) {
        int[] nums ={11,25,63,48,19,33,26,87,93,45,11,20,66,55,99,17,10,33,59,68,80,40};
        //使用增强for循环遍历数组
        for(int a :nums){
            System.out.print(a+" ");
        }
    }
}

数组的动态初始化和静态初始化的区别:

  • 动态初始化:手动定义数组的长度,由系统给出默认的初始化值。
    常用于,只明确元素个数,不明确具体数值,推荐使用动态初始化
    举例:使用数组容器来存储键盘录入 的5个整数
    int[] arr = new int [5];
  • 静态初始化:手动指定数组元素,系统会根据元素个数,计算出长度。
    需求中已明确了要操作的具体数据,直接静态初始化即可。
    例如;将全班的学生成绩存入数组中 11,11,33 int[ ] arr = {11,22,33};

常见错误1:

public class ErrorDemo1 {
    public static void main(String[ ] args){
        int[ ] score = new int[ ];//编译出错,没有写明数组的大小
        score[0] = 89;
        score[1] = 63;
        System.out.println(score[0]);
  }
}

常见错误2

int[ ] scores = new int[2];
scores[0] = 90;
scores[1] = 85;
scores[2] = 65;//数组越界,数组长度为2,这里是第三个
System.out.println(scores[2]);

常见错误3:

int[ ] score = new int[5];
      score = {60, 80, 90, 70, 85};
      int[ ] score2;
      score2 = {60, 80, 90, 70, 85};
//编译出错,创建数组并赋值的方式必须在一条语句中完成
文章来源:https://blog.csdn.net/m0_59399997/article/details/135502259
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。