国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java switch()括號內參數的類型要求詳解

Java switch()括號內參數的類型要求詳解

2022-02-15 15:40索兒呀 Java教程

這篇文章主要介紹了Java switch()括號內參數的類型要求,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

switch()括號內參數的類型要求

先聲明一點,本人用的時jdk11,進行的探究。

先說結論:switch()的參數類型可以是:int,byte,short;String;char;enum

一般我們都是這么使用switch()的,一般括號內參數寫的都是int型

public class Demo{            
	public static void main(String[] args){
		int a = 1;
		switch(a){  
			case 1:
				System.out.println("我是1");break;
			case 2:
				System.out.println("我是2");break;	
		}
	}
} 
//毫無疑問,括號內是 int 數據,可以編譯運行

Java switch()括號內參數的類型要求詳解

那么,括號內可以是byte,short,long,float,double,char,String,boolean類型的數據嗎?

先說一下結論:

  • byte,short,int 沒問題
  • long,float,double 會報錯,但是可以再括號內將他們轉化為 int ,就沒問題了
  • 從jdk1.7開始,String 也可以
  • char 也可以
  • boolean會報錯,而且boolean是不能強制轉換成int的

下面是對每個數據類型的探究:

byte

public class Demo{            
	public static void main(String[] args){
		byte a = 1;
		switch(a){   
			case 1:
				System.out.println("我是1");break;
			case 2:
				System.out.println("我是2");break;	
		}
	}
} 
//括號內可以是 byte

Java switch()括號內參數的類型要求詳解

short

public class Demo{            
	public static void main(String[] args){
		short a = 1;
		switch(a){   
			case 1:
				System.out.println("我是1");break;
			case 2:
				System.out.println("我是2");break;	
		}
	}
} 
//括號內可以是 short

Java switch()括號內參數的類型要求詳解

long

public class Demo{            
	public static void main(String[] args){
		long a = 1;
		switch(a){   
			case 1:
				System.out.println("我是1");break;
			case 2:
				System.out.println("我是2");break;	
		}
	}
} 
//編譯時報錯了,說明 long 不行

而且從報錯的說明可以看出,switch()括號內的參數要是int型,

而上面的 short,byte,之所以也行,是因為它們在括號內完成了基本數據類型的自動轉換,自動轉換成int了

Java switch()括號內參數的類型要求詳解

再對 long 探究一下,我在括號內把long強制轉換成int,看看行不行:

public class Demo{            
	public static void main(String[] args){
		long a = 1;
		switch((int)a){   
			case 1:
				System.out.println("我是1");break;
			case 2:
				System.out.println("我是2");break;	
		}
	}
} 
//編譯運行都成功了

Java switch()括號內參數的類型要求詳解

float

public class Demo{            
	public static void main(String[] args){
		float a = 1;
		switch(a){   
			case 1.0:
				System.out.println("我是1.0");break;
			case 2.0:
				System.out.println("我是2.0");break;	
		}
	}
} 

報錯情況和 long 差不多

Java switch()括號內參數的類型要求詳解

double

public class Demo{            
	public static void main(String[] args){
		double a = 1;
		switch(a){   
			case 1.0:
				System.out.println("我是1.0");break;
			case 2.0:
				System.out.println("我是2.0");break;	
		}
	}
} 

情況也和 long,float 的差不多

Java switch()括號內參數的類型要求詳解

String

public class Demo{            
	public static void main(String[] args){
		String a = "1";
		switch(a){   
			case "1":
				System.out.println("我是1");break;
			case "2":
				System.out.println("我是2");break;	
		}
	}
} 
//String 可以

Java switch()括號內參數的類型要求詳解

char

public class Demo{            
	public static void main(String[] args){
		char a = 'a';
		switch(a){   
			case 'a':
				System.out.println("我是a");break;
			case 'b':
				System.out.println("我是b");break;	
		}
	}
} 
// char 也行

Java switch()括號內參數的類型要求詳解

boolean

public class Demo{            
	public static void main(String[] args){
		boolean a = true;
		switch(a){   
			case true:
				System.out.println("我是true");break;
			case false:
				System.out.println("我是false");break;	
		}
	}
} 
//boolean 不行,而且boolean是不能強制轉換成int的

Java switch()括號內參數的類型要求詳解

枚舉類型enum

經過評論區ycxy_ZHT的補充:enum類型也是可以的

 

switch()中不允許的數據類型有?

浮點型

浮點型無法精確比較,由于精度問題。

字符串

字符串沒有直接的比較操作符可以使用,只能通過strcmp之類的函數進行比較,也不適合。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://zhangguohao.blog.csdn.net/article/details/88571143

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩一级电影在线 | 精久久久| 91麻豆产精品久久久久久 | 欧美激情在线精品一区二区三区 | 激情欧美日韩一区二区 | 性色蜜桃x88av| 欧美精品一二三 | 黄瓜av | 91网站视频在线观看 | 国产高清在线不卡 | 天天色av | 国产免费一区二区三区 | 免费观看一区二区三区毛片 | 欧美一级特黄aaaaaa大片在线观看 | 成年人在线观看免费视频 | 久久久久久久av | 不卡黄色片 | 香蕉视频禁止18 | 视频在线一区 | 玖玖在线免费视频 | 国内自拍视频在线观看 | 九九在线视频 | 成人免费黄色 | 成人免费在线播放 | 男人天堂亚洲 | 一区二区三区久久久久 | 精品久久精品久久 | 亚州ava | 国产一级大片 | 国产超碰人人爽人人做人人爱 | 日韩精品小视频 | 在线欧美视频 | 久久99精品久久久 | 在线观看视频91 | 中文在线√天堂 | 日韩av在线一区 | 成人欧美一区二区 | 成人综合视频在线 | 久久av网| 激情免费视频 | 久久精品国产99 |