java-初始化数组

news/2024/11/7 15:28:51/

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

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

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

数组在初始化数组的同时,可以指定数组的大小,也可以分别初始化数组中的每一个元素。在 Java 语言中,初始化数组有以下 3 种方式。
1)使用 new 指定数组大小后进行初始化
使用 new 关键字创建数组,在创建时指定数组的大小。语法如下:

type[] arrayName = new int[size];

创建数组之后,元素的值并不确定,需要为每一个数组的元素进行赋值,其下标从 0 开始。
例 2
创建包含 5 个元素的 int 类型的数组,然后分别将元素的值设置为 1、2、3、5 和 8。代码如下:

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

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

数组元素的类型是基本类型中的整数类型(byte、short、int 和 long),则数组元素的值是 0。
数组元素的类型是基本类型中的浮点类型(float、double),则数组元素的值是 0.0。
数组元素的类型是基本类型中的字符类型(char),则数组元素的值是‘\u0000’。
数组元素的类型是基本类型中的布尔类型(boolean),则数组元素的值是 false。
数组元素的类型是引用类型(类、接口和数组),则数组元素的值是 null。

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();}}
}

http://www.ppmy.cn/news/806769.html

相关文章

pytorch tensor 初始化_PyTorch简明笔记[1]-Tensor的初始化和基本操作

听麻麻说,偷偷收藏而不感谢是不礼貌的,至少应该点个赞~我觉得麻麻说的对! 不断地被人安利PyTorch,终于忍不住诱惑决定入坑了。 当初学习TensorFlow的时候,没有系统性地学习。之前TF的英文官网一直看不了,而中文版的文档又很烂,导致学起来一直不那么爽,每次搭建模型的时…

DMA初始化设置

DMA(Direct Memory Access) ,即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。 DMA技术的重要性在于,利用它进行数据传送时不需要CPU的参与。每台电脑主机板上都有DMA控制器,通常计算机对其编程,并用一…

c语言中初始化的主要作用,C语言初始化——栈的初始化

栈是一种具有后进先出性质的数据组织方式,也就是说后存放的先取出,先存放的后取出。栈底是第一个进栈的数据所处的位置,栈顶是最后一个进栈的数据所处的位置。 1.满栈与空栈 根据SP指针指向的位置,栈可以分为满栈和空栈 满栈:当堆栈指针SP总是指向最后压入堆栈的数据。 空…

ocr初始化失败怎么办_应用程序正常初始化失败

网民使用电脑中经常遇到因各种原因引起应用程序正常初始化失败&#xff0c;但是网上的方法都很难解决问题&#xff0c;金山安全专家指出&#xff0c;现在很多病毒木马喜欢劫持应用程序和系统文件&#xff0c;会导致出现出错的&#xff0c;请立刻下载金山卫士进行木马查杀。 应用…

云服务器初始化失败怎么办,提示交互式登录进程初始化失败是什么原因?解决方法步骤教程...

平常我们经常会在电脑上安装和卸载应用软件&#xff0c;期间就会遇到win7系统提示交互式登录进程初始化失败这样的事情&#xff0c;相信有太多的用户是不愿意遇到win7系统提示交互式登录进程初始化失败这种情况的&#xff0c;想请高手帮忙解决win7系统提示交互式登录进程初始化…

Django_设置和读取cookie

设置cookie 在响应对象中使用set_cookie方法设置cookie from django.http import HttpResponsedef set_cookie(request):rsp HttpResponse("set cookie")rsp.set_cookie("set_cookie", "hello python", max_age3600)return rsp 注&#xff1…

联想服务器系统初始化失败怎么回事,登陆进程初始化失败原因及解决办法

有时你即使是正常安装或重装系统也是会出现问题的&#xff0c;比如就有用户遇到“登陆进程初始化失败”错误&#xff0c;从而无法登录系统。那么登陆进程初始化失败是什么原因呢?以及登陆进程初始化失败有什么解决办法呢?下面小编就来跟大家介绍登陆进程初始化失败原因及解决…

windows初始化所有设置

windows初始化所有设置 文章目录 windows初始化所有设置操作流程msconfig 操作流程 winR&#xff0c; 输入msconfig常规—正常启动&#xff0c; 服务—全部启用–应用 msconfig MSConfig是用于在Windows操作系统中配置软件&#xff0c;设备驱动程序&#xff0c;引导参数和启动…