1,可变参数
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况, java把可变参数当做数组处理。 注意:可变参数必须位于最后一项。 原因:当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一 个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无 法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位 于最后一项。
可变参数的特点: (1)只能出现在参数列表的最后;
(2)...位于变量类型和变量名之间,前后有无空格都可以;
(3)调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法 体中以数组的形式访问可变参数。
public class Array { public static void main(String[] args) { System.out.println(add(2, 3)); System.out.println(add(2,3,5,6,20)); } public static int add(int x, int... args) { int sum = x; for (int i = 0; i < args.length; i++) { sum += args[i]; } return sum; } }
2冒泡排序
原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第 1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数 放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全 部排序完成。 第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一 个数不参与比较; 第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后 两个数不参与比较; 依次类推,每一趟比较次数1;
public class Array { public static void main(String[] args) { int[] num = {6,3,8,2,9,1}; System.out.println("长度"+num.length); for (int i = 0; i < num.length; i++) { System.out.println(num[i]); } method(num); System.out.println("排序完成"); for (int i = 0; i < num.length; i++) { System.out.println(num[i]); } } private static void method(int[] num) { for (int i = 0; i < num.length 1; i++) { //外循环只需要比较 arr.length1次就可以了 for (int j = 0; j < num.length 1 i; j++) { //1为了防止索引越 界,i为了提高效率 //交换操作 if(num[j] > num[j+1]) { int temp = num[j]; num[j] = num[j + 1]; num[j+1] = temp; } } } } }