总结:运行显示数组下标越界说明,数组长度a.length.表示数组的长度,但索引值是要减一的。勿忘
package com.c2;
//冒泡排序 //从小到大的顺序排列
public class MAO {
public static void main(String[] args) {
int a[] = { 2, 1, 67, 7, 4, 8 };
for (int i = 0; i < a.length; i++) {
System.out.println(a[i] + " ");
}// 如果这里a.length不减一,就会数组越界,数组长度减一则是索引值
int temp;// 存储交换的变量值
for (int i = 0; i < a.length - 1; i++) {// 比较n-1轮
for (int j = 0; j < a.length - 1 - i; j++) {// 第i轮需要比较a.length-i次。再减一,防止数组下标越界
if (a[j] < a[j + 1]) {// 从大到小
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
System.out.println();
System.out.print("排序后的顺序为:");
for (int i = 0; i < a.length; i++) {
System.out.println(a[i] + " ");
}
}
}