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

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

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

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

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

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

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

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

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

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

● 多種數(shù)據(jù)類型混合運算,各自先轉(zhuǎ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;
		//如果想讓上面程序編譯通過,可以手動強制類型轉(zhuǎ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;
		//加強制類型轉(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;
		//添加強制類型轉(zhuǎn)換符
		int h = (int)(g / 3);
		//long類型賦值給long類型
		long m = g / 3;
		//g先轉(zhuǎn)換成byte,byte和int運算,最后是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運算時先各自轉(zhuǎn)換成int再做運算,結(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類型混合運算,char類型先轉(zhuǎn)換成int再做運算,最終197
		int o = cc + 100;
		System.out.println(o);
	}
}

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

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

主站蜘蛛池模板: 欧美日韩成人午夜免费 | 看全大色黄大色黄大片一级爽 | 国产精品久久香蕉免费播放 | 成人短视频在线在线观看 | 91精东果冻蜜桃星空麻豆 | 精品视频国产 | 久久久久久全国免费观看 | 黑人特黄aa毛片 | 日韩小视频在线播放 | 亚洲国产男人本色在线观看的a站 | 午夜一级免费视频 | 日韩精品亚洲精品485页 | 国产不卡精品一区二区三区 | 日韩成人三级 | 69美女福利视频在线观看 | 色综合手机在线 | 四虎影院4hu | 9久热这里只有精品免费 | 九九久久精品这里久久网 | 欧美激情精品久久久久久久 | 亚洲tv精品一区二区三区 | 日韩城人免费 | 高清国产美女在线观看 | 成人看免费一级毛片 | 美女福利视频一区二区 | 天天操精品视频 | 欧美香蕉视频在线观看 | 国产欧美一区二区三区在线 | 看黄网站在线观看 | 福利在线视频观看 | 偷偷操不一样的久久 | 久久做| 国产99在线视频 | 午夜一级毛片免费视频 | 亚洲日本高清成人aⅴ片 | 成人爽a毛片在线视频网站 成人爽视频 | 四虎国产精品免费五月天 | 九九九热精品 | 日本免费毛片 | www日韩在线 | 中文字幕中文字幕在线 |