package flowcontrol;
public class SwitchCase {
// first default
public static void testFirst(int i) {
switch (i) {
default:
System.out.println("default");// first default
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("there");
}
}
// last default
public static void testLast(int i) {
switch (i) {
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("there");
default:
System.out.println("default");// last default
}
}
// middle default
public static void testMiddle(int i) {
switch (i) {
case 1:
System.out.println("one");
case 2:
System.out.println("two");
default:
System.out.println("default");// middle default
case 3:
System.out.println("there");
}
}
public static void main(String[] args) {
// first default
testFirst(2);
System.out.println("------------------");
testFirst(9);
System.out.println("|||||||||||||||||||||||||||||||||||");
// last default
testLast(2);
System.out.println("----------------");
testLast(9);
System.out.println("|||||||||||||||||||||||||||||||||||");
// middle default
testMiddle(2);
System.out.println("----------------");
testMiddle(9);
}
}
输出结果是什么呢,看了结果,我是这么理解的:
(1)switch语句关键地方是进入点,有了进入点没有break的情况下会执行到底
(2)没有匹配值的时候default就是进入点,进入default以后会和普通进入点一样,如果没有break继续执行下面语句
two
there
------------------
default
one
two
there
|||||||||||||||||||||||||||||||||||
two
there
default
----------------
default
|||||||||||||||||||||||||||||||||||
two
default
there
----------------
default
there
分享到:
相关推荐
以上示例中,我们使用了switch语句来处理不同的输入情况,使用break关键字来确保每次只执行一个case分支,避免了case穿透问题,使用default关键字来处理不匹配的意外情况。通过这些示例,我们可以看到switch语句在...
C++ switch、goto、break、for 循环教程与实例 C++ 语言中,控制语句是编程的核心组件之一。控制语句用于控制程序的执行流程,包括选择结构、循环结构和跳转语句等。下面将详细介绍 C++ 中的 switch 语句、goto ...
标题中的“多重选择:switch和break”指的是在编程语言中,特别是C/C++或类似的语法结构中,用于实现多路分支选择的结构——`switch`语句和`break`关键字。`switch`语句允许根据不同的条件执行不同的代码块,而`...
在C#编程语言中,`break` 和 `switch` 是两个关键的控制流程语句,它们在编写逻辑和控制程序执行路径时起着至关重要的作用。让我们深入了解一下这两个概念及其在实际开发中的应用。 首先,`switch` 语句是C#中用...
总结一下,`switch`语句中的`default`可以出现在任何位置,但为了避免代码混乱和不必要的执行,通常将其放在最后。`default`后的`break`是可选的,但根据需要应谨慎使用,以确保代码的正确流程。理解这些细节对于...
若没有`break`,程序会"落入"(fall through)下一个`case`,除非遇到`break`或者`switch`结束。 4. **default**:可选的`default`子句,当`expression`不匹配任何`case`时执行。这提供了一个默认的操作路径,确保...
以上示例说明了 switch 语句在不同情况下是如何工作的,特别是在 `break` 语句使用不当的情况下可能导致的意料之外的结果。通过这些示例,我们可以更好地理解和掌握 switch 语句的使用技巧,从而在实际编程中更加...
* 在 switch 语句中,如果没有 break 语句,程序将继续执行到下一个 case 语句。 * 如果没有 default 语句,程序将执行到结束。 * 在 switch 语句中,各个 case 语句的顺序并不影响执行结果。 switch 语句的优点:...
这里a和case列表中从上而下逐一做比较,如果匹配就执行case中的代码,若有break则跳出,无break则继续往下匹配,直到新的匹配和break或switch代码块结束。 注意: a和case值的匹配算法是执行严格相等比较的(‘===’...
`switch`语句在处理多个可能情况时比一系列`if...else if...else`语句更为简洁和高效。让我们深入探讨一下`switch`在C#中的用法,以及如何通过代码示例来理解它。 `switch`语句的基本语法如下: ```csharp switch ...
在 Java 和 C# 中,`switch` 语句在语法和行为上有一些显著的区别,尤其是在处理多条 `case` 的连续执行和 `break` 的使用上。 首先,我们来看 C# 中的 `switch` 语句示例: ```csharp class StudentGrade { ...
switch语句是一种多分支选择语句,它的执行过程可以分为五步:计算switch语句表达式的值,依次与多个常量做比较,当表达式的值与常量相等时,执行case后的语句,当执行break语句时,结束switch语句,如果没有break,...
在6页的案例分析中,可能涵盖了如何在实际项目中设计和实现`enum`类型,如何有效地利用`switch`语句进行条件判断,以及如何避免`switch`语句的常见陷阱,比如`switch`中的`case`值重叠或遗漏`break`导致的...
4. 如果switch表达式的值等于某个case后的值,但该case语句不包含break语句,则控制流将继续执行后续的case语句,直到遇到break语句为止。 二、switch语句的注意要点 1. switch语句中使用的表达式必须是整型或可以...
在Objective-C中,`switch`语句是一种条件控制结构,用于根据不同的情况执行不同的代码块。它与C语言中的`switch`语句基本相似,但在某些方面有所扩展和改进,使得在Objective-C中使用更加灵活。 ### 1. `switch`...
3. **fallthrough效果**:在没有`break`的情况下,程序会"掉入"下一个`case`,这种现象称为fallthrough。 4. **`default`的可选性**:虽然可选,但通常推荐使用`default`来处理未知或未预见的情况。 四、实例解析 ...
因为没有`break`,程序会依次执行`case 9`, `case 8`, `case 7`, `case 6`和`default`,最后`grade`的值被设为'D',这显然是错误的结果。 修正这个问题的方法是在每个`case`后面的语句块末尾加上`break`,如下所示...
在switch条件选择中,没有了循环控制,break又起什么作用呢? 解决办法:1. switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个...
- 示例2和3展示了没有break的情况,即使匹配成功,也会继续执行后续的case,直到遇到break或switch的结尾。 9. **注意事项**: - 虽然连续case可以简化代码,但过多的无break case可能导致意外的代码执行路径,...
default子句是可选的,当没有任何case匹配时,执行default后的代码。 通过熟练掌握if语句和switch语句,开发者可以编写出灵活且具有决策能力的程序。它们在处理条件判断、逻辑选择和分支控制方面发挥着关键作用。在...