`
fanyo
  • 浏览: 43915 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Switch 没有break和default位置乱放情况分析

J# 
阅读更多
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
分享到:
评论
1 楼 fanyo 2009-08-10  
public class B {  
       
    public static void main(String Args[]){  
        int i =1 ,j =0;  
          
        switch(i){  
            default:j+=2;  
            case 2:j+=6;  
            case 4:j+=6;  
              
            case 0:j+=4;  
              
              
        }  
          
      
          
        System.out.println(j);  
          
    }  

这样就不难理解输出结果18了
switch 每次搞懂了记住了,然后又混了,特别default 和break 组合很乱的时候,
记住进入点,和 没break 顺序进行,感觉思路清晰多了

相关推荐

    switch语句&break关键字&default关键字.pdf

    switch语句&break关键字&default关键字.pdf

    C++switch goto break for 循环 教程与实例

    C++ switch、goto、break、for 循环教程与实例 C++ 语言中,控制语句是编程的核心组件之一。控制语句用于控制程序的执行流程,包括选择结构、循环结构和跳转语句等。下面将详细介绍 C++ 中的 switch 语句、goto ...

    C#051break和switch今天星期几

    C#051break和switch今天星期几

    解析c语言switch中break语句的具体作用

    在switch条件选择中,没有了循环控制,break又起什么作用呢? 解决办法:1. switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个...

    C语言switch语句学习教案.pptx

    * 在 switch 语句中,如果没有 break 语句,程序将继续执行到下一个 case 语句。 * 如果没有 default 语句,程序将执行到结束。 * 在 switch 语句中,各个 case 语句的顺序并不影响执行结果。 switch 语句的优点:...

    switch语句的妙用(必看篇)

    这里a和case列表中从上而下逐一做比较,如果匹配就执行case中的代码,若有break则跳出,无break则继续往下匹配,直到新的匹配和break或switch代码块结束。 注意: a和case值的匹配算法是执行严格相等比较的(‘===’...

    C语言程序设计中break语句分析.pdf

    switch语句是一种多分支选择语句,它的执行过程可以分为五步:计算switch语句表达式的值,依次与多个常量做比较,当表达式的值与常量相等时,执行case后的语句,当执行break语句时,结束switch语句,如果没有break,...

    switch函数使用示例

    一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。 switch 语句必须遵循下面的规则: 1.在一个 switch 中可以有任意数量的 case 语句。...

    C语言switch语句PPT课件.pptx

    C语言switch语句是多分支选择语句,在实际应用中需要在多种情况中选择一种情况,执行某一部分语句。switch语句是C语言中处理多路选择问题的一种更直观和有效的手段。 在测试某个表达式是否与一组常量表达式中的某...

    C语言switch语句 ——教学案例分析PPT学习教案.pptx

    本教学案例分析PPT学习教案的主要目的是帮助中职计算机专业学生学习C语言switch语句的格式、执行过程和应用,达到掌握switch语句的格式、理解switch语句的执行过程、掌握阅读、调试switch程序的能力、掌握switch语句...

    多重选择:switch和break.7z

    博客源码:https://blog.csdn.net/u014411348/article/details/108596356

    switch demo

    switch(command){ case 1: System.out.println("显示全部记录"); break; case 2: System.out.println("查询登录记录"); break; case 0: System.out.println("欢迎使用"); break; ...

    C语言中的switch语句基本用法

    4. 如果没有找到匹配的case语句,则执行default语句。 break语句的作用 在switch语句中,break语句用于结束switch语句的执行。当switch语句遇到break语句时,会跳出switch语句的执行,并继续执行switch语句后的...

    C语言switch语句ppt课件.ppt

    在switch语句中,如果没有break语句,程序将继续执行下一个case分支,直到遇到break语句或达到switch结构的结尾。因此,通常在每个case分支最后加一break语句,以退出switch结构。 switch语句与if语句不同,switch...

    WEB开发 之 JavaScript Switch 语句.docx

    如果没有匹配,则执行default关联的代码块。 在实际应用中,Switch语句可以用来显示当前日期的周名称。例如:var day=new Date().getDay(); switch (day) { case 0: x="Today its Sunday"; break; case 1: x="Today...

    js switch case default 的用法示例介绍

    switch case default的用法应该存在一部分人不会使用吧,其实很简单就是每个case后,一定要加:break;default,就相当于else,不会的朋友可以了解下

    C语言程序设计(第2版)-2期 经验技巧4-2 switch语句中default的书写位置.pdf

    C语言程序设计(第2版)-2期 经验技巧4-2 switch语句中default的书写位置.pdf 学习资料 复习资料 教学资源

    C语言switch语句 ——教学案例分析PPT课件.pptx

    C 语言 switch 语句教学案例分析 PPT 课件 本 PPT 课件旨在帮助中职计算机专业学生学习 C 语言的 switch 语句,讲授了 switch 语句的格式、执行过程、与其他语句的异同、多分支选择结构的实现等内容。通过教学目标...

    Java程序设计基础:switch选择结构.pptx

    【分析】该问题属于多情况选择判断 什么情况下使用switch选择结构 if (score >= 90.0){ grade = 'A'; }else if (score >= 80.0){ grade = 'B'; }else if (score >= 70.0){ grade = 'C'; }else if (score >= 60.0){ ...

    Golang中switch语句和select语句的用法教程

    本文主要给大家介绍了关于Golang中switch和select用法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 一、switch语句 switch语句提供了一个多分支条件执行的方法。每一个case可以携带一个表达式...

Global site tag (gtag.js) - Google Analytics