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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 7000笔记本性价比之王(三千元笔记本性价比之王)

    PC市场的出货量频繁爆低,并不意味着这一市场走衰,其依旧是大部分人日常办公和外出携带办公所不可或缺的电子产品。只是换新欲望不强烈,面对并不了解的产品时过于保守的购买态度,严重影响了消费者在更换笔记本电脑的“快、准、狠”。但若真有购机需求时,看到各个价位的各种机型,又无从下手。说多了都是泪啊…哎…不容易~作为90后编辑和在大城市打拼的各位一样,就是个“小白领”。交了房租水电,买了油米泡面。发现,这个…

    2022年4月10日
    73
  • kotlin的Map集合

    kotlin的Map集合kotlin的Map集合只读Map可变的MapmutableMapOfkotlin的Map分为:只读Map。可变的MutableMap(MutableMap、HashMap、LinkedHashMap)。只读Map意味着我们创建出来的map是不可变的,即我们只能使用无法改变我们map中的数据,我们只能获取集合中的数据而无法对集合中的数据进行新增和修改。/***…

    2022年5月18日
    36
  • Spring Cloud版本与Spring Boot版本之间匹配关系「建议收藏」

    Spring Cloud版本与Spring Boot版本之间匹配关系「建议收藏」很多人在使用springboot和springcloud,但是对于这两者之间的版本关系不是很清楚,特别是在面临升级的时候不知道该如何操作。本文简要摘录的官方文档的部分内容作为依据,供广大同行参考。问题的提出,我现在使用的是1.5.1版本的springboot和Edgware.RELEASE版本的springcloud,我想升级到springboot到2.0.0,springcloud需要升…

    2022年4月30日
    71
  • Linux shell if [ -n ] 正确使用方法「建议收藏」

    Linux shell if [ -n ] 正确使用方法「建议收藏」if[str1=str2]      当两个串有相同内容、长度时为真 if[str1!=str2]     当串str1和str2不等时为真 if[-nstr1]      当串的长度大于0时为真(串非空) if[-zstr1]       当串的长度为0时为真(空串) if[str1]        当串str1为非空时为真

    2022年7月27日
    5
  • ng-repeat出现环路输出Duplicates in a repeater are not allowed. Use &#39;track by&#39; expression to specify unique

    ng-repeat出现环路输出Duplicates in a repeater are not allowed. Use &#39;track by&#39; expression to specify unique

    2022年1月11日
    52
  • python中使用递归实现斐波那契数列

    python中使用递归实现斐波那契数列python中使用递归实现斐波那契数列python中使用递归实现斐波那契数列先来了解一下斐波那契数列(Fibonaccisequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(LeonardodaFibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)在现代物理、

    2022年6月16日
    32

发表回复

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

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