排序:
//快速排序法、选择排序法、冒泡排序法
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 ) 二维数组
- 定义
数据类型[][] 数组名
数据类型 数组名[][]
- 初始化
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("暂不支持该城市查询!");
}
}
}
//运行结果:
请输入您要找的城市:深圳
深圳位于广东省