下面先来看一个例子
小龙女对杨过说,你今天要练成玉女心经哦!否则就对我说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;}
来源:http://www.cnblogs.com/meng72ndsc/archive/2010/12/20/1911087.html