Java基础:数组的声明,循环,赋值,拷贝。

数组的声明

一般有两种形式的声明:

int[] a;
int a[];

这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号。

声明一个数组,并没有将a正在的初始化为一个数组。

下面,语句就是声明了一个可以存储100个整数的数组。可以根据你的实际需求,更换int类型为你需要的数据类型。

int[] a=new int[100];

其中,数字数组的初始化默认为0。boolean为false。对象数组为null,如String类型的数组。

数组的循环

数组中的每个元素都有一个下标,下标从0开始,所以下标最大为数组的长度-1。

当我们需要依次输出数组中的每个元素时,就需要用到循环。

for(int i=0;i<100;i++)
{System.out.println(a[i]);      
}

除了常规的循环,还有一种Java中的增强for循环,就相当于C#中的foreach,只是语法稍有不同。

for(int item:a)
{System.out.println(item);  
}

其中,int为遍历对象的类型,item为自定义的一个名字,冒号后面的a就是你遍历的对象,数组a。

增强for循环的用途很多,而且不用在意数组的下标。

数组的赋值

单单只声明数组的话,数组的元素的值都只是默认值,下面的方法可以在声明的同时初始化它们的值。

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

这种声明,不需要手动限制它们的长度,它会根据值得个数,自动设置长度。

此时,a.length=5;

除了刚声明就给数组初始化外。还有一种可以方法可以重新初始化一个数组。

a=new int[] {6,7,8,9,10};

实际情况下,很少说直接初始化一个数组的值,然后只用这些值。

一般情况下,需要声明后,根据实际的情况,给数组赋值。

如果是单独赋值就是a[i]=n;就行了。

还可以使用上面的for循环,给数组循环赋值。

数组的拷贝

Java允许将一个数组变量拷贝给另一个数组变量。

值得注意的是,拷贝不是单纯的把a的值复制一份然后给b,而是a和b引用内存当中同一个数组。

大家可以把内存理解成很多个房间,变量名就是门牌号。就相当于a和b两个门牌号指向同一个房间。

int[] a={1,2,3,4,5};
int[] b=a;

但是这种拷贝有种缺点,就是如果a[i]变了,对应的b[i]也会变。

如果你只是单纯的想要a中的值,可以使用copyOf方法。

int[] b=Arrays.copyOf(a,a.lenght);

 

转载于:https://www.cnblogs.com/lbhym/p/11151322.html

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

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

相关文章

IEEE 发布年终总结,AI 奇迹不再是故事

来源&#xff1a;AI科技大本营&#xff08;ID:rgznai100&#xff09;编译&#xff1a;禾木木2021 年&#xff0c;人工智能奇迹不再只是故事&#xff01;人工智能正在迅速融入各行各业&#xff0c;IEEE Spectrum 总结了 2021 年 10 篇最受读者欢迎的 AI 文章&#xff0c;按时间排…

JavaWeb学习笔记-目录(待完成)

JavaWeb学习笔记-目录&#xff08;待完成&#xff09; 01-基础加强&#xff08;注解反射&#xff09; 02-mysql基础 03-mysql约束 04-mysql多表事务 05-jdbc 06-jdbc连接池JDBCTemplate 07-html 08-css 09-js基础 10-js高级 11-bootstrap 12-xml 13-toncat-servel…

我们正处于新科学革命的起点 | 学界热议AI for Science

来源&#xff1a;科学网编辑&#xff1a;宗华排版&#xff1a;李言作者&#xff1a;赵广立我们正处于新科学革命的起点▲ 北京大学、普林斯顿大学教授 鄂维南数百年来&#xff0c;以数据驱动的开普勒范式和以第一性原理驱动的牛顿范式是科学研究的两大基本范式。当下正在蓬勃兴…

01-object类,常用API

声明&#xff1a;此博客来自于黑马程序员学习笔记&#xff0c;并非商用&#xff0c;仅仅是为了博主个人日后学习复习用&#xff0c;如有冒犯&#xff0c;请联系qq208820388立即删除博文&#xff0c;最后&#xff0c;来跟我一起喊黑马牛逼黑马牛逼黑马牛逼 01【Object类、常用A…

新型人工突触可用于高度扩展的类脑计算

来源&#xff1a;科技日报作者&#xff1a;张梦然科技日报北京12月28日电 &#xff08;记者张梦然&#xff09;据最新一期美国化学会期刊《应用材料与界面》报道&#xff0c;新加坡科技与设计大学&#xff08;SUTD&#xff09;研究团队开发出一种基于二维&#xff08;2D&#x…

03-list,set,数据结构,Collections

声明&#xff1a;此博客来自于黑马程序员学习笔记&#xff0c;并非商用&#xff0c;仅仅是为了博主个人日后学习复习用&#xff0c;如有冒犯&#xff0c;请联系qq208820388立即删除博文&#xff0c;最后&#xff0c;来跟我一起喊黑马牛逼黑马牛逼黑马牛逼 【List、Set、数据结…

NodeJs(一)

NodeJs简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。node.js 使用了一个事件驱动、非阻塞式 I/O 的模型&#xff0c;使其轻量又高效。 中文文档&#xff1a;http://nodejs.cn/api/ 环境变量 当我们在命令行窗口打开一个文件&#xff0c;或调用一个程序时&a…

O'Reilly创始人谈Web 3.0:我们将再次经历1999年互联网泡沫时期

来源&#xff1a;巴比特资讯原文作者&#xff1a;OReilly创始人Tim O’Reilly最近有很多关于 Web3 的讨论&#xff0c;作为在17年前定义“Web 2.0”的人&#xff0c;我经常被要求发表关于Web3的评论。但我通常会避免去这样做&#xff0c;因为大多数对未来的预测都被证明是错误的…

Liunx之nginx代理

一、代理 正向代理 正向代理&#xff0c;也就是传说中的代理,他的工作原理就像一个跳板&#xff08;VPN&#xff09;&#xff0c;简单的说&#xff1a; 我是一个用户&#xff0c;我访问不了某网站&#xff0c;但是我能访问一个代理服务器&#xff0c;这个代理服务器呢&#xff…

23-redis

23-redis 文章目录23-redis今日内容Redis1. 概念1.1.什么是NOSQL1.1.1. NOSQL和关系型数据库比较1.1.2. 非关系型数据库的优势&#xff1a;1.1.3. 关系型数据库的优势&#xff1a;1.1.4. 总结1.2.主流的NOSQL产品1.3 什么是Redis1.3.1 redis的应用场景2. 下载安装3. 命令操作1.…

大科学时代,指数级增长的科学仍然拥有前所未有的朝气与活力

湛庐文化出品 2021年12月来源&#xff1a;集智俱乐部作者&#xff1a;王大顺、AL. Barabsi译者&#xff1a;贾韬、汪小帆 编辑&#xff1a;邓一雪 导语科学家什么时候能够迎来事业巅峰&#xff1f;科学创新的生命周期是多久&#xff1f;职业生涯中出现突破性进展的迹象是否存在…

7 文件上传

#文件上传app.route("/file",methods[GET,POST])def file(): if request.method POST: file_v request.files.get(F) file_v.save(file_v.filename) #保存文件 file_v.filename是当前保存的文件名 return render_template("file.ht…

05-异常,线程

声明&#xff1a;此博客来自于黑马程序员学习笔记&#xff0c;并非商用&#xff0c;仅仅是为了博主个人日后学习复习用&#xff0c;如有冒犯&#xff0c;请联系qq208820388立即删除博文&#xff0c;最后&#xff0c;来跟我一起喊黑马牛逼黑马牛逼黑马牛逼 【异常、线程】 文章…

元宇宙加速近眼显示产业化

来源&#xff1a;中国电子报今年以来&#xff0c;“元宇宙”概念持续升温&#xff0c;被视为元宇宙入口的AR/VR设备也被推至风口浪尖。AR/VR硬件成为国际科技巨头抢食元宇宙蛋糕的重要一环&#xff0c;苹果、Meta、三星、微软、任天堂纷纷宣布布局AR/VR硬件设备的计划。行业机构…

对xml操作的主要方法[轉]

set objDomserver.CreateObject("MicroSoft.XMLDom") #取得xml数据#方法1 取得xml文件的xml数据 objDom.load("c:\test.xml")#方法2 取得xml数据串的数据 objDom.loadxml("<people><man name"sd"/></people>") #…

centos系统部署rancher1.6版本并部署服务

1. centos上部署docker. 请参考 博客 2. 用docker安装rancher1.6 sudo docker run -d -v /mnt/rancher/db:/var/lib/mysql --restartunless-stopped -p 8080:8080 rancher/server3.浏览器登录做设置 3.1 浏览器打开 1.117.92.32:8080 #直接就登录了 3.2 第一次进入&am…

喻国明:“元宇宙”背后的未来图景

近来&#xff0c;互联网领域最受追捧的热点非“元宇宙”莫属。国内外各大科技公司纷纷布局相关领域、加码相关赛道。普华永道预计&#xff0c;元宇宙市场规模在2030年将达到1.5万亿美元。可以说&#xff0c;一时间&#xff0c;“元宇宙”这个概念在科技圈和资本圈获得了无出其右…

JVM学习笔记-01-JVM的学习方式

JVM学习笔记-01-JVM的学习方式 文章目录JVM学习笔记-01-JVM的学习方式JVM探究最新JVM教程IDEA版【Java面试速补篇】-01-JVM的学习方式 JVM探究 请你谈谈对JVM的理解&#xff1f;java8虚拟机和之前的变化更新?什么是OOM&#xff0c;什么是栈溢出StackOverFlowError?怎么分析…

android一体机-迅为10.1寸用于售货机、人机界面、自动终端、触摸控制

迅为10.1寸触控一体机工业人机界面HMI电容显示屏嵌入式工控触摸屏 行业应用&#xff1a;用于售货机、人机界面、自动终端、触摸控制系统等 触摸屏类型&#xff1a;电容屏&#xff08;五点触摸&#xff09;分辨率&#xff1a;1024*600 RGB信号 内置&#xff1a;WIFI/蓝牙、4G全网…

年终盘点:2021年AI领域值得关注的十件事

来源&#xff1a;科技日报几年前提到人工智能&#xff0c;人们的第一反应是全球流行、网络热门、预见未来&#xff0c;但如今&#xff0c;人工智能早已褪去神秘色彩&#xff0c;语音识别、图像识别、智能阅片、病毒测序、药物设计……皆已成为唾手可得的应用。尤其值得一提的是…