package com.wkcto.chapter03.demo01;
import java.util.Arrays;
/**
* 数组的静态初始化
* @author 蛙课网
*
*/
public class Test02 {
public static void main(String[] args) {
//定义数组
int [] data = new int[8];
//给数组元素赋值
data[2] = 666;
//遍历数组的元素
for(int i = 0 ; i<data.length; i++){
System.out.print( data[i] + "\t");
}
System.out.println( );
/*
* 1) 创建了数组后, 系统会给数组进行默认的初始化
* 整数数组,把所有元素默认初始化为0
* 小数数组,把所有元素默认初始化为0.0
* 字符数组,把所有元素默认初始化为码值为0的字符, '\u0000'
* 布尔数组,把所有元素默认初始化为false
* 引用数组,把所有元素默认初始化为null
*/
//2)在创建数组的同时,可以给数组的元素赋初值, 这叫数组的静态初始化
//在数组静态初始化时, 不需要指定数组的长度, 数组的长度由初始化元素的个数决定
int [] mydata = new int[]{3,6,9,8};
System.out.println( mydata.length ); //4
//数组的静态初始化,可以简化为:
int [] mydata2 = {1,4,7};
for (int xx : mydata2) {
System.out.print( xx + "\t");
}
System.out.println( );
//3)数组名之间的相互赋值
data = mydata; //把mydata的值赋值给data, mydata存储的是一个数组的引用, 现在mydata和data引用了同一个数组
System.out.println( Arrays.toString(data )); //[3, 6, 9, 8]
data[0] = 88;
System.out.println( Arrays.toString(mydata)); //[88, 6, 9, 8]
//4) 给数组重新赋值
data = new int[] {6,6,6}; //data指向 了新的数组
System.out.println( Arrays.toString(data ));
// data = {8,8,8}; //简化的静态初始化,仅用于数组的静态初始化,不能用于数组的赋值
}
}