欢迎大家来到IT世界,在知识的湖畔探索吧!
序
学习Java,尤其是自学Java,是一条艰辛且长的道路,所幸我们的Java开发基础教程今天已经来到了第五讲——Java数组的部分,知识逐步进入深水区。
需要巩固之前知识点的小伙伴,可以点击以下超链:
- 老K玩代码:全网最完整的免费java教程讲义系列(一)——java配置和安装
- 老K玩代码:全网最完整的免费java教程讲义系列(二)——java数据和变量
- 老K玩代码:全网最完整的免费java教程讲义系列(三)——java的运算符
- 老K玩代码:全网最完整的免费java教程讲义系列(四)——java的流程控制
接下来,我们就开始新一节的内容:
一、数组的概念
数组和之前介绍过的基础型变量不同,它属于引用型变量。
数据型式 |
数据类型 |
说明 |
基础变量 |
byte, short, int, long, float, double, char, boolean |
变量会存储一个数值,这个数值就是我们需要的数值或字符编码; |
引用变量 |
String, 数组, 接口, 类 |
变量会存储一个数值,这个数值表示内存地址,我们需要的值被保存在这个内存地址里。 |
补充说明:
- 当多个基础变量指向同一个值的时候,变更其中一个变量的值不会影响和改变其它变量;
- 当多个引用变量指向同一个值的时候,改变其中一个变量的值会导致所有指向该地址的值发生改变。
二、声明和赋值
1. 声明数组
型式 |
示例 |
数据类型[] 数组名 |
int[] intArray; |
数据类型 数组名[] |
int intArray[]; |
2. 创建数组
型式 |
示例 |
new 数据类型[数据长度] |
new int[5]; |
3. 赋值数组
结合声明和创建来完成对数组的赋值。
int[] intArray = {1, 2, 3, 4, 5};
欢迎大家来到IT世界,在知识的湖畔探索吧!
4. 数组索引
数组名[索引值],续接上行代码中的intArray变量为例,intArray[1]的输出值应该是2。
说明:java的索引值从0开始计数,即0表示第一个值,1表示第二个值,依此类推。具体原理可以参考我之前写的文章:为什么计算机语言中的下标都是从0开始的?
三、数组的应用
请先将下述代码复制到IDEA并运行,查看相应结果:
欢迎大家来到IT世界,在知识的湖畔探索吧!public class ArrayDemo { public static void main(String[] args) { char[] ch = {'a', 'b', 'c', 'd'}; System.out.println("数组ch的长度为:" + ch.length); System.out.println("数组ch的第3个元素为:" + ch[2]); System.out.println("数组ch的最后一个元素为:" + ch[ch.length - 1]); System.out.print("遍历数组ch:"); for (int i = 0; i < ch.length; i++) { System.out.print(ch[i] + " "); } } }
- 可以使用方法length获取数组的长度;
- 获取数组最后元素可以使用ch.leangth-1作为索引;
- 遍历数组需要使用for循环语句。
增强型for循环
即enhanced for loop,是专门为数组类数据产生的for循环方法,可以直接获取数组元素而无需索引,书写简洁明了。
书写规范:数据类型 元素名: 数组名
上例中的for循环可以表示为,起到一样的效果:
for (char c : ch) { System.out.print(c + " "); }
四、 二维数组
1. 声明数组
型式 |
示例 |
数据类型[][] 数组名 |
int[][] intArray; |
数据类型 数组名[][] |
int intArray[][]; |
数据类型[] 数组名[] |
int[] intArray[]; |
2. 创建数组
型式 |
示例 |
说明 |
new 数据型式[n][m] |
new int[3][4] |
生成一个3行4列的二维数组 |
new 数据型式[n][] |
new int[3][] |
生成一个列数待定的3行数组 |
3. 赋值数组
欢迎大家来到IT世界,在知识的湖畔探索吧!int[][] intArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
4. 应用示例
请将下列代码复制到IDEA后运行,查看结果并自行调整变量、语句,进行研究:
public class ArrayDemo { public static void main(String[] args) { int[][] intArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; System.out.println("整数数组第一行第二列的元素为:" + intArray[0][1]); System.out.println("整数数组行数为:" + intArray.length); System.out.println("整数数组列数为:" + intArray[0].length); System.out.println("============================="); float[][] floatArray = {{1.1f, 1.2f}, {2.1f, 2.2f, 2.3f, 2.4f}, {3.1f, 3.2f, 3.3f}}; for (int i = 0; i < floatArray.length; i++) { System.out.println("浮点数组第" + (i + 1) + "行的数据列数为:" + floatArray[i].length); } } }
以上就是本期Java开发基础教程第五讲的内容。
关于Java学习的系列课程我会持续更新,如果你想了解更多关于Java或其他编程相关的内容,可以关注我或者收藏这片文章。
另外,想自学Java的小伙伴,老K在此推荐两本Java编程的圣经。
书的内容详实,循序渐进。基础卷适合初学者,上手容易;进阶卷适合想要精进Java编程技术的朋友。
- 《On Java》,豆瓣读书评分:9.0 ★★★★★
作者 Bruce Eckel是在硅谷成名已久的大牛,其早年的《Java 编程思想》可谓是Java编程圣经。如今的这部书亦是他呕心沥血之作,增加了很多近期java版本的特性,更适合当下。全书两册,分为基础卷和进阶卷。基础卷对新手友好,循序渐进;进阶卷内容详实、步步为营。
- 《Java核心技术》,豆瓣读书评分:9.4 ★★★★★
本书曾获得有“软件业奥斯卡”之称的Jolt奖,内容详实而细腻,是对学习Java很有帮助的两部书。上下两卷,分别详细介绍了Java的基础知识和高级特性。是很多学习Java的小伙伴必备的书籍。
结束语
我是专注于开发领域的@老K玩代码,会持续生产关于如何学习编程语言的优质内容。
如果你想学习编程,或者想精进你的编程能力,可以关注我。如果你对开发、编程有任何疑问或有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/73491.html