switch语句中的Fall-through、静态导入

      写了2年代码,发现在Java中盲点知识还真不少,活到老学到老,不能大意啊,现在记录下来!

1、switch语句中的Fall-through

      今天看到switch语句中可能发现Fall-through现象,一时不明白是什么意思,就学习了一下,下面代码中的第二个switch就发现了Fall-through现象。

      代码:

复制代码
public class FallTest {
    public static void main(String[] args){
        int i=2;
        switch(i){
          case 1:
            System.out.println("woshishuaige1");
            break;
          case 2:
            System.out.println("woshishuaige2");
            break;
          case 3:
            System.out.println("woshishuaige3");
            break;
          default:
            System.out.println("xiaosile");  
        }
        switch(i){
          case 1:
            System.out.println("我是帅哥1");
          case 2:
            System.out.println("我是帅哥2");
          case 3:
            System.out.println("我是帅哥3");
          default:
            System.out.println("笑死了");  
        }
        
    }
}
复制代码

输出结果:

woshishuaige2
我是帅哥2
我是帅哥3
笑死了

复制代码
public class FallTest {
    public static void main(String[] args){
        int i=2;
        switch(i){
          case 1:
            System.out.println("woshishuaige1");
            break;
          case 2:
            System.out.println("woshishuaige2");
            break;
          case 3:
            System.out.println("woshishuaige3");
            break;
          default:
            System.out.println("xiaosile");  
        }
        switch(i){
          case 1:
            System.out.println("我是帅哥1");
          case 2:
            System.out.println("我是帅哥2");
          case 3:
            System.out.println("我是帅哥3");
          default:
            System.out.println("笑死了");  
        }
        
    }
}
复制代码

输出结果:

woshishuaige2
我是帅哥2
我是帅哥3
笑死了


二、静态导入

  1. 代码

      静态导入之的代码:

public class HelloWorld{
  public static void main(String[] args){
     System.out.println("Hello World!");
}
}

      静态导入之的代码:

 

复制代码
import static java.lang.System.out;//导入java.lang包下的System类,通过System类直接使用out对象。因为out是一个static PrintStream 对象,可以直接使用。

 public class HelloWorld{
     public static void main(String[] args){ 
         out.println("Hello World!");//既是在这里不用再写成System.out.println("Hello World!")了,因为已经导入了out。
      }
 }
复制代码

       2.import xxxx 和 import static xxxx的区别

        import xxxx一般导入的是类文件如import java.util.Scanner;

        import static xxxx一般是导入静态的对象引用、常量(记住,它们是static 或final)和static方法如:import static java.lang.System.out是对静态对象的引用,进行的静态导入。

     3.使用静态导入的几条原则

        1).你必须说import static,不能说static import。

        2).提防含糊不清的命名static成员。例如,如果你对Integer类和Long类执行了静态导入,引用MAX_VALUE将导致一个编译器错误,因为Integer和Long都有一个MAX_VALUE常量,并且Java不会知道你在引用哪个MAX_VALUE。

       3).你可以在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。



















 
复制代码
public class FallTest {
    public static void main(String[] args){
        int i=2;
        switch(i){
          case 1:
            System.out.println("woshishuaige1");
            break;
          case 2:
            System.out.println("woshishuaige2");
            break;
          case 3:
            System.out.println("woshishuaige3");
            break;
          default:
            System.out.println("xiaosile");  
        }
        switch(i){
          case 1:
            System.out.println("我是帅哥1");
          case 2:
            System.out.println("我是帅哥2");
          case 3:
            System.out.println("我是帅哥3");
          default:
            System.out.println("笑死了");  
        }
        
    }
}
复制代码

输出结果:

woshishuaige2
我是帅哥2
我是帅哥3
笑死了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值