Java day06
程序员文章站
2022-03-14 10:16:00
...
冒泡排序
概念:相邻两个元素进行比较,互换位置。
代码:
int[] a = {3,6,4,2,11,10,5};
for(int j = 0; j<a.length - 1; j++){//j = 0 ,1 ,2 ,3
for(int i = 0; i<a.length-1-j; i++){//? = 0 1 2 3
if(a[i] > a[i+1]){//? 0 1
int temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
}
}
}
选择排序
概念:固定值和其他值依次比较,交换位置。
代码:
int[] a = {4,6,32,5,12,2,15,28,9,10};
for(int j = 0; j<a.length-1; j++){ // j = 0 1 2 3 次数
for(int i = j; i<a.length-1; i++){ // j = 0 1 2 3 作比较
if(a[j] > a[i+1]){ //? =
int temp = a[j];
a[j] = a[i+1];
a[i+1] = temp;
}
}
}
快速排序
语法:java.util.Arrays.sort(数组名);(背)
代码:
int[] a = {3,4,5,2,1};
java.util.Arrays.sort(a);//注:只能完成升序
可变长参数
概念:可以接收多个同类型的实参,个数不限,使用方式和数组一致。
语法:数据类型... 形参名
注意:可变长参数必须在最后一个形参
举例:
public static void add4(int a, int... b){}//可变长参数是最后一个形参 √
public static void add4(int... b, int a){}//可变长参数不是最后一个形参 ×
public static void main(String[] args){
int a = 10;
int b = 20;
add(a,b);
add2(10,20,30);
//add3();
add3(10);
add3(10,20);
//add4(10,20,30);
}
//写一个函数完成两个整数(int)求和
public static void add(int c, int d){
System.out.println(c + d);
}
//写一个函数完成三个整数(int)求和
public static void add2(int c, int d,int e){
System.out.println(c + d + e);
}
//写一个函数完成整数(int)求和
public static void add3(int... array){//array:可变长等同于数组
//System.out.println("我是可变长");
int sum;
for(int i = 0; i<array.length; i++){
sum += array[i];
}
System.out.println(sum);
}
二维数组
概念:一维数组中的每一个元素还是一个一维数组。(了解)
二维数组的创建:
方式1:先声明,再分配空间
语法:数据类型[][] 数组名;
数组名 = new 数据类型[行][列];
举例:int[][] a;
a = new int[3][2];
方式2:声明并分配空间(掌握)
语法:数据类型[][] 数组名 = new 数据类型[行][列];
举例:int[][] b = new int[3][4];
方式3:声明并赋值(麻烦)(了解)
语法:数据类型[][] 数组名 = new 数据类型[行][];
数组名[行] = new 数据类型[列];
举例:int[][] c = new int[2][];
c[0] = new int[5];
c[1] = new int[3];
方式4:声明并赋值(简单)(掌握)
语法:数据类型[][] 数组名 = { {值1...}, {值1...}, {值1...} };
举例:int[][] d = { {1,2,3},{1,1,1,1,1,1},{2,4} };
上一篇: 三层架构