分支结构:
根据条件的成立与否,选择执行方向。
(一)if分支结构:
语句1;
if(条件表达式){
代码块 //条件成立时,执行的逻辑
}
语句2;
执行逻辑:执行完语句1后,碰到if,一定会执行条件表达式,结果为true,就执行代码块,然后再执行语句2。结果为false,就跳过代码块,直接执行语句2
if(条件表达式){
代码块1// 条件成立时执行此代码块
}else{
代码块2// 条件不成立时执行此代码块
}
执行逻辑:当程序执行到if时,一定会执行条件表达式进行判断结果为true,就执行代码块1.结果为false,跳过代码块1,执行代码块2
if(条件1){
代码块1;
}else if(条件2){
代码块2
}else if(条件3){
代码块3
}else{
代码块4
}
执行逻辑:程序执行到if时,一定会执行条件1,进行判断
结果为true,执行代码块1。
结果为false,执行条件2,进行判断
结果为true,执行代码块2.
结果为false,执行条件3,进行判断 ............
练习代码:
public static void main(String[] args){ /* 练习题1: 使用分支结构,判断2018是不是闰年 闰年的条件: 条件1: 能被4整除不能被100整除 条件2: 能被400整除 */ int year = 1900; if(year%4==0&&year%100!=0||year%400==0){ System.out.println(year+"是闰年"); }else{ System.out.println(year+"不是闰年"); } /* 练习题2: 小明的分数为89;请输出小明的分数等级 level: 0~59:E 60~69:D 70~79:C 80~89:B 90~99:A 100:S */ int score = 89; if(score<=59){ System.out.println("E"); }else if(score<=69){ System.out.println("D"); }else if(score<=79){ System.out.println("C"); }else if(score<=89){ System.out.println("B"); }else if(score<=99){ System.out.println("A"); }else{ System.out.println("S"); } /* 练习题3: 判断 num是偶数还是奇数 */ int num = 55; if(num%2==0){ System.out.println(num+"是偶数"); }else{ System.out.println(num+"是奇数"); } }
(二)switch-case分支语句
格式:
switch(整数表达式){
case value1: 代码块1;[break];
case value2: 代码块2;[break];
..........
[default: 代码块n;] //[]表示可有可无
}
整数表达式:即能获得一个整数的表达式。但是jdk1.7版本以后,支持字符串表达式
case后的值value与switch()内的结果类型要相同
break:有打断,毁掉,跳出,结束的含义
执行逻辑:
当程序遇到switch时,计算表达式的值,和case后的值进行匹配,然后,执行对应的分支逻辑。如果此分支有break.就结束分支结构,如果此分支没有break,就继续执行下一条分支逻辑,直到遇到break或default或执行完后续的所有分支。
练习代码:
public static void main(String[] args){ int x = 4; int y = 11; switch(y/x){ case 1: System.out.println("A"); break; case 2: System.out.println("B"); //验证没有break是否还会向下执行 case 3: System.out.println("C"); break; default: System.out.println("D"); } System.out.println("end"); }
原文地址:https://www.cnblogs.com/yuchen656/p/9383243.html