Java中的选择结构语句:if条件语句、三元运算符与switch条件语句

if条件语句

ifi条件语句有三种语法形式,分别为if语句,if...else语句和 if...else if...else语句。

if条件语句

if语句是指如果你满足某种条件,就进行某种处理。执行流程图如下。 

在java中,if语句的具体语法格式为:

    

例如,下面的代码段检查一个整数是否为正数。如果num>0则输出“这是正数”。

int num = 5;  
if (num > 0) {  
    System.out.println("这是正数");  
}

if...else语句

if...else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。执行流程图如下。

if...else语句的具体语法格式为:

     

例如,下面的代码段检查一个整数是否为正数。如果num>0则输出“这是正数”,否则输出“这不是正数”

int num = -1;  
if (num > 0) {  
    System.out.println("这是正数");  
} else {  
    System.out.println("这不是正数");  
}

if...else if...else语句

if...else if...else用于对多个条件进行判断。根据判断结果进行多种不同的处理。执行流程图如下。

                      

 具体语法格式如下:

例如,下面的代码为检查一个整数是否为正数、负数或零,如果num>0则输出“这是正数”,num<0输出“这是负数”,num=0输出“这是0”。

int num = 0;  
if (num > 0) {  
    System.out.println("这是正数");  
} else if (num < 0) {  
    System.out.println("这是负数");  
} else {  
    System.out.println("这是0");  
}

三元运算符

java提供一个三元运算符,它允许我们在一行代码中根据条件选择一个值,可以同时操作3个表达式。具体语法格式如下:

                                                 判断条件?表达式1:表达式2

                             

上面语法格式中,当判断条件成立时,计算表达式1的值作为整个表达式的结果,否则计算表达式2作为整个表达式的结果。

三元运算符的功能与if...else语法相同,但使用三元运算符可以简化代码。

例如,求两个数x,y中的最小者,用if...else语句来实现,代码如下:

int x = 6;
int y = 4;
int min = 0;
if(x<y){
    min = x;
}else{
	min = y;
}
System.out.println("最小值为"+min);

用三元运算方法的代码如下:

int x = 6;
int y = 4;
int min = 0;
min = x<y? x:y;
System.out.println("最小值为"+min);

两段代码的运行结果都为“最小值为4”。

使用三元运算符要注意一下几点:

(1)条件运算符“ ?”和“ :”是一对运算符,不能分开单独使用。

(2)条件运算符的优先级低于关系运算符和算术运算符,但高于算术运算符。

(3)条件运算符可以进行嵌套,结合方向自左向右。

switch条件语句

switch条件语句是一种很常见的选择语句,也是多分支结构。与if条件语句不同,它只能对某个表达式的值做出判断,从而决定程序执行哪一段代码。

例如,在程序中,输入传统节日的名称,然后根据输入的信息,在控制台输出2023年对应的日期,可以通过下面的伪代码来描述:

对于上面一段伪代码的描述,可以使用if...else if...else语句实现,但是if...else if...else语句判断条件比较多,写起来很麻烦,也不方便阅读,因此使用switch来达成需求。switch语句使用switch关键字描述一个表达式,使用case关键字描述和表达式结果比较的目标值,当表达式和某个目标值匹配是,就执行对应case下的语句。

switch语句的基本语法格式如下:

在上面的格式中,当表达式的值与case后的常量表达式值相等时,则执行该case后的语句序列。执行完后退出switch语句,跳转到整个switch语句之后的下一个语句执行。如果所有得case语句的常量表达式的值与switch之后的表达式不匹配,则执行default之后的语句序列。其中break的作用是跳出switch语句,如果某个case语句最后的break语句被省略,则执行完该case语句之后,系统则会继续执行下一个case语句。

以下是通过上面传统节日例子来演示switch语句的代码:

public static void main(String[] args) {  		 
		        Scanner scan = new Scanner(System.in);  
		        System.out.println("请输入传统节日的名称:");  
		        String festival = scan.nextLine();  
		  
		        switch (festival) {  
		            case "春节":  
		                System.out.println("2023-01-22");  
		                break;  
		            case "元宵节":  
		                System.out.println("2023-02-05");  
		                break;  
		            case "清明节":  
		                System.out.println("2023-04-05");  
		                break;  
		            case "端午节":  
		                System.out.println("2023-06-22");  
		                break;  
		            case "中秋节":  
		                System.out.println("2023-09-29");  
		                break;  
		            case "重阳节":  
		                System.out.println("2023-10-23");  
		                break;  
		            default:  
		                System.out.println("输入的节日有误或暂无该节日的日期信息");  
		        }  
		    }  

这是运行结果:

总结

本文介绍了Java中的三种选择结构语句:if条件语句、三元运算符和Switch条件语句。这些结构在编程中非常有用,可以帮助我们根据不同的条件来执行不同的代码块。掌握这些结构将使您能够更有效地编写Java程序。

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值