Java中的选择结构

1.if选择结构:解决有一种情况的问题
语法:

if(条件){
	代码块;
}

执行流程:
如果条件为true,就执行代码块及if结构以后的语句;如果条件为false,就不执行代码块而直接执行if结构之后的语句。

2.if-else结构:解决有两种情况,这两种情况无论如何都要执行其中一种
语法:

if(条件){
	代码块1;
}else {
	代码块2;
}

执行流程:
如果条件为true,就执行代码块1再执行结构之后的语句;如果条件为false,就执行代码块2,再执行结构之后的语句。

3.多重if选择结构:解决有两种或两种以上情况的问题.
语法:

if(条件1){
	代码块1;
}else if(条件2){
	代码块2;
}else if(条件3){
	代码块3;
}else{
	代码块4;
}

执行流程:
先判断条件1,如果为true,就执行代码块1,如果为false,就继续判断下一个条件2;如果条件2为true,就执行代码块2,如果条件2为false,就继续判断下一个条件3;依次这样执行下去之后如果没有任何符合条件的语句就直接执行else块中代码块4,再执行结构之后的语句。

结构特点:
1.在多重if选择结构中,if块有且仅有一个,else if块可以0个到多个,else可以有0个到1个.
2.多重if选择结构中,最多执行一种情况,最少一种情况都不执行.
3.如果用多重if选择结构解决多种情况范围判断问题时,各种分支之间不一定可以互换位置.

4.switch结构:解决多种情况的等值判断问题.
语法:

switch(表达式){
	case 常量1:
		代码块1;
		break;
	case 常量2:
		代码块2;
		break;
		...
	default:
		代码块;
		break;
}

执行流程:
先判断表达式的值,如果表达式的值等于case后面某一个常量值,就执行完代码块2,遇到break或者是结尾的大括号就跳出switch结构,执行之后的语句;如果表达式的值不等于任何一个case后面的常量 ,就执行default中代码,执行完default代码块,遇到break或者是结尾的大括号就跳出switch结构,执行之后的语句。

结构特点:
1.switch结构中表达式结果的类型,在java7之前支持byte、short、int、char、enum(枚举);java7之后可以是String.
2.switch结构中,case块可以有0个到多个,default有且仅有0个到1个.
3.switch结构中,case块之间可以互换位置,不影响结果.default块也可以放在switch结构中任意位置.
4.在同一个switch结构中,case后面常量值不可以相同,否则报错.
5.一般情况下,switch结构中不能省略break,如果省略break,语法不报错,但是switch结构只会判断一次,执行case块中代码,然后没有break,会继续执行,后面不会再判断,直到遇到遇到break或者是结尾的大括号就跳出switch结构,执行之后的语句.
6.switch结构中最少执行0个分支情况,最多全部执行.

5.多重if VS switch
相同点:
1.都可以解决多种情况的等值判断问题.
2.都是最少执行0种情况(分支).

不同点:
1.多重if既可以解决多种情况的范围判断问题,又可以解决多种情况等值判断问题;switch结构只能解决多种情况等值判断问题.
2.多重if结构最多只能执行一个分支情况;switch结构可以执行多个分支情况.
3.多重if结构的条件可以是任意表达式,只要表达式结果是boolean;switch结构中表达,在java7之前支持byte、short、int、char、enum(枚举);java7之后可以是String.
4.多重if结构中,各个分支之间不一定可以互换位置; switch结构中,在不省略break情况下,各个分支之间可以互换位置,不影响结果.
5.多重if结构中,执行完一个分支情况就跳出多重if结构中;switch结构中,只有遇到break或者结尾大括号,才能跳出switch结构.
6.一般解决多种情况等值判断问题,首选switch结构.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值