Java-选择结构与分支结构、嵌套if选择结构、局部变量

本文详细介绍了Java编程中的基本if选择结构、if-else结构、多重if结构和嵌套if结构,包括它们的语法、执行流程及示例代码。此外,还提及了switch分支结构的使用方法和注意事项,以及局部变量的概念和作用范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本if选择结构

语法:

        if(布尔表达式){

                代码块//当表达式结果为true,则执行该代码块

}

        后续代码...

执行流程:

对布尔表达式进行判断。

结果为true,则先执行代码块,再执行后续代码。

结果为false,则跳过代码块,直接执行后续代码。

public class TestBasicIf{
	public static void main(String[]args){
		
		double score = 98.0;
		
		//判断成绩是否满分
		if (score == 100.0){ //当score中的值等于100时,则执行if代码块中的内容
			System.out.println("恭喜,满分");
		}
		
		System.out.println("程序结束...");
	}
}

if else选择结构

执行流程:

对布尔表达式进行判断。

结果为true,则先执行代码块1,再退出整个结构,执行后续代码。

结果为false,则先执行代码块2,再退出整个结构,执行后续代码。

public class TestBasicIfElse{
	public static void main(String[]args){
		
		double score = 98.0;
		
		if (score == 100.0){
			System.out.println("奖励一部手机");//代码块1
		}else{
			System.out.println("罚抄试卷10遍");//代码块2
		}
		
		System.out.println("程序结束");
	}
}

多重if选择结构

语法:

if(布尔表达式1){

       代码块1

}else if(布尔表达式2){        

        代码块2

}else if(布尔表达式3){

        代码块3

}else{

        代码块4

}

执行流程:

表达式1为true,则执行代码块1,再退出整个结构。

表达式2为true,则执行代码块2,再退出整个结构。

表达式3为true,则执行代码块3,再退出整个结构。

以上均为false,则执行代码块4,再退出整个结构。

注意:相互排斥,有一个条件为true,其他均不再执行,适用于区间判断(区间条件,遵循从大到小或者从小到大)。

public class TestMultiIf{
	public static void main(String[]args){
		
		//购车
		//根据自己的购买力(钱),钱多就买贵一些的,钱少就买便宜点的
		
		int money = 100;//万元
		
		/*
			如果有500万,买劳斯莱斯
			否则,如果有100万,买GTR
			否则,如果有50万,买奔驰E
			否则,如果有20万,大众帕萨特
			否则,如果有10万,哈佛H6
			否则,如果有5万,奇瑞QQ
			否则,捷安特自行车	
		*/
			
		if(money >= 500){
			System.out.println("劳斯莱斯");
		}else if(money >= 100){
			System.out.println("GTR");//满足条件,跳出结构,继续执行下面的内容
		}else if(money >= 50){
			System.out.println("奔驰E");
		}else if(money >= 20){
			System.out.println("大众帕萨特");
		}else if(money >=10){
			System.out.println("哈佛H6");
		}else if(money >=5){
			System.out.println("奇瑞QQ");
		}else{ 
			System.out.println("捷安特自行车");
		}	
		System.out.println("程序结束");
	}
}

嵌套if选择结构

语法:

if(外层布尔表达式){

        if(内层布尔表达式){

                //内层代码块1

        }else{

                //内层代码块2

        }

 }else{

        //外层代码块

}

public class TestNestIf{
	
	public static void main(String[]args){
		
		//百米赛跑,用时低于10秒,则进入总决赛
		double timer = 10.0;
		char sex = '男';
		
		if(timer <= 10.0){
			//可以进入总决赛
			if( sex == '男'){
				System.out.println("进入男子组");
			}else
				System.out.println("进入女子组");
			
		}else{
			System.out.println("抱歉,淘汰");
		}
	
	}
}

执行流程:

当外层条件满足时,再判断内层条件。

注意:

一个选择结构中,可嵌套另一个选择结构。

嵌套格式正确的情况下,支持任意组合(if、if else、多重if),嵌套结构中可能存在因没有缩进而导致的书写串行,进而执行出现问题。

分支结构

语法:

        switch(变量 | 表达式){

                case 值1:

                        逻辑代码1;

                break;

                case 值2:

                        逻辑代码2;

                  break;

                case 值n:

                        逻辑代码n;

                  break;

        default:        

                为满足时的逻辑代码;

}         

可判断的类型:byte、short、int、char、String(JDK7+)     

执行流程:

 如果变量中的值等于1,则执行逻辑代码1。

如果变量中的值等于2,则执行逻辑代码2。

如果变量中的值等于n,则执行逻辑代码n。

如果变量中的值没有匹配的case值时;执行default中的逻辑代码。

注意:所有case的取值不可相同。

当匹配的case被执行后,并不会自动退出整个结构,而是继续向下执行。

break关键字可以在匹配的case执行后,直接跳出整个结构。

public class TestSwitch{
	public static void main(String[]arge){
	//判断一周食谱,每天吃什么
	/*
	周一:水煮鱼	周二:麻辣烫	周三:火锅
	周四:煲仔饭	周五:火锅		周六:火锅		周日:热干面
	*/
	
		int weekday = 3;
		switch(weekday){
			case 1:
				System.out.println("水煮鱼");
				break;
			case 2:
				System.out.println("麻辣烫");
				break;
			case 3:	
			case 5:
			case 6:
				System.out.println("火锅");	
				break;
			case 4:
				System.out.println("煲仔饭");	
				break;
			case 7:
				System.out.println("热干面");					
				break;
				
			default:
				System.out.println("输入有误,请输入1~7之间的数字");
		}
		System.out.println("程序结束");
		
		System.out.println("-----------------");
		
		char c = 'A';
		
		switch(c){
			case 'A':
			System.out.println("您输入的是A");
			break;
			
			case 'B':
			System.out.println("您输入的是B");
			break;			
		}
		
		
		String str = "星期一";
		switch(str){
			case "星期一":
				System.out.println("今天吃水煮鱼");
				break;
		}

	}
	
}

局部变量

概念:声明在函数内部的变量,必须先赋值再使用。

作用范围:定义开始到所在的代码块结束。

注意:多个变量,在重合的作用范围内,不可出现重名(命名冲突)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值