日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java中数据类型转换、ASCII编码

發(fā)布時(shí)間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中数据类型转换、ASCII编码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)類型轉(zhuǎn)換:

JAVA語(yǔ)言中要求參與計(jì)算的數(shù)據(jù)類型要保持一致,如果不一致則會(huì)發(fā)生數(shù)據(jù)類型轉(zhuǎn)換,數(shù)據(jù)類型轉(zhuǎn)換可分為:自動(dòng)類型轉(zhuǎn)換(隱式轉(zhuǎn)換)和強(qiáng)制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。

自動(dòng)類型轉(zhuǎn)換:代碼不需要特殊處理,自動(dòng)轉(zhuǎn)換;要求數(shù)據(jù)范圍從小到大(數(shù)據(jù)范圍小的可以向數(shù)據(jù)范圍大的轉(zhuǎn)換)。

/*注意:如果注釋中含中文,那么在編譯時(shí)會(huì)獲取操作系統(tǒng)的編碼格式gbk,此時(shí)會(huì)報(bào)錯(cuò): 編碼 GBK 的不可映射字符;其中一種解決方法是在編譯時(shí)指明編碼格式,加-encoding UTF-8字符,如:javac -encoding UTF-8 DataType.java */ public class DataType{public static void main(String[] args){// 1.整數(shù)默認(rèn)是int類型:System.out.println(88);//88// 2.浮點(diǎn)數(shù)默認(rèn)是double類型:System.out.println(5.21);//5.21// 3.int類型轉(zhuǎn)long類型:long類型的變量在賦值時(shí)后面要加L,但是不加也會(huì)自動(dòng)加上,不會(huì)報(bào)錯(cuò),如:long num1 = 5L;System.out.println(num1);//5long num2 = 5;System.out.println(num2);//5// 4.float類型可以自動(dòng)轉(zhuǎn)double類型,但是double類型不能被自動(dòng)轉(zhuǎn)換為float類型:double num3 = 5.2F;System.out.println(num3);//5.199999809265137// 5.當(dāng)取值范圍大的數(shù)據(jù)類型向取值范圍小的數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換時(shí),會(huì)報(bào)錯(cuò):float num4 = 5.2;System.out.println(num4);//報(bào)錯(cuò):不兼容的類型: 從double轉(zhuǎn)換到float可能會(huì)有損失} }

強(qiáng)制類型轉(zhuǎn)換:自動(dòng)轉(zhuǎn)換只能對(duì)取值范圍小的向取值范圍大的數(shù)據(jù)類型轉(zhuǎn)換,若想要取值范圍大的向取值范圍小的數(shù)據(jù)類型轉(zhuǎn)換,此時(shí)就需要強(qiáng)制轉(zhuǎn)換對(duì)代碼進(jìn)行格式處理,其格式:取值小范圍數(shù)據(jù)類型關(guān)鍵字 變量名 = (取值范圍小的數(shù)據(jù)類型關(guān)鍵字)取值范圍大的數(shù)據(jù)

數(shù)據(jù)溢出:當(dāng)取值范圍大的數(shù)據(jù)的值本身不是很大或很小時(shí),可以正常轉(zhuǎn)換且值不變,但是當(dāng)值本身特別大或特別小時(shí),此時(shí)會(huì)發(fā)生數(shù)據(jù)溢出,即數(shù)據(jù)增大或減小到某類型的取值范圍內(nèi)。

精度損失:當(dāng)浮點(diǎn)型向整型轉(zhuǎn)換時(shí),會(huì)自動(dòng)丟棄小數(shù)部分,并非四舍五入。

public class DataType2 {public static void main(String[] args){// 1.整數(shù)型默認(rèn)數(shù)據(jù)類型為int:int num1 = 8;System.out.println(num1);//8// 2.long數(shù)據(jù)類型的取值范圍比int數(shù)據(jù)類型的取值范圍大,取值范圍大的向取值范圍小的自動(dòng)轉(zhuǎn)換時(shí)會(huì)報(bào)錯(cuò),此時(shí)可以強(qiáng)制轉(zhuǎn)換:// int num2 = 6L;// System.out.println(num2);//錯(cuò)誤: 不兼容的類型: 從long轉(zhuǎn)換到int可能會(huì)有損失// 3.強(qiáng)制類型轉(zhuǎn)換:格式:小范圍數(shù)據(jù)類型關(guān)鍵字 變量名 = (小范圍數(shù)據(jù)類型關(guān)鍵字) 取值范圍大的數(shù)據(jù)int num3 = (int) 6L;System.out.println(num3);//6// 4.數(shù)據(jù)溢出:當(dāng)轉(zhuǎn)換后的值不在某個(gè)數(shù)據(jù)取值范圍內(nèi)時(shí),會(huì)發(fā)生數(shù)據(jù)溢出(可理解為裝不下)。int num4 = (int) 8888888888L;System.out.println(num4);//298954296// 5.精度損失:小數(shù)轉(zhuǎn)整數(shù)時(shí),小數(shù)部分會(huì)舍棄,并非四舍五入,只留下整數(shù)部分:int num5 = (int) 5.20;System.out.println(num5);//5// 6.byte、char、short三類型可以發(fā)生數(shù)學(xué)運(yùn)算,在運(yùn)算前首先會(huì)提升為int類型后在參與計(jì)算,如:char str = 'f';System.out.println(str + 1);//103,數(shù)據(jù)在計(jì)算機(jī)中是二進(jìn)制儲(chǔ)存的,二進(jìn)制本身就是數(shù)字形式,// 7.BOOlean類型不能發(fā)生數(shù)據(jù)類型轉(zhuǎn)換:boolean flag = false;int num6 = (int) flag;System.out.println(flag);//錯(cuò)誤: 不兼容的類型: boolean無(wú)法轉(zhuǎn)換為int} }

ASCII編碼表:

在計(jì)算機(jī)的內(nèi)部都是二進(jìn)制的0、1數(shù)據(jù),為讓計(jì)算機(jī)可以直接識(shí)別人類文字,于是產(chǎn)生了編碼表的概念。

ASCII全稱American Standard Code for Information Interchange ,意為:美國(guó)標(biāo)準(zhǔn)信息交換碼,它只包含了美國(guó)語(yǔ)言中所對(duì)應(yīng)的將所有的英文字母,數(shù)字,符號(hào)都和十進(jìn)制數(shù)字進(jìn)行了一一對(duì)應(yīng)的關(guān)系,它屬于Unicode(萬(wàn)國(guó)表)中的一部分。

public class Ascii {public static void main(String[] args){// char類型數(shù)據(jù)可以發(fā)生數(shù)學(xué)運(yùn)算,運(yùn)算時(shí)先提升為int類型,則可以推出a的ASCII編碼:char a = 'a';System.out.println(a + 0);//97,a在計(jì)算機(jī)底層編碼為:97} }

提示:本文圖片等素材來(lái)源于網(wǎng)絡(luò),若有侵權(quán),請(qǐng)發(fā)郵件至郵箱:810665436@qq.com聯(lián)系筆者刪除。
筆者:苦海

總結(jié)

以上是生活随笔為你收集整理的java中数据类型转换、ASCII编码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。