Java数组的初始化大小_对Java接口实现的建议

Java数组的初始化大小_对Java接口实现的建议**二维数组:**元素是一维数组的数组。格式一:publicclassArrayDemo{publicstaticvoidmain(String[]args){//格式一int[][]arr=newint[3][2];System.out.println(arr);//[[I@1b6d3586System.out.println(arr[0]);//[I@4554617c

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1 一维数组初始化

public class ArrayDemo1 { 
   
    public static void main(String[] args) { 
   
        // 格式一(动态初始化)
        int[] arr1 = new int[3]; // 数组的长度(这里为3)必须指定
        
        // 格式二(静态初始化)
        int[] arr2 = new int[]{ 
   1, 2, 3}; // 这里数组长度不能指定,花括号里面的元素个数就是数组长度
        // 或者按照下面的简写形式
        int[] arr3 = { 
   1, 2, 3}; // 格式二的简写形式
    }
}

内存图分析略。

2 二维数组初始化

public class ArrayDemo2 { 
   
    public static void main(String[] args) { 
   
        // 格式一(动态初始化)
        /*int[][] arr = new int[3][2]; System.out.println(arr); // [[I@1b6d3586 System.out.println(arr[0]); // [I@4554617c System.out.println(arr[1]); // [I@74a14482 System.out.println(arr[2]); // [I@1540e19d System.out.println(arr[1][0]); // 0 System.out.println(arr[2][1]); // 0 System.out.println("------------------------"); arr[1][0] = 3; arr[2][1] = 4; System.out.println(arr); // [[I@1b6d3586 System.out.println(arr[0]); // [I@4554617c System.out.println(arr[1]); // [I@74a14482 System.out.println(arr[2]); // [I@1540e19d System.out.println(arr[1][0]); // 3 System.out.println(arr[2][1]); // 4*/

        // 格式二(动态初始化)
        /*int[][] arr = new int[3][]; System.out.println(arr); // [[I@1b6d3586 System.out.println(arr[0]); // null System.out.println(arr[1]); // null System.out.println(arr[2]); // null // 打印arr相同,都是地址;但是对于arr[0] arr[1] arr[2]结果都是null,因为列的维度没有指定,不知道如何分配内存。 // System.out.println(arr[0][0]); // NullPointerException System.out.println("------------------------"); // arr[1] = {1, 2, 3}; // 报错 arr[1] = new int[]{1, 2, 3}; arr[2] = new int[]{10, 20}; System.out.println(arr[0]); // null System.out.println(arr[1]); // [I@4554617c System.out.println(arr[2]); // [I@74a14482 System.out.println(arr[1][0]); // 1 System.out.println(arr[2][1]); // 20 // 总结:格式二需要new两次,并且Java中二维数组每行元素的个数可以不相同(和C/C++不同)。*/

        // 格式三(静态初始化)
        // int[][] arr = new int[][]{ 
   {1, 2, 3}, {4, 5}, {6}}; // 此时行、列维度都不能指定
        // int[][] arr = new int[2][]{ 
   {1, 2, 3}, {4, 5}}; // 报错
        // int[][] arr = new int[][3]{ 
   {1, 2, 3}, {4, 5}}; // 报错

        int[][] arr = { 
   { 
   1, 2, 3}, { 
   4, 5}, { 
   6}}; // 格式三的简化形式
        System.out.println(arr); // [[I@1b6d3586
        System.out.println(arr[0]); // [I@4554617c
        System.out.println(arr[1]); // [I@74a14482
        System.out.println(arr[2]); // [I@1540e19d
        System.out.println(arr[1][0]); // 4
        // System.out.println(arr[2][1]); // ArrayIndexOutOfBoundsException
    }
}

格式一内存图分析:

二维数组格式1

格式二内存图分析:

二维数组格式2

格式三内存图分析:

二维数组格式3

总结:数组初始化分为静态初始化动态初始化,一维数组和二维数组的静态初始化类似;对于动态初始化,一维数组只有一种形式,且必须指定数组的长度,二维数组有两种形式,且必须指定数组的行,列可以不用指定(这种情况要new两次)。


结束语:如果本篇博客对您有帮助,请点赞、收藏或关注,您的鼓励是博主进步的动力,感谢支持,共同进步。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184301.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • mac goland2022永久激活码_最新在线免费激活[通俗易懂]

    (mac goland2022永久激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1T…

  • Java 集合

    Java 集合

  • PHP案例 网站会员管理设计

    PHP案例 网站会员管理设计

  • 哈佛幸福课笔记中篇

    哈佛幸福课笔记中篇改变一生的课:哈佛幸福课笔记中篇第9课积极情绪第10课如何去改变第11课养成良好习惯第12课写日记第13课面对压力第14课过犹不及第15课完美主义第16课享受过程链接:哈佛大学公开课:幸福课.《哈佛幸福课》是改变我生活最大的一项事物,没有之一。我学习了5遍幸福课,并且用过去6年的时间去尝试它践行它,感觉完全改变了我的生活。第9课积极情绪1.感激练习,每天去做才能养成习惯,那样才能改变思维。每天变化,思考不同的方向去做。爱默生:如果星星每千年闪烁一次,我们都会仰视赞美这个世界的

  • Google Buzz 里 90% 的内容都是 “非人类”「建议收藏」

    Google Buzz 里 90% 的内容都是 “非人类”「建议收藏」距GoogleBuzz发布还不到10周,尽管Google一直在改进它,但似乎人们还是没有陷入Google的社交圈子。来自PostRank的统计,有90%的GoogleBuzz都是机器人发出来的,其中最多的是从twitter同步过来的内容,占到62%还多,而来自feeds的也有26%多,尽有不到11%的内容是真实的人肉发出来的。也就是说,GoogleBuzz的用户们还是习…

    2022年10月15日
  • pycharm 2021激活码【2021免费激活】

    (pycharm 2021激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/ide…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号