Java中的条件语句

Java中的条件语句

1、if条件语句

(1)简单的if条件语句

语法如下:

if(布尔表达式){
     
    语句序列
}

①布尔表达式:必要参数,表示最后返回的结果必须是一个布尔值。可以只是一个布尔值变量或者常量,也可以是使用关系或布尔运算符的表达式。

②语句序列:可选参数。可以是一条或多条语句,当表达式的值为true时执行这些语句。若语句序列中仅有一条语句,则可以省略条件语句中的“{}”,但为了增强程序的可读性最好不要省略。

例如:语句中只有一条语句,实例代码如下:

int a = 100;
	if(a == 100)
        System.out.println("a的值是100");

条件语句后的语句序列省略时,则可以保留外面的大括号,也可以省略大括号。然后再末尾添加“;”。

例如:省略了if条件表达式中的语句序列,实例代码如下:

boolean b = false;
if(b);
boolean b = false;
if(b){
     }

例如:在项目中创建类Getif,在主方法中定义整形变量。使用条件语句判断两个变量的大小来决定输出结果。

public class Getif {
                                         //创建类
    public static void main(String args[]) {
                 //主方法
        int x = 45;                                     //声明int型变量x,并赋给初值
        int y = 12;                                     //声明int型变量y,并赋给初值
        if(x > y){
                                           //判断x是否大于y
            System.out.println("变量x大于变量y");       //如果条件成立,输出的信息
        }
        if(x < y){
                                           //判断x是否小于y
            System.out.println("变量x小于变量y");       //如果条件成立,输出的信息
        }
    }
}

Java中的条件语句_第1张图片

(2)if…else语句

if…else 语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。

语法如下:

if(表达式){
     
    若干语句
}
else{
     
    若干语句
}

例如:在项目中创建类Getifelse,在主方法中定义变量,并通过使用if…else语句判断变量的值来决定输出结果。

public class Getifelse {
                                 //创建类
    public static void main(String args[]) {
             //主方法
        int math = 95;                              //声明int型变量 math 并赋初值
        int english = 56;                           //声明int型变量english并赋值
        if(math > 60){
                                   //使用if语句判断math值是否大于60
            System.out.println("数学及格了");       //条件成立时输出信息
        }else{
     
            System.out.println("数学没有及格");     //条件不成立时输出信息
        }
        if(english > 60){
                                //使用if语句判断english值是否大于60
            System.out.println("英语及格了");       //条件成立时输出信息
        }else{
     
            System.out.println("英语没有及格");     //条件不成立时输出信息
        }
    }
}

Java中的条件语句_第2张图片

if…else语句可以使用三元运算符进行简化。如:

if(a > 0)
    b = a;
else
    b = -a;
//可以简写成:
  b = a > 0?a:-a;  

(3)if…else if多分支语句

if…else if多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件则执行另一种处理”。

语法如下:

if(条件表达式1){
     
    语句序列1
}else if(条件表达式2){
     
    语句序列2
}
...
else if(条件表达式n){
     
    语句序列n
}

①条件表达式1~条件表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为boolean类型。

②语句序列:可以是一条或多条语句,当条件表达式1的值为true时,执行语句序列1;当条件表达式2的值为true时,执行语句序列2,以此类推。

例如:在项目中创建类GetTerm,在主方法中定义变量x,使用if…else if多分支语句通过判断x的值决定输出结果。

public class GetTerm {
                                   //创建类
    public static void main(String args[]) {
             //主方法
        int x = 20;                                 //声明int型局部变量x
        if (x > 30){
                                     //判断变量x是否大于30 
            System.out.println("a的值大于30");      //条件成立时输出的信息
        }else if (x > 10){
                               //判断变量x是否大于10
            System.out.println("a的值大于10,但小于30");      //条件成立时输出的信息
        }else if (x > 0){
                                //判断变量x是否大于0
            System.out.println("a的值大于0,但小于10");       //条件成立时输出的信息
        }else{
                                           //当以上条件都不成立时
            System.out.println("a的值小于0");       //输出信息
        }
    }
}

Java中的条件语句_第3张图片

if语句只执行条件为真的语句,其他语句都不会执行。

2、switch多分支语句

在编程中一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检测,以此类推。

例如:使用if语句检测变量是否符合某个条件,代码如下:

if(grade == 'A'){
     
	System.out.println("真棒");
}
if(grade == 'b'){
     
	System.out.println("做的不错");
}

这个程序显得比较笨重,在java中,可以使用switch语句将动作组织起来,以一个简单明了的方式实现“多选一”的选择。

switch(表达式)
{
     
case 常量值 1:
	 语句块 1
	 [break;]
...
case 常量值 n:
	 语句块 n
	 [break;]
default:
	 语句块 n+1;
	 [break;]
}

switch语句中表达式的值必须是整形、字符型或字符串类型,常量值1~n必须也是整形、字符型或字符串类型。

switch语句首先计算表达式的值,如果表达式的值和某个case语句后面的常量值相同,则执行该case语句后的若干个语句直到遇到break语句为止

此时,如果该case语句中没有break语句,将继续执行后面case中的若干语句,直到遇到break语句为止。

若没有一个常量的值与表达式的值相同,则继续执行default后面的语句。

default语句为可选的,如果它不存在,且switch语句中的表达式的值不与任何case的常量相同,switch则不做任何处理。

例如:要通过switch语句根据字符串str的值,输出不同的提示信息可以使用下面的代码。

String str = '明日科技';
switch(str){
     
    case "明日":														//定义case语句中的常量1
        System.out.println("明日图书网www.mingribook.com");			  //输出信息
        break;
    case "明日科技":												  //定义case语句中的常量2
        System.out.println("吉林省明日科技有限公司");					  //输出信息
        break;
    default:														 //default语句
        System.out.println("以上条件都不是。")							//输出信息		
}

同一个switch语句,case的常量值必须互不相同。

例如:在项目中创建类GetSwitch,在主方法中应用switch语句将周一到周三的英文单词打印出来。

public class GetSwitch {
                                     //创建类
    public static void main(String args[]) {
                 //主方法
        int week = 2;                                   //定义int型变量week,并赋给初值
        switch (week) {
                                      //指定switch语句的表达式为变量week
            case 1:                                     //定义case语句中的常量为1
                System.out.println("Monday");           //输出信息
                break;
            case 2:                                     //定义case语句中的常量为2
                System.out.println("Tuseday");          //输出信息
                break;
            case 3:                                     //定义case语句中的常量为3
                System.out.println("Wednesday");        //输出信息
                break;
            default:                                    //default语句
                System.out.println("Sorry,I don't Know");
        }
    }
}

Java中的条件语句_第4张图片

在switch语句中,case语句后常量表达式的值可以为整数,但绝对不可以是实数。

你可能感兴趣的:(Java从入门到精通(二),java)