分支结构

1.条件判断:
①.单分支判断:
if(条件表达式){ }
执行特点:条件满足就执行,不满足就不执行
说明:
(1)if()括号中一定是boolean结果,要么true,要么false
A:是一个boolean变量
B:比较表达式,关系表达式
C:逻辑表达式
(2)如果{}中只有一个语句时,允许省略{} ,强烈建议不要省略
②双分支条件判断
if(条件表达式){
//执行的语句1;
}else{
//执行的语句2;
}
执行特点:
当条件表达式成立时,执行语句块1,否则执行语句块2
说明:
(1)if()中必须是boolean值
(2){}中如果只有一句语句,允许省略{},强烈建议保留
③多分支条件判断:
if(条件表达式1){
//执行的语句1;
}else if(条件表达式2){
//执行的语句2;
}else if( 条件表达式3){
//执行的语句3;
}…
}else{
//执行的语句;
}
执行特点:
多个分支,也只会执行其中的一个;
条件判断的顺序是从上往下判断,如果上面已经有满足条件了,下面的条件就不看了;
如果上面的条件不满足,依次往下看;
如果所有的条件表达式都不成立,看是否存在单独的else,如果有,那么就执行它的语句块。
说明:
(1)所有的if()中一定是boolean
(2)如果{}中语句只有一句,可以省略{},强烈建议保留
(3)如果条件的区间范围是互斥的关系(区间没有重叠部分),多个条件的顺序可以调换
如果条件的区间范围是包含的关系(区间有重叠部分),顺序不能随意调整,范围小的在上,范围大的在下面
例子、岳小鹏参加Java考试,他和父亲岳不群达成承诺:如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone7plus;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断
/
import java.util.Scanner;
class TestIfElseIf{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print(“请输入岳小鹏的成绩:”);
int score = input.nextInt();
//前提条件是[0,100]之间
/

if(score == 100){
System.out.println(“一辆BMW”);
}else if(score>80 && score<=99){
System.out.println(“一台iphone7plus”);
}else if(score>=60 && score<=80){
System.out.println(“一个 iPad”);
}else{
System.out.println(“继续努力”);
}*/
//区间范围依次增加
if(score == 100){
System.out.println(“一辆BMW”);
}else if(score>80){
System.out.println(“一台iphone7plus”);
}else if(score>=60){
System.out.println(“一个 iPad”);
}else{
System.out.println(“继续努力”);
}
}
}
2.选择结构:
switch(变量){
case 值1:
//break;
case 值2:
//break;

default:
break;
}
执行特点:
1、入口
(1)当switch(表达式)中表达式的值与其中一个case后面的常量值“相等”,那么就从这个case进入
(2)当switch(表达式)中表达式的值与所有的case后面的常量值都不匹配,那么找default,如果存在,就从default进入
2、出口
(1)自然出口,switch的结束}
(2)中断出口,break
3、一旦找到“入口”,就会一直从上往下执行,直到遇到“出口”
说明:凡是用switch…case可以实现的,用if…else都可以实现。
只不过很多时候,用switch…case的可读性和运行的效率更高。
但是switch…case使用的场景要严格一点:一般是等值判断。
要求:
(1)switch()中的表达式的类型只支持:byte,short,char,int四种基本数据类型,枚举(JDK1.5),String(JDK1.7)
(2)case后面必须是常量
(3)所有case后面的值不能重复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值