Java中一维数组和二维数组初始化 对象数组初始化「建议收藏」

Java中一维数组和二维数组初始化 对象数组初始化「建议收藏」数组属于引用数据类型,在使用前必须初始化,否则会报NullPointerException(空指针异常:运行时异常)一维数组初始化:动态初始化:(声明并开辟数组)数据类型[]数组名称=new数据类型[长度]int[]data=newint[5]:声明并开辟一个长度为5的数组数组通过下标索引来获取元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时…

大家好,又见面了,我是你们的朋友全栈君。

数组属于引用数据类型,在使用前必须初始化,否则会报NullPointerException(空指针异常:运行时异常)
一维数组初始化:
动态初始化:(声明并开辟数组)
数据类型[ ] 数组名称=new 数据类型[长度]

int[ ] data=new int [5] :声明并开辟一个长度为5的数组

数组通过下标索引来获取元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常)

数组中每个元素都有默认值,默认值是该数据类型默认值

数组长度:数组名称.length

数组遍历推荐使用JDK1.5 提供for-each循环(仅限于数组内容读取),要修改数组内容,还是使用常规for循环

    for(int x : data)

{

System.out.println(x+” “);
}
引用传递:多个栈内存指向同一块堆内存

int[ ] tmp=data; //引用传递 注意是地址的传递
tmp[3]=10; —-> x[3]=10;

数组静态初始化
简化格式:
数据类型[ ] 数组名称 ={值,值…}
完整格式: (推荐使用)
数据类型[ ] 数组名称 =new 数据类型[ ]{值,值…}
int[ ] data =new int[ ] {1,2,3} ;

长度 :数组名称.length ,静态初始化长度固定,根据值的个数确定长度,并且长度不可修改

匿名数组:没有任何栈内存指向,在使用一次后会变成垃圾,只会使用一次

二维数组
动态初始化:数据类型[ ][ ] 数据名称 =new 数据类型[ 行个数] [列个数]

int[ ] [ ]data =new int [3][4];开辟行数为3,列数为4的整型数组

静态初始化:
数据类型[ ][ ] 数组名称 =new 数据类型[ ][ ]{ {第一行的值},{第二行的值}…}

int[ ][ ] data={
{1,2,3},{4,5,6},{7}};

x<data.length

y<data[x].length

对象数组初始化:

首先看对象数组动态初始化:

对象数组动态初始化
public class ArrayDemo
{
    public static void main(String[] args)
    {
        String[] str=new String[3];  //数组动态初始化,每个元素都是其对应数据类型的默认值
        for(String num :str)
        {
            System.out.print(num+"、"); //null、null、null、
        }
        str[0]=new String("pick");
        str[1]=new String("happy");
        str[2]=new String("day");
       for(String num :str)
       {
           System.out.print(num+"、"); //pick、happy、day、
       }
    }
}

对象数组静态初始化:

public class ArrayDemo
{
    public static void main(String[] args)
    {
        String[] str=new String[]{"pick","happy","day"};  //数组静态初始化,pick、happy、day、
       for(String num :str)
       {
           System.out.print(num+"、"); //pick、happy、day、
       }
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141570.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm全家桶激活码2021年_通用破解码[通俗易懂]

    pycharm全家桶激活码2021年_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    157
  • python七夕表白代码(转载)_情人节图片唯美浪漫

    python七夕表白代码(转载)_情人节图片唯美浪漫七夕,最浪漫的Python代码送给陷入爱河的Python男同胞image.gif​三句话情书,我们听过。如何用python写一段浪漫的代码?可以是简短有韵味的情书式,也欢迎冗长而效果拔群的万行代码,我这在下面例举一些,还有其它思路的欢迎补充。千万千万别用代码表白,因为Python已经告诉你了:’she’isnot’yours’True千万别用Python表白,实在太扎心了:七夕,最浪漫的Py…

    2022年9月24日
    4
  • lunix安装_linux系统下载

    lunix安装_linux系统下载https://www.cnblogs.com/wcwen1990/p/7630545.html转载于:https://www.cnblogs.com/lkd3063601/p/9342798.html

    2022年9月25日
    0
  • 【转】使用Chrome Frame,彻底解决浏览器兼容问题「建议收藏」

    【转】使用Chrome Frame,彻底解决浏览器兼容问题「建议收藏」本文转自http://www.ryanbay.com/?p=269,感谢该作者的总结 X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置。在网页中指定的模式优先权高于服务器中(通过HTTPHeader)所指定的模式。兼容性模式设置优先级: metatag&gt;…

    2022年7月16日
    29
  • python和java哪个更值得学 知乎_学完python再学java

    python和java哪个更值得学 知乎_学完python再学java​在编程界经常会引发一个讨论,就是python和Java哪个更值得学,Java语言具有跨平台的特性,在应用范围上有许多选择的余地,而Python在这几年的火热程度丝毫没有减退。个人观点,看学习的目的

    2025年6月19日
    2
  • discuz php接口文档,Discuz二次开发技术文档[通俗易懂]

    discuz php接口文档,Discuz二次开发技术文档[通俗易懂]点评:Discuz二次开发基本知识总结,需要对discuz进行二次开发的朋友可以参考下。一)Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。a)Admin:后台管理功能模块b)Api:DZ系统与其它系统之间接口程序c)Archiver:DZ中,用以搜索引擎优化的无图版d)Attachments:DZ中,用户上传附件的存放目录e)Customavatars…

    2022年5月12日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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