java编程语言基础之选择结构

本文详细介绍了Java编程中的选择结构,包括if单判断,if-else二选一,多重if-else,嵌套if和switch选择语句。每个结构都涵盖了语法、流程图、执行步骤及代码示例,帮助读者深入理解不同选择结构的使用场景和执行逻辑。
摘要由CSDN通过智能技术生成

** 注意:以下不管是if括号里的表达式还是switch括号里的表达式,结果都是boolean类型(结果只有true或false),如果条件有多个可以使用逻辑运算符&&-并且, || - 或者, !-非,取反**

if选择结构

一般用于单个判断,表示如果的意思

1.语法

if(表达式){  // 表达式为布尔类型,结果为 true 或false
    语句
}

2.流程图

在这里插入图片描述

3.执行步骤

①对表达式的结果进行判断
②如果表达式的结果为真,则执行该语句
③如果表达式的结果为假,则跳过该语句

4.代码示例

public static void main(String [] args){
   int score=70;
   if(score>=60){ //成绩大于等于60分通过考试
      System.out.println("成绩及格");
      System.out.println("通过考试");
   }
}

运行结果
在这里插入图片描述

if-else选择结构

一般用于二选一的情况

1.语法

if(表达式){  // 表达式为布尔类型,结果为 true 或false
  语句1
}else{
  语句2
}

2.流程图

在这里插入图片描述

3.执行步骤

①对表达式的结果进行判断
②如果表达式的结果为真,则执行语句1
③如果表达式的结果为假,则执行语句2

4.代码示例

public static void main(String [] args){
   int score=50;
   if(score>=60){ //成绩大于等于60分成绩及格
      System.out.println("成绩及格");
   }else{
      System.out.println("成绩不及格");
  }
}

运行结果
在这里插入图片描述
**注意:**if-else中必然有一个会被执行

多重if-else选择结构

主要用于多重判断的情况

1.语法

if(表达式1){
   语句1
}else if(表达式2){
   语句2
}else{
   语句3
}

2.流程图

在这里插入图片描述

3.执行步骤

①对表达式1的结果进行判断
②如果表达式1的结果为真,则执行语句1;否则判断表达式2的值
③如果表达式2的结果为真,则执行语句2;否则执行语句3

4.代码示例

public class demo1 {
	public static void main(String [] args){
		   int score=85;
		   if(score>=90 && score<=100){         //判断score值是否大于等于90且小于等于100
		      System.out.println("A级");
		   }else if(score>=80){                //判断score值是否大于等于80且小于90
		      System.out.println("B级");
		   }else if(score>=80){                //判断score值是否大于等于70且小于80
		      System.out.println("C级");
		   }else if(score>=80){               //判断score值是否大于等于60且小于70
		      System.out.println("D级");
		   }else {                           //判断score值小于60
			System.out.println("E级");
           }
		}
}

运行结果
在这里插入图片描述

小结:
一次判断用if语句
两次判断(一个真一个假)用if - else 语句
两次以上判断使用 if - else if - else

嵌套if选择结构

1.语法

       if(表达式1) {
    	   if( 表达式2) {
    		   语句1
    	   }else {
    		   语句2
    	   }
       }else {
    	   if(表达式3) {
    		   语句3
    	   }else {
    		   语句4
    	   }
       }

2.流程图

在这里插入图片描述

3.执行步骤

①对表达式1的结果进行判断
②如果表达式1的结果为真,再对表达式2的结果进行判断。如果表达式2的结果为真,则执行语句1;否则执行语句2
③如果表达式1的结果为假,对表达式3的结果进行判断。如果表达式3的结果为真,则执行语句3;否则,执行语句4

4.代码示例

public class demo1 {
	public static void main(String [] args){
		   int day=6;  //今天周六
		   int temp=31;   //温度为31℃
		   String weather="天气好";   //天气好
		   if(day == 6||day ==7) {
			   if(temp>30) {
				   //去游泳
				   System.out.println("游泳");
			   }
			   else {
				   //去爬山
				   System.out.println("爬山");
			   }
		   }
		   else {
			   if("天气好".equals(weather) ) {
				   //去客户单位谈业务
				   System.out.println("去客户单位谈业务");
			   }
			   else {
				   //在公司上网查资料
				   System.out.println("在公司上网查资料");
			   }
		   }
		}
}

运行结果
在这里插入图片描述

switch选择语句

注意:switch表达式可以接受的类型有:int、short、byte、char、枚举类型、String

1.语法

  switch(表达式) {
       case 常量1:
    	   语句;
    	   break;
       case 常量2:
    	   语句;
    	   break;
       case 常量3:
    	   语句;
    	   break;
    	   ......
       default:
    	   语句;
    	   break;
       }

2.流程图

在这里插入图片描述

3.执行步骤

①计算switch后表达式的值
②将计算结果从上到下依次与case后的常量值比较
③如果相等就执行该常量后的代码块,遇到break语句就结束
④如果与任何一个case后的常量值都不匹配,就执行default中的语句

4.代码示例

public class demo1 {
	public static void main(String [] args){
		  int score = 75;
		  switch(score/10) {
		  case 10:
		  case 9:
			  System.out.println("A级");    //成绩大于等于90分且小于等于100
			  break;
		  case 8:
			  System.out.println("B级");    //成绩大于等于80分
			  break;
		  case 7:
			  System.out.println("C级");    //成绩大于等于70分
			  break;
		  case 6:
			  System.out.println("D级");    //成绩大于等于60分
			  break;
			  default:
				  System.out.println("E级");    //成绩小于60分
		  }
		}
}

运行结果
在这里插入图片描述
switch语句的特点:
1、switch用于多重分支且条件判断是等值判断的情况
2、switch结束有两种情况:遇到 break; 执行到switch语句结束
3、case和default是没有前后顺序的,但是执行时先执行case语句,如果没有符合的会执行default语句;如果default放在了前面,则一定要加上break, Default语句一般是放在最后

****重要:switch语句和if语句比较
1:相同点:
都可以用来处理多分支结构
2:区别:
if多用于区间判断, i >= 2 && i <= 5
switch用于等值条件的判断
3:用switch能做的,用if都能做,但反过来则不行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值