Java学习day4 程序流程控制一

拟墨画扇 提交于 2019-12-01 10:19:46

一、分支结构

    条件语句:if...else

    if语句:

        一个 if 语句包含一个布尔表达式和一条或多条语句,如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。

    语法:  

    if(布尔表达式)
    {
       //如果布尔表达式为true将执行的语句
    }

    if...else语句:

        if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。

    语法:

    if(布尔表达式){
       //如果布尔表达式的值为true
    }else{
       //如果布尔表达式的值为false
    }

     

    if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。

    语法:

    if(布尔表达式1){
       执行代码块;//如果布尔表达式1的值为true执行代码
    }
       else if(布尔表达式2){
       执行代码块;//如果布尔表达式2的值为true执行代码
    }
       ... ...
       else{
            执行代码块;//如果以上布尔表达式都不为true执行代码
       }                    

 

    使用 if,else if,else 语句的时候,需要注意下面几点:

        1.if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。

        2.if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。

        3.一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

 

    实例:

public class Test {
   public static void main(String args[]){
      int x = 30;
 
      if( x == 10 ){
         System.out.print("Value of X is 10");
      }else if( x == 20 ){
         System.out.print("Value of X is 20");
      }else if( x == 30 ){
         System.out.print("Value of X is 30");
      }else{
         System.out.print("这是 else 语句");
      }
   }
}

    以上代码编译运行结果如下:

        Value of X is 30

 二、分支结构2

    switch case 语句

语法:

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

有关规则:

    1.switch(表达式)中表达式的返回值必须是下述之种类型之一:byte, short, char, int, 枚举,String ;

    2.case子句中的值必须是常量,且所有case子句中的值应该是不同的;

    3.default子句是可任选的,当没有匹配的case时,执行default

    4.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾

    5.switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。

 

    实例1:

public class Test1 {
    public static void main(String args[]){
        String season = "winter";
        switch(season){
        case"spring":
            System.out.println("spring is a little girl");
            break;
        case"summer":
            System.out.println("summer is a young boy");
            break;
        case"autumn":
            System.out.println("autumn is a big man");
            break;
        case"winter":
            System.out.println("winter is a old people");
            break;
            default:
                System.out.println("who am i?");
                break;
        }
    } 

}

运算结果为:winter is a old people

 

    switch和if语句的对比:

        1.主要使用if语句,if语句的使用范围更广泛

        2.如果判断的具体数值不多,且符合byte, short, int, char这四种类型,建议使用switch;(if语句也可以用,但switch语句效率更高)

        3.对区间的判断,对结果为boolean类型判断,须使用if语句

 

错误总结:在编译实例1是遇到以下错误:

经过百度得知错误原因在于switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型只有JDK版本1.7以上才可以支持String

解决办法:右击项目Test1---->选择properties---->选择Java Compiler---->版本选择1.7以上

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