Java数组
数组就是存储同一类型若干数据的容器。
定义数组的语法:
数据类型 [] 数组名 = new 数据类型[数组长度];
数据类型 数组名[] = new 数据类型[数组长度];
如, 定义一个可以存储5个int类型数据的数组:
int [] data = new int[5];
说明:
● data是一个数组名, 其实就是一个变量名, 数组是Java的一种引用数据类型, data数组名中存储的是数组的引用(起始地址)。
● int是指数组中存储元素的数据类型, int[]是一种数组类型, 即data变量的数据类型是 int[]。
● new运算符在堆区分配一块连续的存储空间, 这块连续的存储空间可以容纳5个int类型的数据, 把这块存储空间的引用保存到data数组名中。
Java数组的静态初始化
/**
* 数组的静态初始化
*/
public class Test02 {
public static void main(String[] args) {
/*
* 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}; //简化的静态初始化,仅用于数组的静态初始化,不能用于数组的赋值
}
}
Java数组引用数据类型
● 数组作为方法的返回值类型
● 数组作为方法的参数类型
/**
* 数组作为方法的返回值类型,参数类型
*/
public class Test03 {
public static void main