java学习

NO.4 循环结构(while、do…while、for)

2017-07-05  本文已影响0人  smallnumber

循环的作用是反复执行一段相同或相似的代码。

循环的三要素:

1)循环变量的初始化

2)循环的条件(以循环变量为基础)

3)循环变量的改变(向着循环结束的方向改变)

循环变量:在整个循环过程中所反复改变的那个数


循环结构有以下三种

1) while:先判断后执行,有可能一次也不执行

2)do...while:先执行一次再判断,满足条件则继续执行

循环的三要素中1)和3)相同时,首选do...while

3)for:应用率最高,适用于固定次数循环

另外,break--跳出循环;continue--跳过循环体中剩余语句而进入下一次循环。


案例一:猜数字之while

思路----1)定义一个随机数 2)接受用户输入的数 3)while判断不等,判断与随机数的大小,用户继续输入直到结束循环

int num=(int)(Math.random()*1000+1);

Scanner scan=new Scanner(System.in);

System.out.println("请输入一个整数(0到1000,输0退出):");

int guess=scan.nextInt();

while(guess!=num){

        if(guess==0){

        System.out.println("再见!!");

        break;

    }

    if(guess>num){

        System.out.println("猜大了!");

    }else{

        System.out.println("猜小了!");

    }

    System.out.println("请输入一个整数(0到1000,输0退出):");

    guess=scan.nextInt();

}

scan.close();

if(guess==num){

    System.out.println("恭喜你猜对了!!!");

}


案例一:猜数字之do...while

思路----1)定义一个随机数 2)do接受用户输入的数,判断与随机数的大小3)while判断不等,用户继续输入直到结束循环

int num=(int)(Math.random()*1000+1);

Scanner scan=new Scanner(System.in);

int guess;

do{

    System.out.println("请输入一个整数(0到1000,输0退出):");

    guess=scan.nextInt();

    if(guess==0){

        System.out.println("再见!!");

        break;

    }

    if(guess>num){

        System.out.println("猜大了!");

    }else if(guess<num){

        System.out.println("猜小了!");

    }

}while(guess!=num);

scan.close();

if(guess==num){

    System.out.println("恭喜你猜对了!!!");

}


案例三:随机加法运算之for

思路----1)出题,定义两个随机数 2)答题,接收用户的输入3)判题,答对分数累计,答错不加分

Scanner scan=new Scanner(System.in);

int score=0;

for(int i=1;i<=10;i++){

    int a=(int)(Math.random()*100);

    int b=(int)(Math.random()*100);

    System.out.println("("+i+")"+a+"+"+b+"=?");

    System.out.println("请输入答案(输入-1可退出):");

    int answer=scan.nextInt();

    if(answer==-1){

        System.out.println("再见!!");

        break;

    }

    if(answer==a+b){

        System.out.println("答对了");

        score+=10;

    }else{

        System.out.println("答错了");

    }

}

scan.close();

System.out.println("最终得分为:"+score+"分");

上一篇下一篇

猜你喜欢

热点阅读