最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

switch循環(huán)所支持的數(shù)據(jù)類型案例分析

 更新時(shí)間:2020年06月07日 15:08:49   作者:一生的風(fēng)景  
這篇文章主要介紹了switch循環(huán)所支持的數(shù)據(jù)類型,本文通過實(shí)際案例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在java值有三大循環(huán)與句,for swichwhile 除此之外還有一個(gè)與while相差無幾的do....while;

swich循環(huán)語法如下:

switch (key) {
    case value:
      
      break;

    default:
      break;
    }

其中的key值就是變量,這個(gè)變量的類型可以為什么呢?

答:在JDK1.5之前,switch循環(huán)只支持byte short char int四種數(shù)據(jù)類型.JDK1.5在switch循環(huán)中增加了枚舉類與byteshortcharint的包裝類,對(duì)四個(gè)包裝類的支持是因?yàn)閖ava編譯器在底層手動(dòng)進(jìn)行拆箱,而對(duì)枚舉類的支持是因?yàn)槊杜e類有一個(gè)ordinal方法,該方法實(shí)際上是一個(gè)int類型的數(shù)值.jdk1.7開始支持String類型,但實(shí)際上String類型有一個(gè)hashCode算法,結(jié)果也是int類型.而byteshortchar類型可以在不損失精度的情況下向上轉(zhuǎn)型成int類型.所以總的來說,可以認(rèn)為switch中只支持int.

我們來看數(shù)據(jù)類型的大小 (從小到大):byte—> short, char—> int —> long—>float —> double

我們清楚數(shù)據(jù)類型小轉(zhuǎn)大是不需要強(qiáng)轉(zhuǎn)的所以int以下包含int就是swich循環(huán)中key值所包含的數(shù)據(jù)類型

下面有一個(gè)小例題:

public static void main(String[] args) {
        /*byte x = 1;
        short x = 1;
        String x = "1";
        long x = 1;
        double x = 1;
        int x =1;
        char x =1;
        Integer x = new Integer("1");*/
      switch (x) {
       case 1:
       System.out.println("One");
      break;
      case 2:
      System.out.println("Two");
       break;
      }
      }

總結(jié):swich所支持的基本數(shù)據(jù)類型有:byte,short ,char,int。以及他們封裝類型如:Integer Byte等...

ps:下面看下switch支持的數(shù)據(jù)類型

在JDK1.5之前,switch循環(huán)只支持byte short char int四種數(shù)據(jù)類型。JDK1.5 在switch循環(huán)中增加了枚舉類與byte short char int的包裝類,對(duì)四個(gè)包裝類的支持是因?yàn)閖ava編譯器在底層手動(dòng)進(jìn)行拆箱,而對(duì)枚舉類的支持是因?yàn)槊杜e類有一個(gè)ordinal方法,該方法實(shí)際上是一個(gè)int類型的數(shù)值。
JDK1.7開始支持String類型,但實(shí)際上String類型有一個(gè)hashCode算法,結(jié)果也是int類型。而byte short char類型可以在不損失精度的情況下向上轉(zhuǎn)型成int類型。所以總的來說,可以認(rèn)為switch中只支持int。

package test.switch_com;
public class Demo1_Switch {
  /**
   **/
  public static void main(String[] args) {
    checkName("no");
    //checkName1(2);
  }
  public static void checkName(String op) {
    switch (op) {
      case "no":
        System.out.println("op");
        break;
      case "contains":
        System.out.println("contains");
        break;
      default:
        break;
    }
  }
  /*錯(cuò)誤示例
  public static void checkName1(long op) {
    switch (op) {
      case 1:
        System.out.println("op");
        break;
      case 2:
        System.out.println("contains");
        break;
      default:
        break;
    }
  }*/
}

總結(jié)

相關(guān)文章

最新評(píng)論

定南县| 玛纳斯县| 江安县| 噶尔县| 浮梁县| 息烽县| 平湖市| 桐柏县| 商南县| 石楼县| 繁昌县| 南城县| 莲花县| 连城县| 静海县| 定州市| 旬邑县| 马山县| 商城县| 太仆寺旗| 于都县| 前郭尔| 罗城| 北碚区| 云林县| 岑溪市| 河东区| 邵东县| 阿合奇县| 眉山市| 屏东县| 古丈县| 喀喇沁旗| 旺苍县| 曲麻莱县| 乌兰浩特市| 军事| 赣榆县| 芜湖县| 南涧| 宁海县|