大战熟女丰满人妻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)換測試

主站蜘蛛池模板: 亚洲在线中文 | 国产日韩综合 | 一区二区三区在线播放 | 日韩精品欧美精品中文精品 | 亚洲香蕉久久一区二区三区四区 | 一级毛片看真人在线视频 | 久久精品国产99久久无毒不卡 | 精品久久久久久久中文字幕 | 深夜福利免费观看 | 色拍999 | 欧美性插视频 | 久久婷婷综合在线视频观看6 | 亚洲国内自拍愉拍20页 | 日韩欧美高清在线观看 | 亚洲精品国产成人一区二区 | 男人的天堂a在线 | 色视频一区二区三区 | 国产在线激情视频 | 极品俄罗斯性孕妇孕交 | 伊在人亚洲香蕉精品播放 | 日日添日日摸 | 国产精品亚洲综合久久 | 天天做爽夜夜做爽 | 欧美成人香蕉网在线观看 | 免费欧洲毛片a级视频老妇女 | 国产一级在线免费观看 | 久夜tv | 激情在线播放免费视频高清 | 香蕉视频在线观看视频 | 国产精品99久久99久久久看片 | 6080欧美一区二区三区四区 | 91精品国产综合久久欧美 | 在线500福利视频国产 | 久久免费精品一区二区 | 亚洲欧美日本一区 | 国产综合一区二区 | 色人阁五月天 | 国产 欧美 日产久久 | 日本成片 | 国产亚洲美女精品久久久久狼 | 亚洲精品乱码国产精品乱码 |