【JavaSE成神之路】数组结构的概念与应用技术

简介: 哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路!这一节啊,咱们要学习的内容是数组的概念与应用技术。

哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路!

这一节啊,咱们要学习的内容是数组的概念与应用技术。

5fe0f86881c181a9e4c32fa0b4bc54e3.gif

乍一听还挺唬人的有没有,数组这个东西呢并不是什么新的知识啦,之前的章节中我们已经学习过数组的相关应用。

这一节我们就具体来聊一聊数组。


1.什么是数组


数组是由一系列相同数据类型组成的按顺序的一种引用数据类型。


这句话透露出三个点,首先是相同的数据类型才能构成数组。


一个数组里面不能同时包括数字和字符串,当一个数组被创建,就只能含有相同的数据。


第二个,数组是一种引用数据类型。


第三点,数组有顺序,这个结合内存结构来看比较好。


2.为什么用数组

如果不用数组,让你用java表示一组学生的成绩怎么办?难道你写个类里面弄20几个变量,代表全班二十几个学生吗?


3. 一维数组

3.1 数组的声明


语法格式:

01 数据类型[] 数组名;

02 数据类型 数组名[];

第一种方式比较常用,例如:

int[] nums;


3.2 数组的创建

int[] nums;
nums = new int[10];

也可以在声明的同时就创建。

int[] nums = new int[10];

注意,创建数组的时候,长度必须指定!

数组是有顺序的,在内存中也是连续的内存单元,不分散。


3.3 数组的初始化

声明数组的同时给数组赋值,就是数组的初始化。(其实是省略了创建)

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


3.4 数组元素的引用

记住数组的下标是从0开始的。

1. int[] nums = {1,2,3,4,5};
2. System.out.println(nums[1]);

答案是2。


数组的长度就是数组元素的格式,用数组的length属性即可。

1. int[] nums = {1,2,3,4,5};
2. System.out.println(nums.length);

答案是5.


3.5 数组的简单应用

来几个例题热热身,现在定义一个String类型的数组,长度为5,不要初始化。再运用for循环来给数组初始化。

//创建一个长度5的字符串数组
String[] names = new String[5];
for (int i = 0; i < names.length; i++) {
    names[i] = "name_" + i;
}


注意,数组也是一个对象,如果你不创建(new),是不能调用length属性的。


4.思考题

1.编写一个方法,接收一个int类型数组,返回数组内所有元素的和。


2.编写一个方法,接收一个String类型的参数,里面设置一个String类型的局部数组变量,要求每次调用该方法时,参数要均匀地分配到数组。(即实现一个简易的hash表,不考虑hash冲突问题)


PS:从这一节开始,欢迎你使用任何你喜欢的IDE完成作业,比如eclipse,IDEA,如果不会使用工具,可以去B站搜索相关的视频进行学习哈。


相关文章
|
7月前
|
自然语言处理 架构师
技术人修炼之道阅读笔记(二)重新定义自己
技术人修炼之道阅读笔记(二)重新定义自己
|
7月前
|
设计模式 架构师 Java
阿里P8架构师都要学习研究的java加强版23种设计模式神级PDF文档
说在前面的话 Java作为老牌纯正的编程语言,在规范性上有着天然优势。因此本版的设计模式讲解全部用Java语言来描述,并针对Java语言的特性对讲解内容做了相当大的改动。 不知道大家是否听过编程界的一段话:掌握设计模式相当于华山派的"气宗",是程序员的内功修为,虽然在同样的学习时间下,类似Python这种"剑宗"的开发模式见效更快,但是长远来看,"气宗"才是走向软件架构师以上级别的必由之路。 所以,掌握气宗就掌握了编程命脉,然而学习设计模式有四大境界: 接下来给大家分享的就是java溢彩加强版大话设计模式包含的内容知识点。 总目录 主要内容 本文是百万销量的经典畅销书《
126 0
|
2月前
|
机器学习/深度学习 算法 程序员
代码之韵:探索编程艺术与实践的融合
【2月更文挑战第30天】 在数字化时代的浪潮中,编程已成为连接现实与虚拟世界的核心纽带。本文旨在探讨编程不仅是科学的应用,更是一种艺术形式。通过个人的技术感悟,我们将一窥编程实践中的逻辑美学、效率与风格之间的微妙平衡,以及持续学习的重要性。文章将展现如何将创造性思维融入代码编写过程中,以及这种融合如何提升技术解决方案的创新性和有效性。
|
4月前
|
消息中间件 架构师 Java
Java架构速成笔记:七大专题,1425页考点,挑战P8岗
我们都知道,在程序员的职业生涯中,有多个发展方向,不过就数据表明,近年来选择架构师方向的开发人员也越来越多。
|
5月前
|
算法 Java 大数据
大数据Java工程师必备____2021年数据结构思维导图!
大数据Java工程师必备____2021年数据结构思维导图!
103 0
|
9月前
|
存储 Java 编译器
【JavaSE】类和对象重点知识荟萃
【JavaSE】类和对象重点知识荟萃
|
9月前
|
算法 安全 Java
重温经典《Thinking in java》第四版之第二章 一切都是对象(十三)
重温经典《Thinking in java》第四版之第二章 一切都是对象(十三)
29 0
|
10月前
|
Java
【JavaSE专栏23】Java反射有多强? 他拥有这五大神奇功能!
【JavaSE专栏23】Java反射有多强? 他拥有这五大神奇功能!
|
12月前
|
Java 数据安全/隐私保护 Android开发
【JavaSE成神之路】聊聊封装这件事
哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是Java的封装。
|
12月前
|
算法 Java
【JavaSE成神之路】数组思考题讲解
哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是数组的思考题讲解,也就是上一节我留下的两个小作业。