Java--选择结构

if选择结构

if选择结构根据条件判断之后再做处理的一种语法结构。
可用于等值判断,也可用于区间情况。
条件表达式的值为boolean类型。
执行顺序:先判断条件表达式,结果为true时,执行大括号里的代码;结果为false时跳过代码块,执行if后面的语句。

1.基本选择结构
处理单一或组合条件的情况。
语法:

if(条件表达式){
	代码块//条件表达式为true要执行的代码,可以是一条语句也可以是一组语句
}

注意:如果if没有{}作为if体,那么if直接下一行就是if体(限于if体只有一行语句),建议不省略大括号。

2.if-else选择结构
处理简单的条件分支情况,符合if体输出if内容,反之输出else内容
语法:

if(条件表达式){
	//代码块一
}else{
	//代码块二
}

3.多重if选择结构
处理连续区间的条件分支情况
多重if当遇到第一个满足的表达式条件时执行当前的if语句,不再向下执行。即:针对多个条件时,如果一旦有一个条件满足就会执行该大括号中的内容,同时剩下的条件自动忽略。
语法:

if(条件一){
	//代码块一
}else if(条件二){
	//代码块二
}else{
	//代码块三
}

注意:else if块的顺序是连续的,而不是跳跃的,是有顺序的排列。

4.嵌套if选择结构
处理复杂的条件分支情况
语法:

if(条件一){
	if(条件二){
		//代码块一
	}else{
		//代码块二
	}
}else{
	//代码块三
}

注意:
①只有当满足外层if选择的条件时,才会判断内层if的条件(当满足条件一时执行条件二里的内容,当不满足条件一时执行代码块三。)
②else总是与他前面最近的那个缺少else的if配对
书写规范:
if或else包含的代码块用大括号括起来;
相匹配的一对if和else应该左边对齐;
内层if结构相对于外层if结构要有一定的缩进

switch选择结构

1.switch选择结构方便的解决等值判断问题。
条件只能是等值的判断,而且只能是整形或者字符型的等值判断。

2.语法:

switch(表达式){           
	case 常量1//代码块1;             
		breakcase 常量 2//代码块2;
		breakcase 常量 3//代码块3;
		breakdefault//代码块n;  
	//当以上所有条件都不符合时执行
	}

注意:
①表达式和常量类型要统一;
②一定要加break;
③case空一格写变量;
④case后常量必须各不相同

3.switch选择结构的关键字
①switch:表示“开关”,switch语句小括号里可以是int、short、byte、char、枚举类型、String类型表达式。
②case:表示“情况、情形”,case后面可以是int、short、byte、char、枚举类型、String类型,通常是一个固定的值,顺序可改变。有冒号
③default:表示“默认”,即其他情况都不满足。后面紧跟冒号,通常放在末尾,也可以省略。
break:表示“停止”,即跳出当前结构

4.switch选择结构执行原理
switch后边的小括号中的数据和case后边的数据进行等值匹配,匹配成功的分支执行;按照自上而下的顺序依次匹配;
当所有分支都没有匹配成功,有default的语句的话,会执行default分支当中的语句。
注意:case可以合并,见下方代码

char num='B';
switch(num){
	case 'A':
		System.out.println("优秀");
		break;
	case 'B':
	case 'C':
		System.out.println("良好");
		break;
	case 'D':
		System.out.println("合格");
		break;
}
//以上代码输出结果为:良好

注意:switch选择结构的穿透现象:匹配成功后的分支执行,分支当中最后有“break”语句的话,整个switch语句终止,即跳出当前结构;分支当中最后没有“break”语句的话,直接进入下一个分支执行,这种现象称为穿透现象,break可以避免这种现象;

char num='B';
switch(num){
	case 'A':
		System.out.println("优秀");
		break;
	case 'B':
	case 'C':
		System.out.println("良好");
	case 'D':
		System.out.println("合格");
	break;
}
//以上代码输出结果为:
//良好
//合格

选择结构注意:有时判断后不符合则不执行其代码块的内容,但判断执行的加加减减的值要保留。

int num=20;
if(num++<12){
	System.out.println("橘子");//如果num自加一小于12输出橘子
}else{
	System.out.println(num);//反之则输出num现在的值 
}
//以上代码输出结果为:21
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值