if选择结构
1. 基本if选择结构
语法
if ( 条件 ){ // 如果条件满足,则执行代码块//代码块}
案例
从控制台输入一个整数,如果该数字小于
10
,则输出
10
与该数字的差值。
流程图
代码实现
public class Example1 {public static void main ( String [] args ) {Scanner sc = new Scanner ( System . in );System . out . println ( " 请输入一个整数: " );int number = sc . nextInt ();if ( number < 10 ){int diff = 10 - number ;System . out . println ( "10 与该数字的差值是: " + diff );}}}
2. if-else选择结构
语法
if ( 条件 ){ // 如果条件满足,则执行代码块 1//代码块 1} else { // 否则,执行代码块 2//代码块 2}
案例
从控制台输入一个整数,如果该数字是偶数,则输出输入的数字"
是偶数
"
,否则输出输入的数字
"
是奇数"
。
流程图
代码实现
public class Example2 {public static void main ( String [] args ) {Scanner sc = new Scanner ( System . in );System . out . println ( " 请输入一个整数: " );int number = sc . nextInt ();if ( number % 2 == 0 ){System . out . println ( " 是偶数 " );} else {System . out . println ( " 是奇数 " );}}}
三元一次运算符(条件 ? 表达式1 : 表达式2)
?
表示的意思是询问前面的条件是否满足,如果满足,则使用表达式
1
。:表示否则,即条件不满足,使用表达式2
public class Example2 {public static void main ( String [] args ) {Scanner sc = new Scanner ( System . in );System . out . println ( " 请输入一个整数: " );int number = sc . nextInt ();// if(number % 2 == 0){// System.out.println("是偶数");// } else {// System.out.println("是奇数");// }System . out . println (( number % 2 == 0 ) ? " 是偶数 " : " 是奇数 " );}}
三元一次运算符执行效率相较于
if-else
选择结构来说较为低下,不建议大家常用
3. 嵌套if选择结构
语法
if ( 条件 1 ){ // 如果条件 1 满足,则执行其后大括号中的代码块if ( 条件 2 ){ // 在满足条件 1 的基础上再满足条件 2//代码块} else { // 该结构可以省略不写,表示其他情况不做任何处理//代码块}} else { // 该结构可以省略不写,表示其他情况不做任何处理if ( 条件 3 ){ // 在不满足条件 1 的基础上再满足条件 3//代码块} else { // 该结构可以省略不写,表示其他情况不做任何处理//代码块}}
案例
在半决赛中,如果取得胜利,则可以进入决赛。否则,输出
"
已被淘汰
"
。如果是男子,则输出
"
进入男子组决赛"
;否则,输出
"
进入女子组决赛
"
。
流程图
代码实现
public class Example3 {public static void main ( String [] args ) {Scanner sc = new Scanner ( System . in );System . out . println ( " 请输入是否获胜 (Y/N) : " );String win = sc . next ();//比较字符串相同使用字符串的equals 方法if ( "Y" . equals ( win )){System . out . println ( " 请输入性别: " );String sex = sc . next ();if ( " 男 " . equals ( sex )){System . out . println ( " 进入男子组决赛 " );} else {System . out . println ( " 进入女子组决赛 " );}} else {System . out . println ( " 已被淘汰 " );}}}
4. 多重if选择结构
语法
if ( 条件 1 ){ // 如果条件 1 满足,则执行代码块 1//代码块 1} else if ( 条件 2 ){ // 如果条件 2 满足,则执行代码块 2 。这样的结构可以有多个//代码块 2} //else if 结构可能有多个else { // 否则,执行代码块 3 。该结构可以省略不写,表示其他情况不做任何处理//代码块 3}
案例
小明去买了
1
注彩票,如果中了一等奖,则可以领取
500
万;如果中了二等奖,则可以领取
100
万;如果中了三等奖,则可以领取1000
块;如果中了四等奖,则可以领取
10
块;如果中了五等奖,则可以领取5
块;否则,没有奖励。
流程图
代码实现
public class Example5 {public static void main ( String [] args ) {Scanner sc = new Scanner ( System . in );System . out . println ( " 请输入中奖等级: " );int level = sc . nextInt ();if ( level == 1 ){System . out . println ( " 领取 500 万 " );} else if ( level == 2 ){System . out . println ( " 领取 100 万 " );} else if ( level == 3 ){System . out . println ( " 领取 1000 块 " );} else if ( level == 4 ){System . out . println ( " 领取 10 块 " );} else if ( level == 5 ){System . out . println ( " 领取 5 块 " );} else {System . out . println ( " 没有奖励 " );}}}
5. 逻辑短路
逻辑与短路
使用逻辑与衔接的多个条件中,只要其中一个条件为假,那么该条件之后的所有条件将得不到执行,从而形成逻辑与短路。
逻辑或短路
使用逻辑或衔接的多个条件中,只要其中一个条件为真,那么该条件之后的所有条件将得不到执行,从而形成逻辑或短路。