JAVA基础知识7【可变参数和冒泡排序】

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.length­1次就可以了
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;
}
}
}
}
}

 

 

 

你可能感兴趣的:(JAVA基础知识7【可变参数和冒泡排序】)