循环的结构特点 : 循环条件 循环操作
----- while 循环
来个小例子,实现打印50 份shij
1、确定循环条件和循环操作
2、套用while语法写出代码
3、检查循环能否退出
public class WhileDemo { /*
* 如何使用while循环
*/
public static void main(String[] args) {
int count = 1;
while(count <= 50){
System.out.println("打印第" +count+ "份试卷");
count++;
}
}
}
复杂一点 通过输入的进行判断要不要进行循环
import java.util.Scanner; public class WhileDemo { /*
* 如何使用while循环
*/
public static void main(String[] args) {
String answer; //标识是否合格
Scanner input = new Scanner(System.in);
System.out.print("合格了吗?(y/n):");
answer = input.next();
while(!"y".equals(answer)){
System.out.println("上午阅读教材!");
System.out.println("下午上机编程!\n");
System.out.print("合格了吗?(y/n):");
answer = input.next();
}
System.out.println("完成学习任务!");
}
}
------------- do- while 循环
//经过几天学习,要让其先进行编写在进行,判断要不要进行编写 import java.util.Scanner; public class DoWhileDemo { /*
* 如何使用do-while循环
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String answer = ""; //标识是否合格
do{
System.out.println("上机编写程序!");
System.out.print("合格了吗?(y/n)");
answer = input.next();
System.out.println("");
}while(!"y".equals(answer));
System.out.println("恭喜你通过了测试!");
}
}
注意: while 与 do-while 循环的区别
--- for 循环
好处 : 比while循环更加简洁
计算平均分
import java.util.*;
public class AverageScore{
/**
* 统计80分以上学生比例
*/
public static void main(String[] args){
int score; //每门课的成绩
int sum = 0; //成绩之和
double avg = 0.0; //平均分
Scanner input = new Scanner(System.in);
System.out.print("输入学生姓名: ");
String name = input.next();
for(int i = 0; i < 5; i++){ //循环5次录入5门课成绩
System.out.print("请输入5门功课中第" + (i+1) + "门课的成绩: ");
score = input.nextInt(); //录入成绩
sum = sum + score; //计算成绩和
}
avg = (double)sum / 5; //计算平均分
System.out.println(name + "的平均分是:" + avg);
}
}
输出加法表
import java.util.*;
public class SumTable {
/**
* 输入整数,输出其加法表
*/
public static void main(String[] args){
int i, j;
Scanner input = new Scanner(System.in);
System.out.print("请输入一个值: ");
int val = input.nextInt();
System.out.println("根据这个值可以输出以下加法表: ");
for(i = 0, j = val; i <= val; i++, j--){
System.out.println(i + " + " + j + " = " + (i+j));
}
}
}
for循环里面的不可以少两个分号啊
--------- 总结 三个循环的特点
-------- 区别
区别2: 执行顺序
while循环:先判断,在执行
do-while循环:先执行,在判断
for循环: 先判断,在执行
区别3: 适用情况
循环次数确定的情况通常使用for循环
循环次数不确定的情况通常使用while循环 在判断是先执行在循环 还是先循环在执行
-- 使用三种方法计算100以内偶数和
public class EvenSum { /*
* 计算100以内偶数之和
* 思考:还有没有其他方式?
*/
public static void main(String[] args) {
//使用while
/*int sum = 0; //当前之和
int num = 2; //加数
while(num <= 100){
sum = sum + num; //累加
num = num + 2;
}
System.out.println("100以内的偶数之和为:" + sum);*/ //使用do-while
/*int sum = 0; //当前之和
int num = 2; //加数
do{
sum = sum + num; //累加
num = num + 2;
}while(num <= 100);
System.out.println("100以内的偶数之和为:" + sum);*/ //使用for
int sum = 0; //当前之和
for(int num=2;num<=100;num=num+2){
sum = sum + num; //累加
}
System.out.println("100以内的偶数之和为:" + sum);
}
}