java 数组
1 数组的概述:
2,数组的声明和赋值
赋值:
3,数组的长度,元素的调用 和遍历
遍历:和其他语言一样不用记录
4,数组的默认值,
整型类的默认为0
浮点型的默认为0.0
字符型默认为0 或\u0000
布尔型默认为false
引用数据类型(类,接口。。) 为null
5,一维数组的内存解析
6,多维数组的初始化和元素调用
以二维数组为例
二维数组的默认值:
1.如果是打印外层的: 那么就是返回在队中的地址 比如
2,如果是打印最内层的,则取决于最里面一层的类型,然后根据上面一维数组的默认规则 就知道了
7,二维数组内存解析
练习题:
8,一维数组求最大值和最小值 : 取数组任一一个和其他的for循环对比即可
8,数组的复制
反转
8,数组的查找(线性查找,二分法查找)
线性查找:for循环加上判断
如果用二分法必须是数组是有序的
9,数组排序 (冒泡排序)
int[] test = new int[]{-2,12,33,4,53,32,-23,-5,3,1,100};
//我的理解就是,二二对比,每一轮找出最大的,然后把最大的放最后,
然后把剩下的找出最大的,排倒数第二(所以test.length-1-i 的目的就是让剩下的循环了,剔除已经排好的数字)
for(int i=0; i<test.length; i++){ //总共对比长度-1次,因为自己不用和自己比
for(int j=0; j<test.length-1-i; j++){//每次 和剩余所有的元素 依次进行对比
if(test[j] > test[j+1]){
int temp = test[j+1];
test[j+1] = test[j];
test[j] = temp;
}
System.out.print("第"+(i+1)+"轮 "+"第"+(j+1)+"次处理后:");
for(int k=0; k<test.length; k++){
System.out.print(test[k]+" ");
}
System.out.println("");
}
10,操作数组的类
import java.util.Arrays
#判断二个数组是否相等
#输出数组成字符串
#将指定的值填充到数组中
#排序
#二分法查找