欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > Java入门知识总结——章节(二)

Java入门知识总结——章节(二)

2025/4/19 9:05:35 来源:https://blog.csdn.net/2303_81146519/article/details/146691718  浏览:    关键词:Java入门知识总结——章节(二)

在这里插入图片描述
在这里插入图片描述

ps:本章主要讲数组、二维数组、变量


一、数组

数组是一个数据容器,可用来存储一批同类型的数据
请添加图片描述

🔑:注意

类也可以是一个类的数组

public class Main {public static class Student {String name;int age;  // 移除 unsignedint id;// 构造方法public Student(String name, int age, int id) {this.name = name;this.age = age;this.id = id;}// 重写 toString 方法@Overridepublic String toString() {return "Student{name='" + name + "', age=" + age + ", id=" + id + "}";}}public static void main(String[] args) {// 正确初始化 Student 数组Student[] s1 = new Student[]{new Student("张无忌", 18, 1),new Student("赵敏", 20, 2)};System.out.println(s1[0].toString());System.out.println(s1[1].toString());}
}

二、二维数组

请添加图片描述

二维数组的初始化

1. 指定行、列大小的动态初始化

int[][] arr = new int[3][5];

  • 这里创建了一个有 3 行、每行 5 列的整型二维数组。
  • 所有元素会被初始化为默认值(整型默认为 0)。

2. 静态初始化(直接用大括号赋值)

2.1 不使用 new 关键字

int[][] arr = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };

  • 这种方式可以在声明时直接赋初值。
  • 每一行(内部的花括号)可以视为一维数组。
2.2 使用 new 关键字 + 大括号

int[][] arr = new int[][] { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };

  • 和上一种方式本质相同,带 new 关键字时需要 new int[][],再紧跟大括号初始化。
  • 这种方式在某些场景下更显式。

3. “行”大小固定,“列”大小可变(不规则数组)

int[][] arr = new int[3][]; arr[0] = new int[2]; // 第 1 行有 2 列 arr[1] = new int[4]; // 第 2 行有 4 列 arr[2] = new int[3]; // 第 3 行有 3 列

  • 这种初始化方式先确定“行数”(外层数组长度),然后再分别为每行分配不同大小的一维数组。
  • 最终就形成了所谓的“拉格数组(Ragged Array)”或“不规则数组”。

4. 同时使用动态与静态

其实这可以视作前面几种的组合:一部分行用动态方式初始化,一部分行用静态方式初始化。通常使用场景不多,但语法上是可行的。

示例:

java

复制编辑

int[][] arr = new int[2][]; arr[0] = new int[] {1, 2, 3}; arr[1] = new int[] {4, 5, 6, 7};

  • 第 1 行固定分配 {1, 2, 3}
  • 第 2 行固定分配 {4, 5, 6, 7}

二维数组的遍历

for(int i = 0; i < arr.length(); i++)for (int j = 0; j < arr[i].length(); j++)System.out.print(arr[i][j] + "\t");//制表符
System.out.println();

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词