关于java数组的声明及创建

关于java数组的声明及创建

我们在之前的文章中,了解方法的时候,都涉及到了数组的知识,但是没有放在前面给大家去深入,我们本篇文章中,先初步了解一下数组,数组的概念,数组的定义及创建等,还是秉持理解学习的思想,结合实际的代码去深入😀

数组的定义

  • 数组是一个相同类型数据的有序集合。

这句话大家可以理解为一个足球队,或者篮球队,每个队员都有自己的编号,比如NBA的库里是30号😀

一个标准的篮球队是由12个人,12个人每个人都有自己的编号,12个人组成一个数组。

  • 数组描述的相同类型的若干数据。
  • 数组一定是按照先后顺序排列组合而成。
  • 定义变量可以是多个,但是定义数组就一个。
public class Demo
{public static void main(String[] args){int a =1;//变量需要一个一个去定义int b =2;int[] num = new int[10];//数组定义代表一组数。具体的方法下文会说明。}
}

数组的声明及创建

  • 首先,必须声明数组变量,在程序中才可以使用数组。
  • 数据类型[] + 数组名;数据类型 + 数组名字[];
  • 上述的两种声明方式都是可以的,但是后边的那种是C和C++常用的,所以我们在声明的时候尽量用前面那种😊。
public class Demo
{public static void main(String[] args){    int[] num;//常用int num1[];//C和C++}
}
  • 数组的创建:
  • 数组名字 = new 数据类型[范围];
public class Demo
{public static void main(String[] args){    int[] num;num = new int[10];//存放10个int类型的数字,创建一个数组}
}
  • 所以我们可以直接简化,直接声明+创建
public class Demo
{public static void main(String[] args){    int[] num = new int[10];//存放10个int类型的数字,创建一个数组    }
}

数组赋值

  • 我们给数组赋值一下,但是先要了解一下数组中元素的概念。
  • 每个数据在数组中都称之为数组元素,每个元素都可以通过下标去访问。
  • 数组中的元素是通过索引访问的,数组的索引从0开始。
public class Demo
{public static void main(String[] args){    int[] num = new int[10];nums[0]=1;//数组的索引从0开始nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=5;nums[5]=6;nums[6]=7;nums[7]=8;nums[8]=9;nums[9]=100;}
}
  • 我们for循环来计算一下所有元素的合,这里就引入了一个获取数组长度的用法。
  • array.length 获取数组的长度。
public class Demo
{public static void main(String[] args){    int[] num = new int[10];nums[0]=1;//数组的索引从0开始nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=5;nums[5]=6;nums[6]=7;nums[7]=8;nums[8]=9;nums[9]=100;int sum=0;//声明总和变量,初始值是0for(int i=0;i<nums.length;i++)//判断i和数组长度的大小{sum=sum+num[i];}System.out.println("总和为:"+sum);}
}

因为我们定义创建数组的时候,给的范围是10,所以数组的长度就是10,但是由于从0开始,所以排序为0-9。

我们分解一下for循环中的执行语句 sum=sum+num[i];

1、当 i = 0 的时候,sum=0+num[0] = 0+1=1

2、循环,i++,i = 1 的时候,sum = 1 + num[1] = 1 + 2 = 3

3、循环,i++,i = 2 的时候,sum = 3 + num[2] = 3 + 3 =6 依次往下循环,直到结束。

我们运行一下上述的代码,可以看到执行结果是

总和为:145进程结束.....

理解数组

  • 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  • 其元素必须是相同类型,不允许出现混合类型。
  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
  • 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
  • 数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的

我们在后面的文章中,会说明堆,栈等知识,数组的基本声明,创建对象,用法,就是以上的内容,大家可以多写代码反复的理解一下😀

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

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

相关文章

Spring中的工厂类、bean的作用范围和生命周期

1.Spring中的工厂类 1.1ApplicationContext ClassPathXmlApplicationContext&#xff1a;加载类路径下 Spring 的配置文件 FileSystemXmlApplicationContext&#xff1a;加载本地磁盘下 Spring 的配置文件 1.1.1service ApplicationContext&#xff1a;只要一读取配置文件…

PyTorch|PyTorch张量解释

神经网络中的输入、输出和转换都使用张量表示&#xff0c;因此&#xff0c;神经网络编程大量使用张量&#xff0c;张量是我们在 PyTorch 中编程神经网络时将使用的数据结构。 关于张量及其维数的简要说明&#xff0c;以及术语&#xff1a; 你有时会看到一个称为向量的一维张量…

详解白帽子以及红队、蓝队和紫队

企业继续数字化&#xff0c;其关键基础设施和运营扩大了攻击面&#xff0c;暴露于各种威胁途径的面前。为了解决这个问题&#xff0c;企业领导者认识到拥有内部专家的重要性。考虑到网络威胁领域不断发展的态势&#xff0c;企业领导者可以利用道德黑客以及红队、蓝队和紫队的工…

[论文分享]TimesURL:通用时间序列表示学习的自监督对比学习

论文题目&#xff1a;TimesURL: Self-supervised Contrastive Learning for Universal Time Series Representation Learning 论文地址&#xff1a;https://arxiv.org/abs/2312.15709 代码地址&#xff1a;暂无 摘要 学习适用于各种下游任务的通用时间序列表示具有挑战性&…

长虹智能电视ZLS59Gi机芯刷机方法及刷机固件,附进维修模式方法

适用机芯&#xff1a;ZLS59Gi 适配电视机型&#xff1a; 55Q1F、58Q1F、32Q1F、43Q1F、50Q1F、40Q1F、49Q1F 刷机说明&#xff1a; 1.先确认电视机芯是否是表中所列&#xff0c;电视刷机机芯必须是此贴中所介绍的机芯&#xff0c;否则不可刷入。 2中途不能拔插U盘和断电&a…

Springboot整合RocketMQ 基本消息处理

目录 1. 同步消息 2. 异步消息 3. 单向消息 4. 延迟消息 5. 批量消息 6. 顺序消息 7. Tag过滤 导入依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-spring-boot-starter</artifactId></dependency> …

【Spark精讲】性能优化:并行度

Reduce端并行度 RDD&#xff1a; 参数&#xff1a;spark.default.parallelism手动&#xff1a;groupByKey(10)&#xff0c;10即为并行度Spark SQL&#xff1a; 参数&#xff1a;spark.sql.shuffle.partitionsHive on Spark&#xff1a; 1.控制reduce个数的方式与参数 1.1.首先…

基于textcnn做微博情感文本分析

基于TextCNN&#xff08;Text Convolutional Neural Network&#xff09;进行微博情感文本分析是一种常见的文本分类方法。TextCNN利用卷积神经网络&#xff08;CNN&#xff09;结构来处理文本序列数据&#xff0c;通过卷积和池化操作捕捉文本中的局部特征&#xff0c;然后将这…

14:00面试,14:08就出来了,问的问题过于变态了。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到10月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

机器学习原理到Python代码实现之LinearRegression

Linear Regression 线性回归模型 该文章作为机器学习的第一篇文章&#xff0c;主要介绍线性回归模型的原理和实现方法。 更多相关工作请参考&#xff1a;Github 算法介绍 线性回归模型是一种常见的机器学习模型&#xff0c;用于预测一个连续的目标变量&#xff08;也称为响应变…

Spring的bean的生命周期!!!

一.单例模式 单例&#xff1a;[启动容器]--->通过构造方法&#xff08;创建对象&#xff09;---->调用set方法&#xff08;注入&#xff09;--->调用init方法&#xff08;初始化&#xff09;----[容器关闭]----->调用destroy方法&#xff08;销毁&#xff09; app…

死锁的处理策略“检测和解除”-第三十九天

目录 前言 死锁的检测 数据结构资源分配图 基于“图”检测死锁 可以消除所有边 不能消除所有边 结论 死锁定理 死锁的解除 本节思维导图 前言 如果系统中既不采取预防死锁的措施&#xff0c;也不采取避免死锁的措施&#xff0c;系统就很可能发生死锁&#xff0c;在这种…

西电期末1019.校验和计算

一.题目 二.分析与思路 难点在于逐个取出数据的每一位&#xff0c;我们编写f函数&#xff0c;使用了一个while函数&#xff0c;每次循环中用取余的运算符找到数据的个位累加&#xff0c;再将n/10&#xff0c;如此n便被去除了个位&#xff0c;十位就成了新的个位&#xff0c;最…

案例精选|淄博绿能燃气工程有限公司日志审计系统建设方案

淄博绿能燃气工程有限公司&#xff0c;成立于1994年&#xff0c;前身为淄博市煤气公司管道液化气分公司。公司业务主要涉及天然气、液化气等市政工程施工及城镇燃气供应等领域&#xff0c;具有市政公用工程施工总承包二级资质&#xff0c;《压力管道安装许可证》压力管道安装GB…

CodeFormer安装记录

1、Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决方案: systemctl daemon-reload systemctl restart docker.service 2、Error response from daemon: could not select device driver ““ with capabiliti…

利用Embedding优化搜索功能

我们继续用Gemini学习LLM编程之旅。 Embedding是一种自然语言处理 (NLP) 技术&#xff0c;可将文本转换为数值向量。Embedding捕获语义含义和上下文&#xff0c;从而导致具有相似含义的文本具有更接近的Embedding。例如&#xff0c;句子“我带我的狗去看兽医”和“我带我的猫去…

LeetCode---378周赛

题目列表 2980. 检查按位或是否存在尾随零 2981. 找出出现至少三次的最长特殊子字符串 I 2982. 找出出现至少三次的最长特殊子字符串 II 2983. 回文串重新排列查询 一、检查按位或是否存在尾随零 这题和位运算有关&#xff0c;不是很难&#xff0c;题目要求至少有两个数的…

Dubbo相关面试题及答案(2024)

1、Dubbo的基本架构是怎样的&#xff1f; Dubbo是一个高性能的Java RPC&#xff08;远程过程调用&#xff09;框架&#xff0c;它的基本架构主要由以下几个核心组件构成&#xff1a; Provider&#xff08;服务提供方&#xff09;&#xff1a; Provider是指暴露服务的服务提供者…

案例073:基于微信小程序的智慧旅游平台开发

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

用贪心算法编程求解任务安排问题

题目&#xff1a;用贪心算法编程求解以下任务安排问题 一个单位时间任务是恰好需要一个单位时间完成的任务。给定一个单位时间任务的有限集S。关于S的一个时间表用于描述S中单位时间任务的执行次序。时间表中第1个任务从时间0 开始执行直至时间1 结束&#xff0c;第2 个任务从时…