关于数组你了解多少?

文章详细介绍了Java中数组的静态化和动态初始化方法,包括完整写法、简化写法以及数组名和[]的位置交换。同时,讨论了动态初始化时的默认值、空指针异常和数组越界问题。此外,还讲解了如何遍历数组,如增强for循环、正序和倒序遍历的实现方式。
摘要由CSDN通过智能技术生成

一、静态化初始数组

1>完整写法

数据类型[ ] 数组名 = new 数据类型[ ]{元素1,元素2,元素3,,,,};

举个栗子:

int[] ages = new int[]{12,15,21,33};
2.>简化写法

数据类型[ ] 数组名 = {元素1,元素2,元素3,,,,};

举个栗子:

double[] scores = {12.5,99.5,60};
3>数组名和[ ]交换位置(可以但是不推荐这样写)

数据类型 数组名 [ ] = {元素1,元素2,元素3,,,,};

举个栗子:

String names [] = {"张三","李四"};

二、动态初始化数组

1>写法

数组类型[ ] 数组名 = new 数组类型[长度];

举个栗子:

char[] chars = new char[3];//[0,0,0]
2>默认值(动态初始化数组元素的默认值)
动态初始化数组元素的默认值
数据类型明细默认值
整数型byte,short,int,char,long0
浮点型float,double0.0
布尔型booleanfalse
引用型String,类,数组null
3>空指针异常与数组越界(动态化数组里比较容易报的错)

如果某个数组变量存储的地址是null,那么该变量将不指向任何数组对象(可输出,不可访问),这时就会报错,NullPointerException(空指针异常)

如果访问元素索引超出数组定义的最大索引,则会报错,数组越界

4>多个数组变量指向同一数组对象

定义的数组变量在堆内存中,存储的是栈内存中的数组对象提供的指向栈内存数组对象的"地址",

所以当多个数组变量指向同一数组对象时,修改的是同一数组对象中的数据

举个栗子:

public static void main(String[] args) {
        int[] age1 = {1,2,3};
        int[] age2 = age1;
        age2[1] = 0;
        System.out.println(age1[1]);//0
    }

三、数组的遍历

首先要了解怎么获取数组元素个数?

数组名.length

1>增强for循环--------快速生成: 数组名.for 

生成如下:

public class aaa {
    public static void main(String[] args) {
        int[] age1 = {1,2,3};
        for (int i : age1) {
            System.out.print(i);//123
        }
    }
}
2>正序遍历--------快速生成: 数组名.fori 

生成如下:

public class aaa {
    public static void main(String[] args) {
        int[] age1 = {1,2,3};
        for (int i = 0; i < age1.length; i++) {
            System.out.print(age1[i]);//123
        }
    }
}
3>倒序遍历--------快速生成: 数组名.forr 

生成如下:

public class aaa {
    public static void main(String[] args) {
        int[] age1 = {1,2,3};
        for (int i = age1.length - 1; i >= 0; i--) {
            System.out.print(age1[i]);//321
        }
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑看夕阳染红天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值