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}; //簡化的靜態初始化,僅用于數組的靜態初始化,不能用于數組的賦值
}
}