惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
月光博客
月光博客
IT之家
IT之家
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
小众软件
小众软件
C
Check Point Blog
B
Blog RSS Feed
H
Help Net Security
博客园 - 司徒正美
L
LangChain Blog
MongoDB | Blog
MongoDB | Blog
B
Blog
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - wxf0701

Java之classpath Http之Get/Post请求区别 Java之细节 Java之Collection Framework Java之类加载机制 补码和原码的转化过程 Java关键字之native,strictfp,transient,volatile ORACLE大数据量下的分页解决方法 Java中堆与栈的区别 Servlet的生命周期 JSP的动作指令 Java二进制兼容性原理 Java源文件的编译、下载、解释和执行 61条面向对象设计的经验 面向对象的设计法则(4)——Liskov替换法则(LSP) 面向对象的设计法则(3)——开放-封闭法则(OCP) 面向对象的设计法则(2)——针对接口编程,而非(接口的)实现 面向对象的设计法则(1)——优先使用(对象)组合,而非(类)继承 抽象类和接口
Java之switch语句
wxf0701 · 2008-08-14 · via 博客园 - wxf0701

public class Temp { 

    /*

     * (当程序执行一条case语句后,因为例子中的case分支中没有break return语句,所以程序会执行紧接于其后的语句)

     * default,case字句的作用只是一个标号.用来查找入口并开始执行

     */

    public void switchTest1() {

       for (int i = 0; i < 2; i++)

           switch (i) {// 结果:0 1M 0 1

           case 0:

              for (int j = 0; j < 2; j++)

                  switch (j) {

                  case 0:

                     System.out.println(j);

                      break;

                  case 1:

                     System.out.println(j + "M");

                     break;

                  }

           case 1:

              System.out.println(i);

              break;

           }

    }

    /*

     * switch表达式的值决定选择哪个case分支,如果找不到相应的分支,就直接从"default" 开始输出。

     */

    public void switchTest2() {

       int x = 0;

       switch (x) {// 结果:default 1 2

       default:

           System.out.println("default");

       case 1:

           System.out.println(1);

       case 2:

           System.out.println(2);

       }

       System.out.println("--------------");

       switch (x) {// 结果:0 1 2

       default:

           System.out.println("default");

       case 0:

           System.out.println(0);

       case 1:

           System.out.println(1);

       case 2:

           System.out.println(2);

       }

       System.out.println("--------------");

       switch (x) {// 结果:0 1 2 default

       case 0:

           System.out.println(0);

       case 1:

           System.out.println(1);

       case 2:

           System.out.println(2);

       default:

           System.out.println("default");

       }

    }

    /*

     * switch表达式的必须是整数类型(char,byte,short,int或它们对应的包装器类或枚举类型)

     * case字句的值必须是常量(1;5+3;final修饰的常量),不可为变量

     * 所有case子句中的值必须是不同的

     * continue只能用于循环体中

     */

    public void switchTest3() {

       int x=0;

       final int j = 1;

       switch(x){

       case j:

           System.out.println("df");

//         continue;

//     case 1:

//         System.out.println("df");

           default:

              System.out.println("ffffff");

       }

    }

    public static void main(String[] args) {

       Temp temp = new Temp();

//     temp.switchTest1();

//     temp.switchTest2();

       temp.switchTest3();

    }

}