【JAVA】 数组的定义初始化

 静态初始化

简化格式:
    数据类型[] 数组名称 = {值, 值, …};
完整格式(推荐):
    数据类型[] 数组名称 = new 数据类型[]{值, 值, …};

public class BubbleSort {
    public static void main(String[] args) {
        /*
        * 待排序的数组是:24,69,80,57,13
        *
        * */
        // 数组的定义有两种形式
        int[] nums = new int[]{24,69,80,57,13};
        int[] nums1 = {24,69,80,57,13};
    }
}

注意 

  1. 通过数组下标索取来取得元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常)。
  2. 数组属于引用数据类型,在使用之前一定要开辟空间(实例化),否则就会产生"NullPoninterException" 

 动态初始化(声明并开辟数组)

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

数据类型可以是8种基本的数据类型,也可以是引用数据类型。

注意

  1. 在给数组命名的时候,一般在数组名后加一个 s 表示这是一个包含多个元素的数组(与单个变量区分)。
  2. 当数组采用动态初始化开辟空间之后,数组之中的每个元素都是该数据类型的默认值。
  3. 数组名称.length:取得数组长度(数组长度可以由属性length获得)。
  4. 数组遍历推荐使用for-each循环(仅限于数组内容读取),要修改数组内容,还是使用常规for循环:for(int x: 数组名称) {……}
数据类型    默认初始化
byte、short、int、long0
foat、double0.0
char     一个空字符,即 ‘\u0000’
boolean    false
引用数据类型 null,表示变量不引用任何对象

引用传递
 数组作为引用数据类型,也可以发生引用传递。
 引用传递空间:同一块堆内存空间可以被不同的栈内存所指向。

范例: 多个栈内存指向相同的堆内存。

public class Study02{
    public static void main(String[] args){
        int[] arr = new null;
        int[] temp = null;  // 声明对象
        arr = new int[3];   // 开辟一个长度为3的数组
        System.out.println(arr.length);
        arr[0] = 1; // 数组第一个元素
        arr[1] = 2; // 数组第二个元素
        arr[2] = 3; // 数组第三个元素
        for(int i = 0; i < arr.length; i++)
        {
            //通过循环控制索引下标更改
            System.out.println(arr[i]);
        }
        temp = arr; // 发生引用传递,不能出现[]
        temp[0] = 55;  // 修改数据
        System.out.println(arr[0]);
    }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值