排序:
//快速排序法、選擇排序法、冒泡排序法
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
int arr[]={5,4,3,2,1};
// //快速排序法
// System.out.println("快速排序法:");
// Arrays.sort(arr);
// for (int i = 0; i < arr.length; i++) {
// System.out.print(arr[i]+" ");
// }
// System.out.println();
// //選擇排序法
// System.out.println("選擇排序法:");
// for (int i = 0; i < arr.length-1; i++) {
// int min=i;
// for (int j = i+1; j < arr.length; j++) {
// if(arr[min]>arr[j]){
// min=j;
// }
// }
// if(min!=i){
// int temp=arr[i];
// arr[i]=arr[min];
// arr[min]=temp;
// }
// }
// for (int i = 0; i < arr.length; i++) {
// System.out.print(arr[i]+" ");
// }
// System.out.println();
//
//冒泡排序法(輸出排序過程)
System.out.println("冒泡排序法:");
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j+1]<arr[j]){
int temp=0;
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
for (int k = 0; k < arr.length; k++) {
System.out.print(arr[k]+" ");
}
System.out.println();
}
System.out.println();
}
}
}
//運行結果:
冒泡排序法:
4 5 3 2 1
4 3 5 2 1
4 3 2 5 1
4 3 2 1 5
3 4 2 1 5
3 2 4 1 5
3 2 1 4 5
2 3 1 4 5
2 1 3 4 5
1 2 3 4 5
( 3 ) 二維數組
1) 定義
數據類型[][] 數組名
數據類型 數組名[][]
2) 初始化
int arr[][] ={{1,2},{1,2,3},{4,5,6,7}};
int arr2[][]= new int[3][];
int arr3[][]=new int{{1,2},{1,2,3},{4,5,6,7}};
【除了定義的值,其他值是否爲null?】
3)遍歷數組
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.println(arr[i][j]);
}
}
Test:
//1、二維數組的定義、初始化、遍歷public class Test1
public class Test1 {
public static void main(String[] args){
//二維數組的定義
/*int arr1[][];
int [][] arr2;*/
//初始化
int arr1[][] ={{1,2},{1,2,3},{4,5,6,7}};
int arr2[][]=new int[3][];
int arr3[][]=new int[][]{{1,2},{1,2,3},{4,5,6,7}};
//遍歷
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
System.out.print(arr1[i][j]+"\t");
}
System.out.println();
}
}
}
//運行結果:
1 2
1 2 3
4 5 6 7
//2、計算三個班級的總成績。
public class Test2 {
public static void main(String[] args) {
int [][]arr={{66,95},{98,42,75},{23,86,65}};
for (int i = 0; i < arr.length; i++) {
int total=0;
for (int j = 0; j < arr[i].length; j++) {
total+=arr[i][j];
}
System.out.println("第"+(i+1)+"個班級的總成績爲:"+total);
}
}
}
//運行結果:
第1個班級的總成績爲:161
第2個班級的總成績爲:215
第3個班級的總成績爲:174
//3、根據輸入的城市查詢省份
import java.util.*;
public class Test3 {
public static void main(String[] args) {
String findCity;
boolean isFound=false;
Scanner scanner=new Scanner(System.in);
String [][] citys = {
{"廣東省","廣州","深圳","珠海"},
{"江蘇省","南京","無錫","蘇州"},
{"浙江省","杭州","寧波","溫州"},
{"河南省","洛陽","南陽","信陽"}
};
System.out.print("請輸入您要找的城市:");
findCity= scanner.next();
outer:for (int i = 0; i < citys.length; i++) {
for (int j = 1; j < citys[i].length; j++) {
if(findCity.equals(citys[i][j])){
isFound=true;
System.out.println(findCity+"位於"+citys[i][0]);
}
}
}
if(!isFound){
System.out.println("暫不支持該城市查詢!");
}
}
}
//運行結果:
請輸入您要找的城市:深圳
深圳位於廣東省