Java数组声明、创建、赋值和使用

news2024/11/15 12:23:05

目录

  • 数组的定义
  • 数组的创建
  • 访问数组元素
  • 遍历数组
  • 数组实例
    • 分析

数组的定义

  • 数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。
    数组的5个基本特点:
  1. 长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  2. 其元素的类型必须是相同类型,不允许出现混合类型。
  3. 数组类型可以是任何数据类型,包括基本类型和引用类型。
  4. 数组有索引的:索引从0开始,到 数组.length-1 结束
  5. 数组变量属于引用类型,数组也是对象。

注意:数组变量属于引用类型,数组也是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中存储的。

数组的创建

Java数组是一种数据结构,用于存储相同类型的元素集合。数组的元素可以通过索引来访问。Java中的数组可以是固定大小的,也可以是动态增长的。

在Java中,可以使用以下语法来创建数组:

dataType[] arrayName = new dataType[size];

其中,dataType是数组元素的类型,arrayName是数组的名称,size是数组的大小。

例如,创建一个整型数组并初始化:

int[] myArray = new int[5]; // 创建一个大小为5的整型数组

访问数组元素

要访问数组中的元素,可以使用索引来访问。数组的索引从0开始,可以使用以下语法来访问数组元素:

arrayName[index] = value; // 将value赋给指定索引的元素
int value = arrayName[index]; // 获取指定索引的元素的值

例如,给上面创建的整型数组赋值:

myArray[0] = 10; // 将10赋给第一个元素
myArray[1] = 20; // 将20赋给第二个元素

遍历数组

要遍历数组中的所有元素,可以使用循环结构。可以使用以下语法来遍历数组:

for (int i = 0; i < arrayName.length; i++) {
    // 访问或操作arrayName[i]
}

例如,打印上面创建的整型数组的所有元素:

for (int i = 0; i < myArray.length; i++) {
    System.out.println(myArray[i]); // 打印当前索引的元素的值
}

数组实例

public class TestArray{
    public static void main(String[] args){
                //数组的作用:用来存储相同类型的数据
                //以int类型数据为案例:数组用来存储int类型数据
                //1.声明(定义数组)
                int[] arr; //定义一个int类型的数组,名字叫arr
                //int arr2[];
                //如果数组只声明,没有后续操作,那么这个数组相当于没定义
                //int[] arr3 = null;//空 辨别:数组赋值为null和什么都没有赋值  不一样的效果 
                
                //2.创建
                arr = new int[4];//给数组开辟了一个长度为4的空间
                //编译期声明和创建会被合为一句话: int[] arr = new int[4];
                
                //3.赋值
                arr[0] = 12;
                arr[3] = 47;
                arr[2] = 98;
                arr[1] = 56;
                arr[2] = 66;
                /*
                arr[4] = 93;
                出现异常:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
                --->数组索引越界异常  
                */
        
                //4.使用
                System.out.println(arr[2]);
                System.out.println(arr[0]+100);
                //通过数组一个属性来获取  length 长度
                System.out.println("数组的长度是:"+arr.length);
        }
}

在这里插入图片描述

分析

  1. 声明数组
int[] arr;
  • 这里声明了一个名为arr的整数数组,但此时它还没有被初始化,所以它的长度是0。
  1. 创建数组
arr = new int[4];
  • 这行代码创建了一个长度为4的整数数组,并把数组的引用赋值给arr变量。此时,数组的四个元素都是默认值0。
  1. 赋值
arr[0] = 12;
arr[3] = 47;
arr[2] = 98;
arr[1] = 56;
arr[2] = 66; // 这里覆盖了arr[2]的原有值98
  • 这些行代码给数组的元素赋值。注意,数组的索引是从0开始的,所以arr[3]实际上是数组的第四个元素。
  1. 使用数组
System.out.println(arr[2]); // 输出:66,因为arr[2]被重新赋值为66了
System.out.println(arr[0]+100); // 输出:112,arr[0]的值是12,加100后为112
System.out.println("数组的长度是:"+arr.length); // 输出:数组的长度是:4,因为数组有4个元素

这部分代码展示了如何通过索引访问数组元素以及如何使用数组的length属性。
5. 异常处理

  • 尝试访问或修改数组中不存在的元素(如arr[4] = 93;)会导致ArrayIndexOutOfBoundsException异常,因为有效的索引范围是从0到3。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1430778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[word] word表格两列互换 #学习方法#其他

word表格两列互换 Word表格也常用的数据表&#xff0c;在使用表格时&#xff0c;不管是编辑数据&#xff0c;调整数据&#xff0c;还是删除数据&#xff0c;都是有小技巧的&#xff0c;今天给大家分享word表格两列互换的小技巧&#xff0c;简单又实用。 1、两列互换 那么两列…

太强了,AI数字人从制作到变现一次搞定

AI数字人从制作到变现 如果说GPT类大模型是我们人类的第二大脑&#xff0c;数字人就是我们人类在互联网上的第二个身体。随着 AI 的迅速发展&#xff0c;2024 年 AI 模型开始从大型语言模型向大型视觉模型转变。数字人技术作为其分支之一&#xff0c;正日益成为科技、娱乐、教…

算法42:天际线问题(力扣218题)---线段树

218. 天际线问题 城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度&#xff0c;请返回 由这些建筑物形成的 天际线 。 每个建筑物的几何信息由数组 buildings 表示&#xff0c;其中三元组 buildings[i] [lefti, righti, heig…

中国大学生计算机设计大赛与大数据应用主题赛

中国大学生计算机设计大赛 与大数据应用主题赛 中国大学生计算机设计大赛&#xff08;简称“大赛”或4C&#xff09;始筹于2007年&#xff0c;首届于2008年&#xff0c;已经举办了16届80场赛事。是我国高校面向本科生最早的赛事之一&#xff0c;由教育部计算机类教指委发起举…

Android Button background 失效

问题 Android Button background 失效 详细问题 笔者开发Android项目&#xff0c;期望按照 android:background中所要求的颜色展示。 实际显示按照Android 默认颜色展示 解决方案 将xml的Button 组件修改为<android.widget.Button> 即将代码 <Buttonandroid:l…

有趣的CSS - css loading动画

Loading动画 整体效果核心代码html 代码&#xff1a;css 部分代码&#xff1a; 完整代码如下html 页面&#xff1a;css 样式&#xff1a;页面渲染效果&#xff1a; 整体效果 这个 Loading 效果主要用 css3 的 animation 属性配合 border 属性来实现的。 可以用作在下拉列表 Loa…

如何写好论文——(14)写作时如何定义和描述研究目标

当我们有了一个具体的细化的研究目标之后&#xff0c;我们需要把它清晰准备描述给我们的读者&#xff0c;并用它来指导我们的研究活动。 一、有方向 我们所选择的具体的研究目标一定要有明确的目标指向&#xff0c;那就是我们的长远目标。 二、有边界 我们要明确自己的研究…

在WORD中设置公式居中编号右对齐设置方式

1 软件环境 Office Microsoft Office LTSC 专业增强版2021 2 最终效果 3 操作步骤 编辑公式&#xff1b;光标定位到公式的最后&#xff08;不是行的最后&#xff09;&#xff1b;输入#编号光标定位在公式最后&#xff08;不是行的最后&#xff09;&#xff0c;按Enter键回车…

【计算机视觉】目标检测 |滑动窗口算法、YOLO、RCNN系列算法

一、概述 首先通过前面对计算机视觉领域中的卷积神经网络进行了解和学习&#xff0c;我们知道&#xff0c;可以通过卷积神经网络对图像进行分类。 如果还想继续深入&#xff0c;会涉及到目标定位(object location)的问题。在图像分类的基础上(Image classification)的基础上…

JAVA方法引用:

方法引用的出现原因在使用Lambda表达式的时候&#xff0c;我们实际上传递进去的代码就是一种解决方案&#xff1a;拿参数做操作那么考虑一种情况&#xff1a;如果我们在Lambda中所指定的操作方案&#xff0c;已经有地方存在相同方案&#xff0c;那是否还有必要再写重复逻辑呢&a…

SpringBoot整合ElasticSearch7.6.2入门

一、前期准备 ElasticSearch作为基于Lucene的一款分布式全文检索服务器&#xff0c;可以通过暴露restfulAPI来操作索引、搜索&#xff0c;具备有实时搜索、稳定、可靠、快速、安装使用方便等特点&#xff0c;是目前使用最广泛的企业级搜索引擎。 本期的目的就是——在springBoo…

前端工程化之:webpack1-13(内置插件)

目录 一、内置插件 1.DefinePlugin 2.BannerPlugin 3.ProvidePlugin 一、内置插件 所有的 webpack 内置插件都作为 webpack 的静态属性存在的&#xff0c;使用下面的方式即可创建一个插件对象&#xff1a; const webpack require("webpack")new webpack.插件…

线性表 —— 链表

与数组对比 ◼ 数组&#xff1a;  要存储多个元素&#xff0c;数组&#xff08;或选择链表&#xff09;可能是最常用的数据结构。  我们之前说过&#xff0c;几乎每一种编程语言都有默认实现数组结构。 ◼ 但是数组也有很多缺点&#xff1a;  数组的创建通常需要申请一…

【EVP】Explicit Visual Prompting for Low-Level Structure Segmentations

目录 &#x1f347;&#x1f347;0.简介 &#x1f337;&#x1f337;1.研究动机 &#x1f34b;&#x1f34b;2.主要贡献 &#x1f353;&#x1f353;3.网络结构 &#x1f36d;3.1整体结构 &#x1f36d;3.2高频分量计算 &#x1f36d;3.3显示视觉提示EVP &#x1f342;&…

数学电路与电子工程2(MEE)—— 时序电路的寄存器和工作频率

1. 基本的数字逻辑存储元件&#xff1a;D锁存器和D触发器 D锁存器&#xff08;Verrou ou D latch&#xff09;&#xff0c;它是一个简单的存储设备&#xff0c;可以在使能信号&#xff08;E&#xff09;处于活动状态时存储一位数据。当E为高电平时&#xff0c;D锁存器的输出Q会…

React | Center 组件

在 Flutter 中有 Center 组件&#xff0c;效果就是让子组件整体居中&#xff0c;挺好用。 React 中虽然没有对应的组件&#xff0c;但是可以简单封装一个&#xff1a; index.less .container {display: flex;justify-content: center;align-items: center;align-content: ce…

java设计模式:策略模式

在平常的开发工作中&#xff0c;经常会用到不同的设计模式&#xff0c;合理的使用设计模式&#xff0c;可以提高开发效率&#xff0c;提高代码质量&#xff0c;提高代码的可拓展性和维护性。今天来聊聊策略模式。 策略模式是一种行为型设计模式&#xff0c;运行时可以根据需求动…

Stable diffusion使用和操作流程

Stable Diffusion是一个文本到图像的潜在扩散模型,由CompVis、Stability AI和LAION的研究人员和工程师创建。它使用来自LAION-5B数据库子集的512x512图像进行训练。使用这个模型,可以生成包括人脸在内的任何图像,因为有开源的预训练模型,所以我们也可以在自己的机器上运行它…

Windows下MySQL的界面安装

华子目录 下载MySQL安装MySQL配置MySQL配置环境变量检验MySQL是否安装成功 下载MySQL 首先我们在MySQL的官方下载MySQL https://www.mysql.com 点击download&#xff0c;开始下载 安装MySQL 下载完成后&#xff0c;我们双击msi文件 再点击next 之后我们先勾选I acc…

leetcode 1.两数之和(C++)DAY1(待补充哈希表法)

文章目录 1.题目描述示例提示 2.解答思路3.实现代码结果4.总结 1.题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&…