while循环结构

狂风中的少年 提交于 2019-11-28 18:38:15

下面先来看一个例子

小龙女对杨过说,你今天要练成玉女心经哦!否则就对我说1000次我爱你。杨过没有完成任务:

 

代码
public class ILoveU{    public static void main(String[] args) {        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");        System.out.println("我爱你");                // 太难说了    }}

好难啊!!!怎么解决呢?使用循环吧!!!

 

while循环

看下面的例子:

 

public class ILoveU{    public static void main(String[] args) {        int i =1;        while(i<=1000) {            System.out.println("我爱你");            i++;        }    }}

 

|- 比较:比第一种方法要简洁好多。这就是这节课要学习的while循环语句

       |- while循环的使用:

       |- while循环错误的使用:

 

while(int i = 1;i<=20) {    System.out.println("我爱你");    i++;}
代码
import java.util.*;public class Test {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        String answer = "y";        System.out.println("小龙女:你爱我吗?(y/n)");        answer = input.next();        if(!answer.equals("y")) {            System.out.println("小龙女:罚说5遍\"我爱你\"!");            while(!answer.equals("y")) {                int i = 1;                while(i <= 5) {                    System.out.println("杨过:龙儿,我爱你");                    i++;                }                System.out.println("小龙女:你爱我吗?(y/n)");                answer = input.next();                }            System.out.println("我也爱你,过儿!");            }    }}

|- 问题:根据输入的学员成绩,来求出平均成绩

 

 

代码
import java.util.*;public class Test {    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        String className;   // 用来保存该班班级号        int studentNum;     // 用来保存该班学员人数        double studentScore;// 用来保存学员的成绩        double totalScore = 0;        double avg;        System.out.print("请输入该班班级号: ");        className = input.next();                /*判断是否输入班级号*/        if(className.equals(null)) {            while(className.equals(null)) {                System.out.print("请输入该班班级号: ");                className = input.next();            }        }        /*判断是否输入学员人数*/        System.out.print("请输入该班学员人数: ");        studentNum = input.nextInt();        if(studentNum == 0) {            while(studentNum == 0) {                System.out.print("请输入该班学员人数: ");                studentNum = input.nextInt();            }        }        int i = 1;        while(i<= studentNum) {            System.out.print("请输入学员"+i+"的成绩: ");            studentScore = input.nextInt();            i++;            totalScore += studentScore;        }        System.out.print(className + "班总分是:" + totalScore);        avg = totalScore / studentNum;        System.out.print("\n" + className + "班平均分是:" + avg);    }}

 

while循环常见错误:

错误操作代码:

                   int i = 1;

                   while(i <= 4) {

                            System.out.println("HELLO WORLD");

                            // 这里缺少了i++

                   }    // 这就是传说中的死循环

                   int i = 1;

                   while(i > 4) {

                            System.out.println("HELLO WORLD");

                            i++;

                   }    // 一次也没有打印

                   int i = 1;

                   while(i < 4) {

                            System.out.println("HELLO WORLD");

                            i++;

                   }   // 只打印了3次

do-while 循环

|- 从英文的字面意思可以知道是先做,再循环。

       |-举例:听写单词,如果没有满分,就继续听写。

|- 下面先看一个演示:

 

代码
import java.util.*;public class Test {    public static void main(String[] args) {        String answer = "y";        Scanner input = new Scanner(System.in);        do {            System.out.println("考vb");            System.out.println("考java");            System.out.println("考oracle");            System.out.print("及格了吗?");            answer = input.next();        } while(!answer.equals("y"));        System.out.println("过儿,你可以不再古墓待了,你毕业了。");    }}

 

|- 如何使用do-while循环

|- 问题:连续录入某班学员姓名,直到输入“c”,才录入完毕。

 

代码
import java.util.*;public class Test {    public static void main(String[] args) {        String flag = "c";        String name;        Scanner input = new Scanner(System.in);        do {            System.out.println("请输入学员姓名:");            name = input.next(); // 从控制台接受输入        }while(!name.equals(flag));        System.out.println("录入完毕");    }}

 

|- do-while的死循环

 

int i =1;do{    System.out.println("死循环");    // i++;}while(i< 5);

 

|- while和do-while的区别

   |-相同点:

     |- 都是循环结构,使用“while(循环条件)”表示循环条件,使用大括号将循环操作括起来。

       |- 不同点:

            |- 语法不同。与while循环相比,do-while循环将while关键字和循环条件放在后面,而且前面多了一个do关键字,后面多了一个分号。

            |- 执行次序不同。While循环先判断,再执行;do-while循环先执行,再判断。

            |- 一开始循环条件就不满足的条件下,while循环一次都不会执行,do-while循环则不管在什么情况下都至少执行一遍。


使用循环打印:100、95、90、85…10、5

int a = 100;while(a>=5) {    System.out.print(a + "、");    a=a-5;}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!