大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java教程
Java標(biāo)識符與關(guān)鍵字
Java變量
Java數(shù)據(jù)類型
Java運(yùn)算符
Java控制語句
Java方法

Java基本數(shù)據(jù)類型轉(zhuǎn)換

Java基本數(shù)據(jù)類型之間是存在固定的轉(zhuǎn)換規(guī)則的,現(xiàn)總結(jié)出以下6條規(guī)則,無論是哪個程序,將這6個規(guī)則套用進(jìn)去,問題迎刃而解:

● 八種基本數(shù)據(jù)類型中,除boolean類型不能轉(zhuǎn)換,剩下七種類型之間都可以進(jìn)行轉(zhuǎn)換;

● 如果整數(shù)型字面量沒有超出byte,short,char的取值范圍,可以直接將其賦值給byte,short,char類型的變量;

● 小容量向大容量轉(zhuǎn)換稱為自動類型轉(zhuǎn)換,容量從小到大的排序?yàn)椋?/span>byte < short(char) < int < long < float < double

注:short和char都占用兩個字節(jié),但是char可以表示更大的正整數(shù);

● 大容量轉(zhuǎn)換成小容量,稱為強(qiáng)制類型轉(zhuǎn)換,編寫時必須添加“強(qiáng)制類型轉(zhuǎn)換符”,但運(yùn)行時可能出現(xiàn)精度損失,謹(jǐn)慎使用;

● byte,short,char類型混合運(yùn)算時,先各自轉(zhuǎn)換成int類型再做運(yùn)算;

● 多種數(shù)據(jù)類型混合運(yùn)算,各自先轉(zhuǎn)換成容量最大的那一種再做運(yùn)算;

接下來,根據(jù)以上的6條規(guī)則,我們來看一下以下代碼,指出哪些代碼編譯報錯,以及怎么解決:

public class TypeConversionTest {
	public static void main(String[] args) {
		byte b1 = 1000;
		byte b2 = 20;
		short s = 1000;
		int c = 1000;
		long d = c;
		int e = d;
		int f = 10 / 3;
		long g = 10;
		int h = g / 3;
		long m = g / 3;
		byte x = (byte)g / 3;
		short y = (short)(g / 3);
		short i = 10;
		byte j = 5;
		short k = i + j;
		int n = i + j;
		char cc = 'a';
		System.out.println("cc = " + cc);
		System.out.println((byte)cc);
		int o = cc + 100;
		System.out.println(o);
	}
}

編譯報錯,錯誤信息如下所示:

Java系統(tǒng)開發(fā)

圖4-16:類型轉(zhuǎn)換編譯錯誤提示信息

如何修改,請看以下代碼:

public class TypeConversionTest {
	public static void main(String[] args) {
		//1000超出byte取值范圍,不能直接賦值
		//byte b1 = 1000;
		//如果想讓上面程序編譯通過,可以手動強(qiáng)制類型轉(zhuǎn)換,但程序運(yùn)行時會損失精度
		byte b1 = (byte)1000;
		//20沒有超出byte取值范圍,可以直接賦值
		byte b2 = 20;
		//1000沒有超出short取值范圍,可以直接賦值
		short s = 1000;
		//1000本身就是int類型,以下程序不存在類型轉(zhuǎn)換
		int c = 1000;
		//小容量賦值給大容量屬于自動類型轉(zhuǎn)換
		long d = c;
		//大容量無法直接賦值給小容量
		//int e = d;
		//加強(qiáng)制類型轉(zhuǎn)換符
		int e = (int)d;
		//int類型和int類型相除最后還是int類型,所以結(jié)果是3
		int f = 10 / 3;
		long g = 10;
		//g是long類型,long類型和int類型最終結(jié)果是long類型,無法賦值給int類型
		//int h = g / 3;
		//添加強(qiáng)制類型轉(zhuǎn)換符
		int h = (int)(g / 3);
		//long類型賦值給long類型
		long m = g / 3;
		//g先轉(zhuǎn)換成byte,byte和int運(yùn)算,最后是int類型,無法直接賦值給byte
		//byte x = (byte)g / 3;
		//將以上程序的優(yōu)先級修改一下
		byte x = (byte)(g / 3);
		short y = (short)(g / 3);
		short i = 10;
		byte j = 5;
		//short和byte運(yùn)算時先各自轉(zhuǎn)換成int再做運(yùn)算,結(jié)果是int類型,無法賦值給short
		//short k = i + j;
		int n = i + j;
		char cc = 'a';
		System.out.println("cc = " + cc);
		//將字符型char轉(zhuǎn)換成數(shù)字,'a'對應(yīng)的ASCII是97
		System.out.println((byte)cc);
		//char類型和int類型混合運(yùn)算,char類型先轉(zhuǎn)換成int再做運(yùn)算,最終197
		int o = cc + 100;
		System.out.println(o);
	}
}

運(yùn)行結(jié)果如下圖所示:

圖4-17:類型轉(zhuǎn)換測試

主站蜘蛛池模板: 成人影院在线观看 | 日韩一二区 | 精品玖玖玖视频在线观看 | 天天爽夜夜操 | 日本精品久久久久中文字幕 | 97在线视 | 久久精品国产91久久麻豆自制 | 国产在线毛片 | 全部免费毛片免费播放 | 五月婷婷激情四射 | 久久香蕉国产线看观看99 | 欧美成人怡红院在线观看 | 天天操天天舔 | 99久久精品免费 | 欧美成人精品一区二区三区 | 欧美一级毛片特黄大 | 爱爱网站免费 | 四虎永久免费观看 | 国产萝控精品福利视频免费 | 亚洲精品久久久久久下一站 | 毛片小视频 | 精品国产一区二区三区2021 | 一区二区三区在线 | 日韩www| 97影院理论午夜论不卡 | 婷婷爱爱 | 在线视频免费观看a毛片 | 欧美一区二区在线观看视频 | 2017天天干天天射 | 国产激情视频一区二区三区 | 婷婷亚洲五月 | 成人亚洲国产精品久久 | 欧美性色生活片天天看99 | 国产美女久久精品香蕉69 | 亚洲一区 欧美 | 国内精品久久久久影院蜜芽 | 日韩一区二区天海翼 | 香蕉18xxoo欧美夜视频 | 纯欧美一级毛片免费 | 欧美成人性生活视频 | 九九九精品午夜在线观看 |