JavaSE三种循环注意点

2019-02-28  本文已影响0人  金石_832e

while 和 do...while的区别:

当判断条件表达式为false的时候, do...while会执行一次do{}中的代码。而while则直接跳过循环。

while 、do...while、for

break、continue:

break关键字:break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句。
continue关键字:语句将控制权传递给它所在的封闭迭代语句的下一次迭代。(跳出本循环,执行下一次循环)。

死循环:死循环同样很重要,实际开发中,一般内部都会设有在满足一定需求下跳出循环的代码。


Scanner的使用需注意问题

public class ScannerProblemDemo {
public static void main(String[] args) {
    // 特殊情况:第一次获取的是数字,第二次获取是字符串
    Scanner scan = new Scanner(System.in);
    System.out.println("请输入一个数字1");
    int num1 = scan.nextInt();
    System.out.println("请输入一个字符串2");
    scan.nextLine();
    String str2 = scan.nextLine();
    System.out.println(num1+","+str2);
    /*
     * 在控制台输入的所有数据都会进入内存
     * int num1 = scan.nextInt(); 
     * num1会将内存中的数据取走,但内存中还保留了一个enter
     * String str2 = scan.nextLine();str2直接就把上次留下的enter取走了
     * 所以没有给我们输入字符串的机会
     * 解决方式:先用scan.nextLine();把上次留下的enter取走
     */
}

}

当扫描器分别接收数字和字符串时,在输出数字和字符串的中间插入 scan.nextLine();因为在控制台输入完数字或字符串时,需要按下回车键。此时,回车键的内容会记录到内存中,因此插入scan.nextLine();来读取出回车键对应的内容。


冒泡排序、选择排序

public class Demo{
public static void main(String args[]){
// 冒泡
int score [] = {7,2,8,3,9,1,0,12,65};
for(int i=1;i<score.length;i++){
for(int j=0;j<score.length-i;j++){
    if(score[j]<score[j+1]){
        int temp=0;
        temp =score[j+1] ;
        score[j+1] = score[j];
        score[j] = temp;
}
}
}
}
//选择
for(int i =0; i<score.length-1;i++){
for(int j =i+1; j<score.length;j++){
if(score[i]<score[j]){
        int temp=0;
        temp =score[j] ;
        score[j] = score[i];
        score[i] = temp;

}
}
}
上一篇 下一篇

猜你喜欢

热点阅读