文章目录
- 嵌套循环
- 数组
- 数组的定义
- 数组的初始化
- 数组在内存中的理解
- 两个数组的内存图
- 数组的两大异常:
- 冒泡排序
- 插入排序
嵌套循环
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第1张图片](http://img.e-com-net.com/image/info8/7353e2e47f1749e2989869b342df3e67.jpg)
嵌套循环练习:
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第2张图片](http://img.e-com-net.com/image/info8/b6f2cf7e979e4ef39012c5584defa5e7.png)
for (int i = 1; i <=4; i++) {
System.out.println("");
for (int j = 1; j <= 5; j++) {
System.out.print("*");
}
}
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第3张图片](http://img.e-com-net.com/image/info8/3a7b1248ab9442289cab7b4dc7111d7a.png)
for (int i = 0; i <=5; i++) {
System.out.println("");
for (int j = 0; j
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第4张图片](http://img.e-com-net.com/image/info8/3598fb330629423990029a26a95dc2cb.png)
for (int i = 1; i <=9 ; i++) {
for (int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
System.out.println("");
}
数组
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第5张图片](http://img.e-com-net.com/image/info8/1835735f66014b73b03ba39c9242670a.jpg)
数组的定义
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第6张图片](http://img.e-com-net.com/image/info8/9ac99aa9b96546dcb7b32d42a90a87b4.jpg)
数组的初始化
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第7张图片](http://img.e-com-net.com/image/info8/8b15bf951dd745eb8ee162c1f0b5f0eb.jpg)
数组在内存中的理解
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第8张图片](http://img.e-com-net.com/image/info8/4d129f5de8424d89b3ac16e1f062ef2c.jpg)
两个数组的内存图
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第9张图片](http://img.e-com-net.com/image/info8/e19c208bd4014656be098d79534f0ec5.jpg)
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第10张图片](http://img.e-com-net.com/image/info8/7dcc8986e09046769d999316a48c89a7.jpg)
数组的两大异常:
数组索引越界异常
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第11张图片](http://img.e-com-net.com/image/info8/5e0927cdef6a4b8180befee6f38efa40.png)
空指针异常
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第12张图片](http://img.e-com-net.com/image/info8/e3fd0cf8e2604d82ac15d91e96db3812.jpg)
数组练习
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第13张图片](http://img.e-com-net.com/image/info8/ef9eb928468842f8ac0c250f1c19165c.jpg)
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第14张图片](http://img.e-com-net.com/image/info8/e1b7887cbca046f9a00e23d63f6c704a.jpg)
冒泡排序
冒泡排序代码示范:
int [] arr = {34,253,1,658,45,111};
int temp;
for(int i = 0; i < arr.length-1; i++) {//轮数
for(int j = 0; j < arr.length-1 - i; j++) {//次数
//比较 和 互换
if(arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int a : arr) {
System.out.println(a);
冒泡排序练习:
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第15张图片](http://img.e-com-net.com/image/info8/f24b62269a974d8b98b393f7e49cff25.jpg)
public static void main(String[] args) {
char[] a=new char[]{'a','c','u','b','e','p','f','z'};
System.out.println("原字符序列:"+Arrays.toString(a));
char temp=a[0];
for (int i = 0; i a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println("升序排序后:"+Arrays.toString(a));
for (int i = 0; i
插入排序
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第16张图片](http://img.e-com-net.com/image/info8/1fb1d7bee33c4825aac8a105200b5bdc.jpg)
插入排序代码示范:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你想插入的值:");
int num = input.nextInt();
int[] a = new int[11];//动态定义数组
a[0] = 10;
a[1] = 20;
a[2] = 30;
a[3] = 40;
a[4] = 50;
a[5] = 60;
a[6] = 70;
a[7] = 80;
a[8] = 90;
a[9] = 100;
int maxNum = a[0];
for (int i = 0; i < a.length; i++) {
if (a[i] > maxNum) {
maxNum = a[i];
}
}
if (num > maxNum) {
a[a.length - 1] = num;
} else {
int index = -1;
for (int i = 0; i < a.length; i++) {
if (a[i] > num) {
index = i;
break;
}
}
for (int i = a.length - 1; i > index; i--) {
a[i] = a[i - 1];
}
a[index] = num;
}
System.out.println(Arrays.toString(a));
}
插入排序练习:
![8.3 [JavaSE] 嵌套循环.数组.冒泡排序.插入排序_第17张图片](http://img.e-com-net.com/image/info8/6b9b69531b9d49fcb2f8581d16dcfd93.jpg)
public static void main(String[] args) {
char[] a=new char[9];
a[0]='a';
a[1]='b';
a[2]='c';
a[3]='e';
a[4]='f';
a[5]='p';
a[6]='u';
a[7]='z';
char temp='m';
System.out.print("原字符序列:");
for (int i = 0; i index;i--){
a[i]=a[i-1];
}
a[index]=temp;
System.out.print("插入后的字符序列是:");
for (int i = 0; i < a.length ; i++) {
System.out.print(a[i]+"\t");
}
}