1.3数组的默认值
/*
整数:0
小数:0.0
字符:\u0000
布尔:false
其他:null
*/
1.4for-each循环
/*特定的用法:专门用于获取数组中的每一个元素的值。
语法结构:
for(数据类型 变量名 : 数组名){
System.out.println(变量名);
}*/
int[] a = {1,2,3,4};
for(int e : a){
System.out.println(e);
}
int e,定义变量e,
依次获取数组的元素,赋值给e
注意点:
A:for-each只能获取数组的数据,但是不能给数组进行赋值
B:for-each,在代码这个层面,不能操作下标。
1.5数组的地址转移:知道
Java中的数据分为两大类:
基本类型:4类8种
操作的都是数值本身
引用类型:数组
操作的是地址
基本类型进行赋值:数值
引用类型进行赋值:地址
示例代码:
class Test4ArrayAddress
{
public static void main(String[] args)
{
/*
数组:引用类型的数据
数组名,存储是引用地址。
*/
int[] a = new int[3];
System.out.println(a.length);//3
System.out.println(a);//a数组的地址
System.out.println(a[0]);//0
a[0] = 1;
a[1] = 2;
a[2] = 3;
int[] b = {4,5,6,7};
System.out.println(b.length);//4
System.out.println(b);//b的地址
System.out.println(b[0]);//4
int[] c = a;//将a的值赋值给c,就是将a存储的数组的地址赋值给c
//a和c存储的地址相同,那么就指向了同一个数组
System.out.println(c.length);//3
System.out.println(c);//a的地址
System.out.println(c[0]);//1
c[0] = 100;
System.out.println(a[0]);
System.out.println(b[0]);
System.out.println(c[0]);
b = c;
b[1] = 200;
System.out.println(a[1]);//200
System.out.println(b[1]);//200
System.out.println(c[1]);//200
System.out.println("Hello World!");
}
}
1.6数组作为返回值
public static int[] createArray(int n ){//创建数组的方法
Scanner input = new Scanner(System.in);
int[] a = new int[n];
for(int i = 0;i < n;i++){
System.out.println("输入第"+(i+1)+"个数:");
a[i] = input.nextInt();
}
return a;
}
1.7可变参数
class Test6Array
{
//求一组int类型的数据的和
public static void getSum(int ... nums ){
int sum = 0;
for(int i = 0;i <nums.length;i++){
sum += nums[i];
}
System.out.println("结果:" + sum);
}
public static void main(String[] args)
{
/*
可变参数:同一种类型的参数,类型固定的,但是个数不固定。
语法的支持:
数据类型 ... 参数名
可变参数,类型固定,个数可变。0-多个
在方法中可变参数当数组使用
*/
getSum(1,2,3);
getSum(1,2,3,4,5,6,7,8,9,10);
System.out.println("Hello World!");
}
}
概念:一个方法可以接收的参数的数量不定(0-多个),但是类型固定。
语法:数据类型 ... 参数名,可变参数在方法中当数组使用。
注意事项:
1、如果参数列表中,除了可变参数还有其他的参数,可变参数要写在整个参数列表的最后。
2、一个方法最多只能有一个可变参数。
1.8数组的排序