为什么需要有循环语句呢
因为有需求啊。。。。比如打印50份试卷
1.
while(循环条件){
语句
}
do{
语句
}while(循环条件)
for(int i;i<10;i++){
语句
}
break语句也能作为循环语句的跳出语句
1.while循环
当循环条件为true时,开始循环,直至循环条件为false时,终止循环跳出
例题:
如何用程序描述下面这个故事呢?
老师每天检查张浩的学习任务是否合格,如果不合格,则继续进行。老师给张浩安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分
package Day01;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
final String name = "张浩";
Scanner input = new Scanner(System.in);
System.out.println("请输入"+name+"同学的成绩:");
int score = input.nextInt();
int day = 1;
while(score<60){
System.out.println("第"+day+"天上午阅读教材,学习理论部分");
System.out.println("第"+day+"天下午上机编程,掌握代码部分");
score+=5;
day++;
}
System.out.println("学习任务已合格");
}
}
2.do while循环:在循环之前就会先执行一次
如何用程序讲述下面的故事?
经过几天的学习,老师给张浩一道测试题,让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写…… `
do{
上机编写程序
}while(不合格);
特点:先执行在判断
while和do while区别:
1.语法不同
while(循环条件){
语句
}
do{
语句
}while(循环条件)
2.执行次序不同
3.初始情况不满足时
(1)while一次都不会执行
(2)do while不管发生什么情况 都至少执行一次
for循环
输出100次好好学习
while语句
int i=0;
while(i<100){
System.out.println("好好学习!");
i++;
}
for语句
for(int i=0;i<100;i++){
System.out.println("好好学习!");
}
循环次数固定时,for比while更简洁
for(参数初始化;条件判断(为true时,循环体被执行);更新循环变量){
循环体
}
例题:
循环输入某同学S1结业考试的5门课成绩,并计算平均分
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int score1 = 0;
for(int i=1;i<6;i++){
System.out.println("请输入5门功课中第"+i+"门课的成绩:");
int score = input.nextInt();
score1+=score;
}
int avgScore = score1/5;
System.out.println("王紫的平均分是:"+avgScore);
}
}
例题2:
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个值:");
int num = input.nextInt();
System.out.println("根据这个值可以输出以下加法表:");
for(int i=0;i<num+1;i++){
System.out.println(i+" + "+(num-i)+" = "+num);
}
}
}
注意:常见问题
1.变量没有初始化 for(;i<10;i++)
2.缺少循环条件,变成死循环 for(int i=0;;i++)
3.循环变量没有发生变化,死循环 for(int i=0;i<10;)
4.循环中缺少必要的循环控制,导致死循环for(;😉
课后作业:
使用while、do-while以及for循环三种编程方式实现:计算100以内(包括100)的偶数之和
while:
public class Demo5 {
public static void main(String[] args) {
int num = 0; //存储变量用于循环条件
int num1 = 0; //存储偶数
while(num<=100){
if(num%2==0){
num1+=num;
}
num++;
}
System.out.println("100以内偶数和为:"+num1);
}
}
do while:
public class Demo5 {
public static void main(String[] args) {
int num = 0; //存储变量用于循环条件
int num1 = 0; //存储偶数值
do{
if(num%2==0){
num1+=num;
}
num++;
}while(num<=100);
System.out.println("100以内偶数和为:"+num1);
}
}
注:与while无区别,其不存在初始情况不满足的情况
for:
public class Demo5 {
public static void main(String[] args) {
int num1 = 0; //存储偶数值
for(int num = 0;num<=100;num++){
if(num%2==0){
num1+=num;
}
}
System.out.println("100以内偶数和为:"+num1);
}
}