【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站搜索相关的视频进行学习哈。


相关文章
|
自然语言处理 架构师
技术人修炼之道阅读笔记(二)重新定义自己
技术人修炼之道阅读笔记(二)重新定义自己
|
3月前
|
Java 开发者
Java 核心深度解析:在编程热潮中找到归属感,让你从新手小白迈向高手之路的必备指南
【8月更文挑战第22天】《Java 核心技术深度解析:从入门到精通》引导读者从基础到高级逐步掌握 Java。本书从面向对象的基础语法开始,通过实例讲解类、封装、继承与多态。进一步探讨了异常处理机制,确保程序健壮性。此外,还涵盖了集合框架、多线程及输入输出等关键技术。适合各水平开发者提升技能。
35 2
|
5月前
|
设计模式 安全 Java
Java编程思想重点开发必看
Java编程思想重点开发必看
28 0
|
6月前
|
分布式计算 大数据 Java
大数据必知必会系列——面试官问能不能手写一个spark程序?[新星计划]
大数据必知必会系列——面试官问能不能手写一个spark程序?[新星计划]
73 0
|
6月前
|
机器学习/深度学习 前端开发 Java
Java与前端:揭开技术浪潮背后的真相
Java与前端:揭开技术浪潮背后的真相
|
6月前
|
消息中间件 架构师 Java
Java架构速成笔记:七大专题,1425页考点,挑战P8岗
我们都知道,在程序员的职业生涯中,有多个发展方向,不过就数据表明,近年来选择架构师方向的开发人员也越来越多。
|
6月前
|
算法 Java 大数据
大数据Java工程师必备____2021年数据结构思维导图!
大数据Java工程师必备____2021年数据结构思维导图!
130 0
|
Java 关系型数据库 MySQL
破防了!阿里P8裸辞真实心路历程,他底气来源于Java面试核心笔记
我为什么从阿里离职? 终于从阿里裸辞了,阿里带来的强大的压力让人有一些窒息。坦白来讲,最初进阿里应该是抱着满腔的期待和向往的,甚至做好了三年规划,五年规划。但这一年多经历了比较多的事情,我一贯的想法是,事情发生了,都是有ab面的,有好有坏。但的确有那么一些时刻,自己会感觉糟透了,并不是几句鸡汤抑或是打几下鸡血能够拯救的,糟透了。然后跟一些同样境遇的人进行过几次深入的沟通,大家最后都觉得出去看看是一个不坏的决定。 于是我毅然而然地选择了从阿里离开了,并不是我有多大的经济实力,是这不是我想要的生活,确实阿里P8的岗位给我的职业生涯镀了一层金,但这并不是阻止自我进步的理由和借口,我们应该借风而起
181 0
|
存储 Java 编译器
【JavaSE】类和对象重点知识荟萃
【JavaSE】类和对象重点知识荟萃
|
算法 安全 Java
重温经典《Thinking in java》第四版之第二章 一切都是对象(十三)
重温经典《Thinking in java》第四版之第二章 一切都是对象(十三)
47 0