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");       //如果条件成立,输出的信息
        }
    }
}

在这里插入图片描述

(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("英语没有及格");     //条件不成立时输出信息
        }
    }
}

在这里插入图片描述

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");       //输出信息
        }
    }
}

在这里插入图片描述

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");
        }
    }
}

在这里插入图片描述

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

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值