因为数组变量和元素分开存储(栈放变量,堆放元素,变量的值是元素的地址)
new出来的都放在堆里
9 100 -99 -65 0 9 43 12
for循环从0开始,而数组的长度是0~length-1
12 43 9 0 -65 -99 100 9
冒泡排序:
每次找最大的,外循环执行多少趟n-1,内循环一趟循环n-1-i次。
外层:控制循环多少趟 N个数字要排序要排序完成,总共进行N-1趟排序
内层:控制每一趟循环的循环次数 每趟排序次数为N-i 每进行一趟排序,就会少比较一次。因为每一趟都会找出一个较大值 内层:uu.length-1是因为只用比那么多次,再-i是因为每一次都会找出较大值到最后那个位置就不用变了
选择排序:
每次找最小的,外循环执行多少趟n-1,内循环j=i(i),j<n-1-i
每一趟都选出最小的和当前值交换位置
每一趟从i后一个元素开始,因为最小的已经找到了就不用再比较了
数组元素默认初始化值:
byte short int long:0
float double:0.0
char:空格
boolean:false
引用类型(类、接口、数组):null
数组常见异常:
1.数组下标越界java.lang.ArrayIndexOutOfBoundsException
2.空指针NullPointerException
二维数组赋值要 int[][]r=new int[5][]
不能r[3][1]=12
需要
r[3]=new[5]
r[3][1]=12
网友评论