java-初始化数组

java-初始化数组Java 语言中数组必须先初始化 然后才可以使用 所谓初始化 就是为数组的数组元素分配内存空间 并为每个数组元素赋初始值 能不能只分配内存空间 不赋初始值呢 不行 一旦为数组的每个数组元素分配了内存空间 每个内存空间里存储的内容就是该数组元素的值 即使这个内存空间存储的内容为空 这个空也是一个值 null 不管以哪种方式来初始化数组 只要为数组元素分配了内存空间 数组元素就具有了初始值 初始值的获得有两种形式 一种由系统自动分配 另一种由程序员指定 数组在初始化数组的同时 可以指定数组的大小 也可以

Java 语言中数组必须先初始化,然后才可以使用。所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。

能不能只分配内存空间,不赋初始值呢?

不行,一旦为数组的每个数组元素分配了内存空间,每个内存空间里存储的内容就是该数组元素的值,即使这个内存空间存储的内容为空,这个空也是一个值(null)。不管以哪种方式来初始化数组,只要为数组元素分配了内存空间,数组元素就具有了初始值。初始值的获得有两种形式,一种由系统自动分配,另一种由程序员指定。

type[] arrayName = new int[size]; 
int[] number = new int[5]; number[0] = 1; number[1] = 2; number[2] = 3; number[3] = 5; number[4] = 8; 

如果程序员只指定了数组的长度,那么系统将负责为这些数组元素分配初始值。指定初始值时,系统按如下规则分配初始值。

2)使用 new 指定数组元素的值

使用上述方式初始化数组时,只有在为元素赋值时才确定值。可以不使用上述方式,而是在初始化时就已经确定值。语法如下:

type[] arrayName = new type[]{ 
   1,2,3,4,• • •,值 n}; 

更改例 2 中的代码,使用 new 直接指定数组元素的值。代码如下:

int[] number = new int[]{ 
   1, 2, 3, 5, 8}; 

编写一个 Java 程序,使用数组存放录入的 5 件商品价格,然后使用下标访问第 3 个元素的值。

import java.util.Scanner; public class Test06 { 
    public static void main(String[] args) { 
    int[] prices = new int[5]; // 声明数组并分配空间 Scanner input = new Scanner(System.in); // 接收用户从控制台输入的数据 for (int i = 0; i < prices.length; i++) { 
    System.out.println("请输入第" + (i + 1) + "件商品的价格:"); prices[i] = input.nextInt(); // 接收用户从控制台输入的数据 } System.out.println("第 3 件商品的价格为:" + prices[2]); } } 

初始化二维数组

二维数组可以初始化,和一维数组一样,可以通过 3 种方式来指定元素的初始值。这 3 种方式的语法如下:

type[][] arrayName = new type[][]{ 
   1,2,3,,值 n}; // 在定义时初始化 type[][] arrayName = new type[size1][size2]; // 给定空间,在赋值 type[][] arrayName = new type[size][]; // 数组第二维长度为空,可变化 

假设有一个矩阵为 5 行 5 列,该矩阵是由程序随机产生的 10 以内数字排列而成。下面使用二维数组来创建该矩阵,代码如下:

public class Test11 { 
    public static void main(String[] args) { 
    // 创建一个二维矩阵 int[][] matrix = new int[5][5]; // 随机分配值 for (int i = 0; i < matrix.length; i++) { 
    for (int j = 0; j < matrix[i].length; j++) { 
    matrix[i][j] = (int) (Math.random() * 10); } } System.out.println("下面是程序生成的矩阵\n"); // 遍历二维矩阵并输出 for (int k = 0; k < matrix.length; k++) { 
    for (int g = 0; g < matrix[k].length; g++) { 
    System.out.print(matrix[k][g] + ""); } System.out.println(); } } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176303.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:15
下一篇 2026年3月26日 下午10:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号