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

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

循环的三要素:

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+"分");

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,166评论 0 41
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 408评论 0 0
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,916评论 0 2
  • 第一章 初识javaJAVA 第一讲:什么是程序?:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的...
    人子日月几点阅读 544评论 0 1
  • 人格分裂症是什么我想大家应该并不陌生,我们多多少少也从不少的恐怖片中有所了解,我也就不用过多的理论来解释...
    不懂wz阅读 1,016评论 0 3