java基础语法学习day05---初学者必看详解
1、循环结构什么是循环1.1 while循环while语句的执行逻辑while语句的流程图while语句用于处理循环逻辑使用break语句跳出循环练习:1.2 do-while循环do-while语句的执行逻辑do-while语句的流程图do-while语句用于处理循环逻辑while和do-while语句的区别练习1.3 for循环for语句的执行逻辑for语句的流程图for语句用于实现固定次数循环for语句三个表达式特殊用法循环中使用break语句循环中使用continue语句练习:随机加法运算器
1、循环结构
什么是循环
循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。循环的要素:
循环体(相同或相似的语句)循环条件(继续执行循环的条件,某些情况下循环条件以循环次数的方式体现)
1.1 while循环
while语句的执行逻辑
计算boolean表达式的值如果值为true则执行语句块;语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块;如此循环往复,直到boolean为false时退出while循环。

while语句的流程图

while语句用于处理循环逻辑
int age
= 1;
while (age
if ( x
== 5 ) {
break;
}
System.out
.println(x
);
x
++ ;
}

练习:
程序随机生成并存储一个整数;
用户输入一个整数,程序给出与存储的数字“大”或“小”的比较结果提示;直到用户猜对数字为止;
如果中途,用户希望结束程序,可以输入0退出。
import java.util.Scanner;
public class NumberGuess {
public static void main(String[] args
) {
//生成一个随机数作为猜测的结果
int num
= (int) (Math.random() * 1000) + 1;
//第一次猜测
System.out
.print("请输入你猜测的数字(1-1000),退出请按0:");
Scanner s
= new Scanner(System.in
);
int guest
= s
.nextInt();
//如果猜测错误,则继续
while (guest
!=num
) {
//输入为0,则退出循环;否则判断数字
if(guest
== 0){
break;
} else if (guest
> num
) {
System.out
.println("太大了!");
} else {
System.out
.println("太小了!");
}
System.out
.print("请输入你猜测的数字(1-1000),退出请按0:");
guest
= s
.nextInt();
}
//提示用户最终结果
if(guest
== num
) {
System.out
.println("恭喜,你猜对了!");
}else{
System.out
.println("真遗憾,下次再挑战吧!");
}
s
.close();
}
}
1.2 do-while循环
do-while语句的执行逻辑
先执行语句块再计算boolean表达式的值,如果为true,再次执行语句块,如此循环往复,直到boolean表达式的值为false为止。
do{
语句块
} while ( boolean表达式
) ;
说明:无论
boolean表达式是否为
true,都先执行一次语句块;
do-while语句的流程图

do-while语句用于处理循环逻辑
int pwd
;
do{
System.out
.print(“请输入密码”
);
pwd
= scanner
.nextInt();
} while ( 123 != pwd
) ;
while和do-while语句的区别
while和do-while语句的区别:
while循环先判断再执行;do-while循环先执行一次,再判断;当初始情况不满足循环条件时,while循环一次都不会执行;do-while循环不管任何情况都至少执行一次。
while和do-while语句的不同仅仅会体现在第一次就不满足条件的循环中;如果不是这样的情况,while和do-while可以互换。练习
程序随机生成并存储一个整数;
用户输入一个整数,程序给出与存储的数字“大”或“小”的比较结果提示;直到用户猜对数字为止;
如果中途,用户希望结束程序,可以输入0 退出
使用 do-while语句实现。
import java.util.Scanner;
public class NumberGuess02 {
public static void main(String[] args
) {
//生成一个随机数作为猜测的结果
int num
= (int) (Math.random() * 1000) + 1;
//准备输入
Scanner s
= new Scanner(System.in
);
int guest
= -1;
do{
System.out
.print("请输入你猜测的数字(1-1000),退出请按0:");
guest
= s
.nextInt();
//判断:输入0,则中止
if(guest
== 0){
break;
} else if(guest
> num
) {
System.out
.println("太大了!");
} else if(guest
System.out
.println("恭喜,你猜对了!");
}else{
System.out
.println("真遗憾,下次再挑战吧!");
}
s
.close();
}
}
1.3 for循环
考虑如下循环问题的相同之处
计算从1加到100的值;计算1+1/3+1/5+…+1/999;找出从第1号学员到第500号学员中成绩大于90的学员。
…i
=1,2,…
,100,每次循环累加i的值。
i
=1,3,5,…
,999,每次循环计算
1/i,并累加。
i
=1,2,…
,500,每次循环判断第i号学员成绩是否大于
90。
这样的变量 i 称之为循环变量;
在每次循环中,它规律的发生变化。同时,它也作为判断是否继续循环的条件。
for语句的执行逻辑
for (表达式
1; 表达式
2; 表达式
3) {
语句块(循环体)
}
计算表达式
1的值;
计算表达式
2(表达式
2为逻辑表达式)的值,如果为
true则执行循环体,否则退出循环;
执行循环体;
执行表达式
3;
计算表达式
2,如果为
true则执行循环体,否则退出循环;
如此循环往复,直到表达式
2的值为
false。
for语句的流程图

for语句用于实现固定次数循环
累加
求
1 + 2 +3 + …
+ 100 = ?
int sum
= 0 ;
for ( int i
= 1 ; i
sum
+= i
;
}
System.out
.println(“
1到
10的和为:”
+ sum
) ;
表达式
3位置内容为空时:
int sum
= 0 ;
for ( int i
= 1 ; i
System.out
.println(“我要打王者……”
);
}
死循环就产生了哈!!!
表达式
1 和
3 位置内容的多样化:
for ( int i
=1 , j
= 6 ; i
if(sum
>=4000) {
break;
}
sum
+= i
;
}
当总和大于等于
4000时终止循环
循环中使用continue语句
continue只能用于循环中
其作用为跳过循环体中剩余语句而执行下一次循环
int sum
= 0;
for(int i
=1; i
continue;
}
sum
+= i
;
}
统计总和时,跳过所有个位为
3的
练习:随机加法运算器
程序依次出10道加法题目,由用户输入题目的答案;
用户每答完一道题,程序判断对错,并提示:“答对了”或“答错了”;
10道题目答完之后,系统计算得分并输出;
若用户希望提前结束,可以输入-1提前退出。
import java.util.Scanner;
public class AdditionTest {
public static void main(String[] args
) {
System.out
.println("将开始 10 次加法测试... ");
Scanner scanner
= new Scanner(System.in
);
//用于记载分数
int score
= 0;
//构建 10 次循环
for (int i
=1;i
break;
}else if (answer
!= result
) {
System.out
.println("Error!");
continue;
} else {
score
+= 10;
System.out
.println("Correct!");
}
}
scanner
.close();
System.out
.println("此次测验结束,你的分数是:" + score
);
}
}
好了,欢迎查看!!!关注一波,精彩在后!!!