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. 逻辑短路
逻辑与短路
使用逻辑与衔接的多个条件中,只要其中一个条件为假,那么该条件之后的所有条件将得不到执行,从而形成逻辑与短路。
逻辑或短路
使用逻辑或衔接的多个条件中,只要其中一个条件为真,那么该条件之后的所有条件将得不到执行,从而形成逻辑或短路。
更多Java SE文章参考:Java SE入门及基础知识合集-CSDN博客