Java

前言

神奇的switch case,你以为完全掌握的switch case。。。今天的它看起来十分陌生。。。。


实现代码

问题实例

  • 看看以下实例,你以为他会输出什么?

Integer a = 1;

/**
  * Example 1
  * 你以为Example1只会输出1吗?
  */
switch (a) {
    case 0:
        System.out.println(0);
    case 1:
        System.out.println(1);
    case 2:
        System.out.println(2);
    default:
        System.out.println("#");
}

/**
  * Example 2
  * 这里的case会怎么执行呢?
  */
 switch (a) {
     case 1:
     case 2:
         System.out.println(2);
         break;
     case 3:
         System.out.println(3);
         break;
     default:
         System.out.println("#");
 }
  • 看下最终结果
  • Example1

在这里插入图片描述

  • Example2

在这里插入图片描述

  • 有木有和想象的完全不一样。。。

原理

  • switch语句会跳转到case xxx位置执行剩下的语句,直到最后遇见第一个break为止。
  • 不加break的话将会跳转到相应的case去执行其和其以下的所有语句。

总结

三年都在狗身上写代码


- End -
梦想是咸鱼
关注一下吧
以上为本篇文章的主要内容,希望大家多提意见,如果喜欢记得点个推荐哦
作者:Maggieq8324
本文版权归作者和博客园共有,欢迎转载,转载时保留原作者和文章地址即可。
原文地址:https://www.cnblogs.com/maggieq8324/p/15236123.html