文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【JavaSE】多图解,保姆级详细讲解数组、二维数组--建议收藏

2023-10-09 12:05

关注

🌱博主简介:是瑶瑶子啦,一名大一计科生,目前在努力学习JavaSE。热爱写博客~正在努力成为一个厉害的开发程序媛!
📜所属专栏:爪洼岛冒险记【从小白到大佬之路】
✈往期博文回顾: 【爪洼岛冒险记】第4站
🕵️‍♂️近期目标:成为千粉小博主。
🙇‍♀️写博客理念:力求用自己的语言加上自己的理解去阐述知识知识、技术。喜欢画图、思维导图去描述过程和知识之间的联系。
🎡您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!
🌺:“再牛的程序员也是从小白开始,既然开始了,就全身心投入去学习技术”

在这里插入图片描述

前言

😻今天,瑶瑶子将带领大家全面学习Java中第一个数据结构—数组,绝对详细,绝对清晰,一遍学会!那么这就启航~

目录

Part1:初识数组(array):

1.1:什么是数组?

Part2:Java中的数组

2.1:数组的定义:

2.1.1:定义数组并初始化:

int[] arr = {1,2,3,4,5};//静态初始化
int[] arr = new int[]{1,2,3,4,5};//动态初始化

2.1.2:定义数组,不初始化:

int[] arr = new int[3];//定义一个数组,元素个数为3,

tips:一维数组只定义,不初始化时,数组内元素值均默认初始化为0

2.2:数组的基本使用:

2.2.1:获取数组长度(元素个数):

int[] arr = {1,2,3,4,5};int len = arr.length;//数组名.length 即可获取数组长度(元素个数)System.out.println(len);

2.2.2:访问数组元素:

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

注意:下标的有效范围是[0,arr.length),访问时下标一旦越界,编译时直接抛出异常。

2.2.3:遍历数组:

int[] arr = {1,2,3,4,5};for (int i = 0,;i < arr.length;i++){System.out.print(arr[i]+" ");}
int[] arr = {1,2,3,4,5};for ( int x :arr ){System.out.print(x+" ");}

🙋‍♀️如何理解for each循环?
:”左边的变量,负责接收数组中元素的值。随着遍历,x的值也不断发生改变。(左边的相当于一个容器,负责接收for each 循环按顺序遍历出元素的值)
🤷‍♀️什么时候使用for-each循环?
当你只是想通过遍历来获取数组元素时,而不牵涉下标,这个时候,可以选择使用for-each循环~

import java.util.Arrays;public class TestDemo {    public static void main(String[] args) {        int[] arr = {1, 2, 3, 4, 5};        String str = Arrays.toString(arr);        System.out.println(str);    }}

在这里插入图片描述
🧘‍♀️其实String toString(int[] arr)方法就是用for循环来实现的

//toString(int[] a)源码: public static String toString(int[] a) {        if (a == null)            return "null";        int iMax = a.length - 1;        if (iMax == -1)            return "[]";        StringBuilder b = new StringBuilder();        b.append('[');        for (int i = 0; ; i++) {            b.append(a[i]);            if (i == iMax)                return b.append(']').toString();            b.append(", ");        }    }

2.3:深入理解Java中数组

2.3.1:数组在内存中如何存放?

🤸‍♀️首先,你需要知道:

🐣然后,我们分析这段代码:

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

2.3.2:关于“引用”

注意:Java中的null表示无效引用,没有规定null表示的是0号内存。(C语言中规定NULL表示的是0号内存,不能被访问)。

Part3:Java中的二维数组:

3.1:二维数组的定义&初始化:

3.1.1:定义数组并初始化:

//eg:一个2行3列的数组int [][] arr = {{1,2,3},{4,5,6}};//静态初始化
//动态初始化int [][] arr = new int [][]{{1,2,3},{4,5,6}};/int [][] arr = new int [][]{{1,2},{4,5,6}};

💁‍♀️第二行是这样理解的:
在这里插入图片描述

🙅‍♀️也就是说,并不是arr[0][2]没有初始化,而是根本不存在arr[0][2]这个元素!
在这里插入图片描述

3.1.2:定义数组不初始化

//每一个元素默认初始化为0int [][] arr1 = new int[2][3];//省略列的(不规则二维数组)int [][] arr2 = new int[2][0];arr[0] = new int[2];arr[1] = new int[3];

tips:只定义,不初始化时,二维数组中每个元素默认初始化为0

3.2:如何理解Java中的二维数组:

在这里插入图片描述

3.3:二维数组的遍历:

public static void main(String[] args) {        int[][] arr = {{1,2,3},{4,5,6}};        for (int i = 0; i < arr.length; i++) {            for (int j = 0; j < arr[i].length; j++) {                System.out.print(arr[i][j]+" ");            }        }    }
public static void main(String[] args) {        int[][] arr = {{1,2,3},{4,5,6}};        for (int[] ret:arr) {            for (int x:ret) {                System.out.print(x+" ");            }        }    }
public static void main(String[] args) {        int[][] arr = {{1, 2, 3}, {4, 5, 6}};        String strArr = Arrays.deepToString(arr);        System.out.println(strArr);    }

Part4:总结:


🏄‍♀️下期预告–详细讲解Java中最重要的语法–类&对象
🙆‍♀️专栏系列文章:

🙈原创不易,如果对你有所帮助,还请三连+关注!我是瑶瑶子,持续输出优质文章!

在这里插入图片描述

来源地址:https://blog.csdn.net/Yaoyao2024/article/details/128712484

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯