【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月前
|
Oracle IDE Java
启航Java编程:基础三部曲-第一部
启航Java编程:基础三部曲-第一部 揭秘Java:从Hello World开始的编程之旅
44 0
|
8月前
|
机器学习/深度学习 前端开发 Java
Java与前端:揭开技术浪潮背后的真相
Java与前端:揭开技术浪潮背后的真相
|
8月前
|
机器学习/深度学习 Java Python
Java面向对象知识体系---基础版
Java面向对象知识体系---基础版
|
8月前
|
存储 XML JavaScript
Java入门高频考查基础知识5(扎实技术基础应变一切变化-45题4.2万字参考答案)
数据结构是指在计算机中组织和存储数据的方式,它建立了数据元素之间的关系,以及对这些关系施加的操作。在程序设计中,数据结构是一种非常重要的概念,它对于实现高效的数据存储、检索和操作起着关键性的作用。逻辑结构逻辑结构是数据对象中数据元素之间的逻辑关系,包括线性结构(如数组、链表)、树形结构(如二叉树、平衡树)以及图形结构等。物理结构:物理结构是数据的逻辑结构在计算机中的存储形式,包括顺序存储结构和链式存储结构等。数据操作数据操作是指在一组数据上定义的操作,包括插入、删除、查找、排序等。
121 0
|
8月前
|
消息中间件 人工智能 Java
面试了一个前阿里P7,Java八股文与架构核心知识简直背得炉火纯青
前几天,跟个老朋友吃饭,他最近想跳槽去大厂,觉得压力很大,问我能不能分享些所谓的经验套路。 每次有这类请求,都觉得有些有趣,不知道你发现没有大家身边真的有很多人不知道怎么面试,也不知道怎么准备面试,哪怕是一些工龄比较长的“老开发”: 有的人明知道有些问题肯定会被问,面试前还不好好准备,结果要么回答得模棱两可,要么答非所问; 有的人则是不知道怎么包装自己的项目经历,结果明明还不错的项目却看上去平平无奇,过后就被面试官忘了; 更有甚者,简历写得花里胡哨,结果一问三不知,简历和经历完全对不上。
|
Java 关系型数据库 MySQL
破防了!阿里P8裸辞真实心路历程,他底气来源于Java面试核心笔记
我为什么从阿里离职? 终于从阿里裸辞了,阿里带来的强大的压力让人有一些窒息。坦白来讲,最初进阿里应该是抱着满腔的期待和向往的,甚至做好了三年规划,五年规划。但这一年多经历了比较多的事情,我一贯的想法是,事情发生了,都是有ab面的,有好有坏。但的确有那么一些时刻,自己会感觉糟透了,并不是几句鸡汤抑或是打几下鸡血能够拯救的,糟透了。然后跟一些同样境遇的人进行过几次深入的沟通,大家最后都觉得出去看看是一个不坏的决定。 于是我毅然而然地选择了从阿里离开了,并不是我有多大的经济实力,是这不是我想要的生活,确实阿里P8的岗位给我的职业生涯镀了一层金,但这并不是阻止自我进步的理由和借口,我们应该借风而起
195 0
|
算法 安全 Java
重温经典《Thinking in java》第四版之第二章 一切都是对象(十三)
重温经典《Thinking in java》第四版之第二章 一切都是对象(十三)
52 0
【JavaSE专栏23】Java反射有多强? 他拥有这五大神奇功能!
【JavaSE专栏23】Java反射有多强? 他拥有这五大神奇功能!
|
Java 数据安全/隐私保护 Android开发
【JavaSE成神之路】聊聊封装这件事
哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是Java的封装。
116 0
|
算法 Java
【JavaSE成神之路】数组思考题讲解
哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路! 这一节啊,咱们要学习的内容是数组的思考题讲解,也就是上一节我留下的两个小作业。
113 0

热门文章

最新文章