Java循环结构

x33g5p2x  于2021-11-22 转载在 Java  
字(3.2k)|赞(0)|评价(0)|浏览(383)

if循环

定义格式

  1. /*
  2. 1.if语句
  3. if(布尔表达式){
  4. //如果布尔表达式为true将执行的语句
  5. }
  6. 2.if...else语句
  7. if(布尔表达式){
  8. //如果布尔表达式的值为true
  9. }else{
  10. //如果布尔表达式的值为false
  11. }
  12. 3.if...else if...else语句
  13. if(布尔表达式 1){
  14. //如果布尔表达式 1的值为true执行代码
  15. }else if(布尔表达式 2){
  16. //如果布尔表达式 2的值为true执行代码
  17. }else if(布尔表达式 3){
  18. //如果布尔表达式 3的值为true执行代码
  19. }else {
  20. //如果以上布尔表达式都不为true执行代码
  21. 4.嵌套式if...else语句
  22. if(布尔表达式 1){
  23. 如果布尔表达式 1的值为true执行代码
  24. if(布尔表达式 2){
  25. 如果布尔表达式 2的值为true执行代码
  26. }
  27. }
  28. }
  29. */

例:

  1. public class Demo01 {
  2. public static void main(String[] args) {
  3. Scanner input = new Scanner(System.in);
  4. int score = input.nextInt();
  5. System.out.print("请输入学生成绩:");
  6. if(score >= 90){
  7. System.out.println("优秀");
  8. }else if(score <= 70 && score >90){
  9. System.out.println("良好");
  10. }else if(score <= 60 && score >70){
  11. System.out.println("及格");
  12. }else {
  13. System.out.println("不及格");
  14. }
  15. }
  16. }

while循环

语句格式

  1. while (条件判断语句) {
  2. 循环体语句;
  3. 条件控制语句;
  4. }

执行流程

①执行初始化语句

②执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行

③执行循环体语句

④执行条件控制语句

⑤回到②继续


 

例:

  1. public class Demo02 {
  2. public static void main(String[] args) {
  3. int i = 0;
  4. while (i < 4){
  5. System.out.println("hello world");
  6. i++;
  7. }
  8. }
  9. }

注:

1.小括号不可为空不然会报错

2.要注意条件判断语句不要进入到死循环

do...while循环

循环语句格式

  1. do {
  2. 循环体语句;
  3. 条件控制语句;
  4. }while(条件判断语句);

执行流程

① 执行初始化语句

② 执行循环体语句

③ 执行条件控制语句

④ 执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行

例:

  1. public class Demo02 {
  2. public static void main(String[] args) {
  3. int j = 1;
  4. do {
  5. System.out.println("HelloWorld");
  6. j++;
  7. }while(j<=5);
  8. }

 

for循环

三种循环的区别

  1.  for (初始化语句;条件判断语句;条件控制语句) {
  2. 循环体语句;
  3. }

格式解释:

初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样

条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去

循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情

条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去

循环控制流程

①执行初始化语句

②执行条件判断语句,看其结果是true还是false

​             如果是false,循环结束

​             如果是true,继续执行

③执行循环体语句

④执行条件控制语句

⑤回到②继续

 例:

  1. public class Demo02 {
  2. public static void main(String[] args) {
  3. //需求:输出数据1-5
  4. for(int i=1; i<=5; i++) {
  5. System.out.println(i);
  6. }
  7. System.out.println("--------");
  8. //需求:输出数据5-1
  9. for(int i=5; i>=1; i--) {
  10. System.out.println(i);
  11. }
  12. }
  13. }

注:

循环中定义的变量,在每一轮循环结束后,都会从内存中释放

初始化语句:如果空着表示循环之前不定义任何变量

控制语句:如果空着表示默认为true

条件控制语句:如果空着表示循环结束之后,没有变量进行自增

计数器思想

  1. public class Demo01 {
  2. /*
  3. System.out.print (打印内容); 打印后不换行
  4. System.out.println(打印内容); 打印后换行
  5. 分析:
  6. 1. 定义变量count,用于保存“打印过”的数量,初始值为0
  7. 2. 在判定和打印水仙花数的过程中,拼接空格, 但不换行,并在打印后让count变量+1,记录打印过的数量
  8. 3. 在每一次count变量+1后,判断是否到达了2的倍数,是的话,换行。
  9. */
  10. /*
  11. 什么是水仙花数?
  12. 水仙花数,指的是一个三位数,个位、十位、百位的数字立方和等于原数
  13. 例如`153 3*3*3 + 5*5*5 + 1*1*1 = 153`
  14. */
  15. public static void main(String[] args){
  16. // 1. 定义变量count,用于保存“打印过”的数量,初始值为0
  17. int count = 0;
  18. for(int i = 100; i <= 999; i++){
  19. int ge = i % 10;
  20. int shi = i / 10 % 10;
  21. int bai = i / 10 / 10 % 10;
  22. if( (ge*ge*ge + shi*shi*shi + bai*bai*bai) == i){
  23. // 2. 在判定和打印水仙花数的过程中,拼接空格, 但不换行,并在打印后让count变量+1,记录打印过的数量
  24. System.out.print(i + " ");
  25. count++;
  26. // 3. 在每一次count变量+1后,判断是否到达了2的倍数,是的话,换行
  27. if(count % 2 == 0){
  28. System.out.println();
  29. }
  30. }
  31. }
  32. }
  33. }

三种循环的区别

for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for循环和while的区别

条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了

条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

跳转控制语句

跳转控制语句是用于在循环的过程中,控制循环运行的。

分类

continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行

break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环

例:

  1. public class Demo02 {
  2. public static void main(String[] args) {
  3. //break
  4. //到10点时结束循环
  5. for (int i = 7; i <= 12; i++) {
  6. if(i == 10){
  7. break;//用于结束循环或switch语句.
  8. }
  9. System.out.println(i + "点正在学习");
  10. }
  11. //continue
  12. //跳过3 17 19 号同学的试卷
  13. for(int i = 1; i <= 80; i++){
  14. if(i == 3 || i == 17 || i == 19){
  15. //continue: 跳过某次循环, 继续下一次循环.
  16. continue;
  17. }
  18. System.out.println("老师正在给第" + i + "号同学发批改试卷");
  19. }
  20. }
  21. }

相关文章

最新文章

更多