Java中的跌倒条件
switch 语句是一个多路分支语句。它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。基本上,表达式可以是 byte、short、char 和 int 原始数据类型。从 JDK7 开始,它还适用于枚举类型( Java中的Enums )、 String类和Wrapper类。
Switch-case流程图:
Fall through条件:当 switch 语句中没有针对特定 case 的 break 关键字提及时,此条件发生在 switch 控制语句中,并导致执行 case 直到没有 break 语句出现或退出 switch 语句。这种情况有其自身的优点和缺点,它完全取决于我们在程序中想要的操作类型。
在以下程序中通过条件:
Java
// Java program to showcase the fall through condition
import java.util.*;
import java.io.*;
class GFG{
public static void main(String[] args) {
int gfg = 1;
switch ( gfg ){
case 1:{
System.out.println("GeeksforGeeks number 1");
}
// Since break statement is missing
// it will lead to fall through condition
case 2:{
System.out.println("GeeksforGeeks number 2");
}
case 3:{
System.out.println("GeeksforGeeks number 3");
}
default :{
System.out.println("This is default case");
}
}
}
}
Java
// Java Program to check whether the character is a vowel or not
import java.util.*;
import java.io.*;
class GFG{
public static void main(String[] args) {
char ch='f';
switch ( ch ){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':System.out.println("Vowel");
break;
default :{
System.out.println("Consonant");
}
}
}}
输出
GeeksforGeeks number 1
GeeksforGeeks number 2
GeeksforGeeks number 3
This is default case
缺点:在上面的程序中,我们忘记提到 switch 语句中的 break 语句,它会导致执行所有 case,即使它们与匹配的值不匹配。这种情况在程序中产生了一个主要问题。所以我们必须在 switch 语句中的每个 case 中使用 break 关键字,以克服这种情况,这是 fall through 条件的缺点。
跌倒条件的优势:
我们非常清楚 switch 语句适用于单个变量或表达式,并且在许多情况下,当有相同的输出许多值时,这里的落入条件在这种情况下起着重要作用,并通过减少比较来提高程序效率
示例: Java一个月中的总天数, Java程序检查字符是否为元音等。
Java
// Java Program to check whether the character is a vowel or not
import java.util.*;
import java.io.*;
class GFG{
public static void main(String[] args) {
char ch='f';
switch ( ch ){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':System.out.println("Vowel");
break;
default :{
System.out.println("Consonant");
}
}
}}
输出
Consonant