Java学习第二周(2)
数组
容器的概念
是将多个数据存储到一起,每个数据称之为容器的元素
//水杯,衣柜,教室
数组:就是用来存储固定长度的容器,并且保障所有元素的类型统一
数组就是对象
数组的定义方式
1.静态绑定
2.动态绑定
private static void guokexun() {
//数组
int a=10;
//静态
int[] arr={1, 2, 3};
System.out.println(arr[0]);
//动态
int[] arr1=new int[5];
System.out.println(arr1[0]);
arr1[0]=1;
//第三种定义方式 静态绑定
int[] arr2=new int[]{1, 2, 3};
int[] arr3={2, 0, 1 ,9, 8, 8};
Arrays.sort(arr3);
//从小到大排序
System.out.println("排序后的数组");
for (int i:arr3){
System.out.println(i);
}
}
数组是引用数据类型
private static void demo2() {
String s1="guo";
System.out.println(s1);
int[] arr1={1 ,2 ,3};
Person n1=new Person();
System.out.println(n1);
}
数组的继承
Object是所有类的超类
特例:
数组类型可以向上转型为Object[],但是真实父类其实是Object;
private static void demo3() {
String[] s1=new String[5];
//向上转型
Object o=s1;
Object[] o1=new Object[5]; System.out.println(s1.getClass().getSuperclass().getName());
Object[] o2=s1;
}
增强for循环
private static void demo4() {
int[] arr={12,22,11,99};
for (int i=0;i<4;i++){
System.out.println(arr[i]+" ");
}
System.out.println();
for (int i:arr){//快捷键iter
System.out.print(i+" ");
}
}
最大值,最小值的查询
private static void demo5() {
int[] arr={99,22,77,1,55};
int max=0;
int min=arr[0];
for (int i : arr) {
if (i>max)
max=i;
}
for (int i : arr) {
if (i<min)
min=i;
}
System.out.println("最大值为"+max);
System.out.println("最小值为"+min);
}
数组交换顺序
private static void demo6() {
int[] arr={33,21,45,22,13};
for (int min=0,max=arr.length-1;min<=max;min++,max--){
int temp=arr[min];
arr[min]=arr[max];
arr[max]=temp;
}
for (int i : arr) {
System.out.println(i);
}
}
数字内存
private static void demo7() {
int i=1;
i=i++; //i++ 先赋值在运算,例如 a=i++,先赋值a=i,后运算i=i+1,所以结果是a==1
int j=i++;
int k=i+ ++i*i++; //++i先运算在赋值,例如 a=++i,先运算i=i+1,后赋值a=i,所以结果是a==2
System.out.println(i+" "+j+" "+k);//i=4 j=1 k=11
}