一、冒泡排序
//冒泡排序算法
public class Test1 {
public static void main(String[] args) {
int num[]= {4,67,34,23,99,10}; //定义数组
boolean falg=false; //标记
//外层n-1
for (int i = 0; i < num.length-1; i++) {
falg=true; //循环开始,标记为true
//内层n-1-i
for (int j = 0; j < num.length-1-i; j++) {
//比较,交换元素
if(num[j]>num[j+1]) { //升序排序
int temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
falg=false; //每比较元素,标记为false
} //if判断
} //内层循环
} //外层循环
//打印排序后的数组
for (int i : num) { //for增强型循环
System.out.print(i+"\t");
}
}
}
冒泡排序口诀:
n个数字来排队,两两相比小靠前
外层循环n-1,内层循环n-1-i
如果要逆序排序只要将大于该成小于号就可以!
2.增强型for循环:
for(数据类型 变量名:数组或者集合){
//循环体
}
二、二维数组
概念:数组中的元素又包含了另一个数组! (理解) java中只有一维数组,没有多维数组,
或者说,表面是多维数组,实际上都是一维数组。
语法: 数据类型 [ ] [ ] 数组名;
或者:
数据类型 数组名 [ ] [ ] ;
定义二维数组:
定义了一个整型的二维数组,并且声明了长度为3,每个元素又包含了数组
int [][] num=new int[][]{{45,34,23,65},{34,56},{29,55}};
或者:
int [][]num={{45,34,23,65},{34,56},{29,55}};
注意:上面数组已经声明了长度,就不能再在[] 中声明长度了!!!
三、Arrays类的方法
java中JDK提供了一个专门用于操作数组的工具类,就是Arrays类,位于java.util包中。
1.equals() 是用于比较两个数组是否相等,只有两个数组长度相等,
并且对应位置的元素以一一相对,该方法返回true,否则返回false.
2.toString(array)是将一个数组array转换成字符串。
3.Arrays.sort(数组名)是将数组进行升序排序。
int nums[]= {45,34,12,99,3}; //定义数组
Arrays.sort(nums); //排序,升序
System.out.println(Arrays.toString(nums)); //转换成字符串