4:Java流程控制语句

僤鯓⒐⒋嵵緔 提交于 2019-12-20 06:48:02

1.Java条件语句之 if 

  • 1.if条件语句使用条件:
    • 需要先判断条件,条件满足后才执行的情况。
  • 2.if条件的语法和执行过程:
  •         

PS:如果 if 条件成立时的执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺的!

2.Java条件语句之if...else

  • if...else语句的操作比 if 语句多了一步:  当条件成立时,则执行 if 部分的代码块; 条件不成立时,则进入 else 部分。
  • if...else的语法和执行过程:
  • .                

 3.Java条件语句之多重if

  • 多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码。
  • 多重 if 语句的语法和执行过程:

4.Java条件语句之嵌套if

  • 嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。
  • 嵌套 if 语句的语法和执行过程:
  •    
  •  

5.Java条件语句之switch

  • switch 的应用条件:当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。
  • switch 的语法和执行过程:
  •   

PS: switch 后面小括号中表达式的值必须是整型或字符型;case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2;case      匹配后,执行匹配块里的程序代码,如果没有遇见 break 会继续执行下一个的 case 块的内容,直到遇到 break 语句或者 switch 语句块结束 

6.Java循环语句:

  • 循环语句:有些时候为了完成任务,需要重复的进行某些动作,用来解决重复动作的方法就是用循环语句。
  • 循环语句的种类:while 、 do...while 、 for
    • 6-1:while 的语法和执行过程:
      • 判断 while 后面的条件是否成立( true / false ),当条件成立时,执行循环内的操作代码 ,然后重复执行< 1 >、< 2 >, 直到循环条件不成立为止。特点:先判断,后执行。
    • 6-2:do...while 循环 语法和执行过程:
      • do...while 循环while 循环语法有些类似,但执行过程差别比较大。
        • <1>、先执行一遍循环操作,然后判断循环条件是否成立。
        • <2>、如果条件成立,继续执行< 1 > 、< 2 >,直到循环条件不成立为止
        • 特点: 先执行,后判断,由此可见,do...while 语句保证循环至少被执行一次
    • 6-3:for 的语法及执行过程:
      • 实现功能:计算 1 到 100 之间不能被 3 整除的数之和:
      • for 循环的几个小细节:
        • 1、for 关键字后面括号中的三个表达式必须用 “;” 隔开,三个表达式都可以省略,但 “;” 不能省略。
          • a. 省略“循环变量初始化”,可以在 for 语句之前由赋值语句进行变量初始化操作,如:
          • b. 省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如:
          • c. 省略“循环变量变化”,可以在循环体中进行循环变量的变化,如:
        • 2、 for 循环变量初始化和循环变量变化部分,可以是使用 “,” 同时初始化或改变多个循环变量的值,如:
        • 3、 循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级,如:

7.Java循环跳转语句之 break

  • break:break 语句退出指定的循环,直接执行循环后面的代码。即跳出整个循环。

8.Java循环调准语句之 continue

  • continue 的作用是跳过循环体中剩余的语句执行下一次循环。即:跳出本次循环,执行下次循环。

9.Java循环语句之多重循环: 

  • 多重循环:循环体中包含循环语句的结构称。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。在二重循环中,外层循环每执行一次,内层循环要执行一圈

练习题:为指定成绩加分,直到分数大于等于 60 为止,输出加分前和加分后的成绩,并统计加分的次数

package com.holytax.eipp;

public class HelloWorld {

    public static void main(String[] args) {
        // 变量保存成绩
        int score = 53; 
        // 变量保存加分次数
        int count = 0;
        //打印输出加分前成绩 
        System.out.println("加分前成绩"+score);
        
        // 只要成绩小于60,就循环执行加分操作,并统计加分次数
        //打印输出加分后成绩,以及加分次数
        
        String strWhile = useWhile(score, count);
        String[] string1 = strWhile.split(";");
        System.out.println("加分后成绩"+string1[0]);
        System.out.println("加分次数"+string1[1]);
        System.out.println("=============================");
        
        String strDoWhile = useDoWhile(score, count);
        String[] string2 = strDoWhile.split(";");
        System.out.println("加分后成绩"+string2[0]);
        System.out.println("加分次数"+string2[1]);
        System.out.println("=============================");
        
        String strForBreak = useForBreak(score, count);
        String[] string3 = strForBreak.split(";");
        System.out.println("加分后成绩"+string3[0]);
        System.out.println("加分次数"+string3[1]);
        System.out.println("=============================");
        
        String strForContinue = useForContinue(score, count);
        String[] string4 = strForContinue.split(";");
        System.out.println("加分后成绩"+string4[0]);
        System.out.println("加分次数"+string4[1]);
    
        
    }
    
    public static String useWhile(int score,int count){
        
        while(score < 60){
            count++;
            score++;
        }
        
        return score+";"+count;
    }
    
    public static String  useDoWhile(int score,int count){
        do{
            score++;
            count++;
        }while(score < 60);
        return score+";"+count;
    }
    
    public static String  useForBreak(int score,int count){
        for (; score < 60; score++) {
            count++;
            switch(score){
            case 60:
                break;
            }
        }
        return score+";"+count;
    }   
    
    public static String  useForContinue(int score,int count){
        for (; score < 60; score++) {
            count++;
            if(score < 60){
                continue;
            }
        }
        
        return score+";"+count;
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!