一、今日学习目标

  1. 理解什么是数组
  2. 掌握数组两种定义写法
  3. 学会用循环遍历数组
  4. 看懂:下标 / 索引 是什么

二、极简知识点(大白话)

  1. 数组:同一个类型,一次性存一堆数据比如:存 5 个成绩、存 3 个名字
  2. 下标(索引):从 0 开始数第一个数据:下标 0第二个数据:下标 1
  3. 搭配 for 循环,快速取出所有内容

三、Day05 完整代码(新建类 Day05 直接复制)

java

运行

public class Day05 {
    public static void main(String[] args) {
        // 写法1:直接赋值创建数组
        int[] score = {60, 77, 85, 92, 55};

        // 通过下标单独取值
        System.out.println("第一个成绩:" + score[0]);
        System.out.println("第三个成绩:" + score[2]);

        System.out.println("----------");

        // 写法2:先规定长度,再赋值
        String[] name = new String[3];
        name[0] = "小明";
        name[1] = "小红";
        name[2] = "小刚";

        // for循环遍历数组(重点!必考)
        for (int i = 0; i < 3; i++) {
            System.out.println("姓名:" + name[i]);
        }
    }
}

四、必记重点(易错点)

  1. 数组下标从 0 开始,不是 1
  2. 数组长度固定,一旦创建不能随便改
  3. 循环遍历格式:

    java

    运行

    for(int i = 0; i < 数组长度; i++){
        数组名[i]
    }
    

五、IDEA 操作步骤

  1. 新建 Java 类 → 命名 Day05
  2. 粘贴代码
  3. Ctrl+Alt+L 一键格式化
  4. 运行,观察下标取值、循环输出

六、今日课后小作业(简单巩固)

定义数组:int[] num = {10,20,30,40};用 for 循环,把里面所有数字全部打印出来

知识点:

1. 数组本身只是一个 “盒子集合”

java

运行

int[] score = {60, 77, 85, 92, 55};

你写了这行,只是把 5 个数字放进了一组盒子里

但你想拿出其中一个,必须告诉 Java 是第几个盒子这个 “第几个”,就是下标 [0] [1] [2]...


2. 不写下标,直接打印数组会怎样?

试一下这段代码你就懂了:

java

运行

int[] score = {60, 77, 85, 92, 55};
System.out.println(score); // 不写下标

运行结果会是一串乱码一样的东西,类似:

plaintext

[I@15db9742

这是数组在内存里的地址,不是你要的数据。


3. 总结一句人话

  • 数组 = 一排储物柜
  • 下标 = 柜子编号
  • 不写编号,就打不开柜子,拿不到里面东西

4. 唯一例外

增强 for 循环可以不用手动写下标,但本质还是在按顺序取:

java

运行

for (int s : score) {
    System.out.println(s);
}

写法二:动态初始化,必须写长度

java

运行

// 正确:必须给长度
String[] name = new String[3];

// 错误:不写长度,编译失败
String[] name = new String[];
  • 写法二的规则:先开空间 → 再赋值你不告诉 Java 开多大空间,它没法创建数组。

两种写法的核心区别(必背)

写法 1:静态初始化(直接赋值)

java

运行

int[] a = {10,20,30};
  • 可以不写长度
  • 长度由大括号里的元素个数自动决定

写法 2:动态初始化(先开空间)

java

运行

int[] a = new int[3];
  • 必须写长度
  • 里面暂时都是默认值(int 默认 0,String 默认 null)
  • 后面自己再一个个赋值

一句话总结

  • 一边创建一边赋值 → 不用写长度
  • 只创建不赋值、先占位置 → 必须写长度
  • 写法一(直接赋值)一边建盒子,一边把东西放好长度自动算,不用自己写用的时候直接按下标拿(从 0 开始)

  • 写法二(先建空间)先规定建几个盒子(必须写长度)盒子是空的,后面再一个个往里存用的时候同样按下标拿

2. 对比两种写法,一下就懂

写法 1:int[] score = {10,20,30};

  • 大括号 {} 里直接写数据
  • Java 会自动帮你 new 出空间
  • 所以你不用手写 new

写法 2:String[] name = new String[3];

  • 你没给数据,只说要 3 个位置
  • 必须手动写 new,告诉 Java:快给我开辟空间!

3. 终极人话总结

  • new = 新建空间 = 造盒子
  • 不写 new,数组就没地方放东西
  • 只要是先规定长度、后放数据,必须用 new

对 “  []  ”  的理解

4. 用你刚才的比喻继续讲

  • String = 一个盒子
  • String[] = 一整排连在一起的盒子

[] 就是那个 **“排起来” 的标志 **。


5.数字类型也一样

java

运行

int a;    // 一个整数
int[] a;  // 一组整数

看到 [] → 立刻反应:数组、多个数据、带下标


6.超级总结

[] = 数组的身份证

  • 有它 → 是数组,能存多个,能用下标
  • 没它 → 是单个变量,只能存一个值
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐