Java创建动静初始化和多维数组

简介: Java创建动静初始化和多维数组

  数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化。下面针对这三种方式分别讲解。

1. 静态初始化

除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

静态初始化数组

int[] a = { 1, 2, 3 };// 静态初始化基本类型数组;
Man[] mans = { new Man(1, 1), new Man(2, 2) };// 静态初始化引用类型数组;

2.动态初始化

     数组定义与为数组元素分配空间并赋值的操作分开进行。

动态初始化数组:

int[] a1 = new int[2];//动态初始化数组,先分配空间;
a1[0]=1;//给数组元素赋值;
a1[1]=2;//给数组元素赋值;

3.数组的默认初始化

     数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

数组的默认初始化:

int a2[] = new int[2]; // 默认值:0,0
boolean[] b = new boolean[2]; // 默认值:false,false
String[] s = new String[2]; // 默认值:null, null

4.多维数组

多维数组可以看成是数组的数组,二维数组是最基本的多维数组。

要创建多维数组,请将每个数组放在其自己的一组方括号内。

下面是一个二维数组的例子:

int[][] num = {{1,2,3},{4,5,6}};

在上面的例子中,声明了一个有两个数组作为其元素的数组。

    0   1   2    上面的012为索引值,不是数组内的

0   1   2   3

1   4   5   6

要访问二维数组中的元素,需要提供两个索引,一个用于数组,另一个用于该数组中的元素。

下面是一个例子,用于访问第二个num数组中的第一个元素。两个位置分别是行列

int x = num[1][0];
System.out.println(x);
// 输出 4

提示:数组的两个索引称为行索引和列索引。

多维数组可以看成是数组的数组,二维数组是最基本的多维数组。

要创建多维数组,请将每个数组放在其自己的一组方括号内。

下面是一个二维数组的例子:

int[][] num = {{1,2,3},{4,5,6}};

在上面的例子中,声明了一个有两个数组作为其元素的数组。

要访问二维数组中的元素,需要提供两个索引,一个用于数组,另一个用于该数组中的元素。

下面是一个例子,用于访问第二个num数组中的第一个元素。

int x = num[1][0];
System.out.println(x);
// 输出 4

提示:数组的两个索引称为行索引和列索引。

在 Java 中,你可以使用同一对方括号来获取并设置多维数组的元素。

下面是一个例子:

int[][] myArray = {{1, 2, 3}, {4}, {5, 6, 7}};
myArray[0][1] = 30;
int x = myArray[1][0]; 
// 输出 4

上面的二维数组包含三个数组。第一个数组有三个元素,第二个数组有一个元素,第三个数组有三个元素。

提示

在 Java 中,你可以设置多维数组,可以在数组中无限嵌套数组。但是,这将极为不好维护。

请记住,所有数组成员类型必须是相同的。

目录
相关文章
|
11月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
846 2
|
6月前
|
存储 缓存 Java
《从头开始学java,一天一个知识点》之:多维数组与常见操作
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问"`a==b`和`equals()`的区别",大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,每篇都有可运行的代码标本。上篇《一维数组》驯服单列数据,下篇剧透《字符串处理》解锁文本核武器。
79 12
|
8月前
|
存储 Java C++
Java数组:静态初始化与动态初始化详解
本文介绍了Java中数组的定义、特点及初始化方式。
446 12
|
10月前
|
Java
Java 静态变量的初始化顺序
【10月更文挑战第15天】了解 Java 静态变量的初始化顺序对于正确编写和维护代码至关重要。通过深入理解初始化顺序的原理和细节,我们可以更好地避免潜在的问题,并提高代码的质量和可靠性。
|
11月前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
214 3
|
11月前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
289 1
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
存储 Java
如何在 Java 中初始化二维 ArrayList
【8月更文挑战第23天】
274 1
|
存储 JavaScript Java
Java中未被初始化的字符串打印出“null”?
在Java中,未初始化的`String`变量默认值为`null`。打印此类变量时输出“null”,是因为`PrintStream`类中的`print`方法特别处理了`null`值,将其转换为字符串“null”。从JDK 17开始,`println`方法通过`String.valueOf`间接实现相同功能。当拼接包含`null`的字符串时,如`s1 + "BLACK"`,结果为“nullBLACK”,这是因为字符串构建过程中`StringBuilder`的`append`方法将`null`转换为“null”。
181 2
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis