while循环结构

下面先来看一个例子

小龙女对杨过说,你今天要练成玉女心经哦!否则就对我说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;
}

 

posted @ 2010-12-20 10:25  meng72ndsc  阅读(12988)  评论(0编辑  收藏  举报