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

Java教程
Java標識符與關鍵字
Java變量
Java數據類型
Java運算符
Java控制語句
Java方法
Java面向對象
Java對象的創建和使用
Java封裝
Java中static和this
Java繼承
Java方法覆蓋和多態
Java super
Java基礎練習題

Java基本數據類型轉換

Java基本數據類型之間是存在固定的轉換規則的,現總結出以下6條規則,無論是哪個程序,將這6個規則套用進去,問題迎刃而解:

● 八種基本數據類型中,除boolean類型不能轉換,剩下七種類型之間都可以進行轉換;

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

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

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

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

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

● 多種數據類型混合運算,各自先轉換成容量最大的那一種再做運算;

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

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系統開發

圖4-16:類型轉換編譯錯誤提示信息

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

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

運行結果如下圖所示:

圖4-17:類型轉換測試

全部教程
主站蜘蛛池模板: 日韩欧美亚洲一区精选 | 亚洲国产精品线播放 | 伊人色综合网一区二区三区 | se成人国产精品 | a级无毛片 | 日日摸日日碰日日狠狠 | 国产成人啪午夜精品网站男同 | 日韩麻豆国产精品欧美 | 国内精品自在自线香蕉 | 免费一级特黄特色黄大任片 | 手机在线看片福利 | 欧美中文字幕在线播放 | 老湿机永久体验 | 做a小视频| 在线观看日本中文字幕 | 午夜成人在线视频 | 亚洲欧美一区二区三区九九九 | 国产毛片儿 | 色婷婷色99国产综合精品 | 中文字幕日本不卡 | 亚洲精品乱码久久久久久麻豆 | 男人天堂日韩 | 99久久精品免费看国产免费 | 天天弄天天干 | 天天操天天爽天天射 | 国产伦精品一区二区三区无广告 | 久久精品亚洲综合一品 | jizz成熟丰满中国妇女 | 台湾一级毛片免费播放 | 免费在线精品视频 | 日韩国产一区二区 | 精彩视频一区二区三区 | 九九九九九九伊人 | 亚洲欧美日韩国产一区二区精品 | 996re免费热在线视频手机 | 久久综合九色综合国产 | 日日草视频 | www.亚洲| 欧美激情精品久久久久久大尺度 | 亚洲精品成人网 | 亚洲精品第一综合99久久 |