強制類型轉換(Java)-創(chuàng)新互聯(lián)

剛學習了強制類型轉換,用自己的理解總結了一下,如果有什么問題,希望大家可以批評指正(評論)。
強制類型轉換(Java)

建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡程序員、網(wǎng)頁設計師等,應用各種網(wǎng)絡程序開發(fā)技術和網(wǎng)頁設計技術配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)專業(yè)提供成都做網(wǎng)站、網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站制作(企業(yè)站、響應式網(wǎng)站建設、電商門戶網(wǎng)站)等服務,從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!
int a=300;
byte b=(byte)a;
System.out.println(a);
System.out.println(b);

運行結果為:
強制類型轉換(Java)
當一個超出byte存儲范圍的int型數(shù)進行強制轉換時,轉換后數(shù)值可能會發(fā)生變化。

原因:int型數(shù)本來是以32位(最高位是符號位)二進制數(shù)存儲在計算機內存里,但是進行強轉為byte類型后 ,只保留了該數(shù)的后八位,
這后八位是轉換后的數(shù)的補碼,最高位是符號位,如果最高位為1,則轉換后的數(shù)為負數(shù),需要對該補碼取反再加1,得到強轉后的數(shù)。

ps:
1.那為什么最高位是1,就是負數(shù)呢?
因為最高位是符號位,符號位為0, 為正數(shù),符號位為1,為負數(shù)。
2.那如果一個正數(shù)八位都是1,用剛才的方法不會被誤判為負數(shù)嗎?
不會,因為byte類型正數(shù)大為127,八位二進制為 0111 1111,最高位為0,因此轉換后最高位為1,一定是負數(shù)!
3.那推廣到其他類型強制轉換是否滿足上述說法呢?
滿足!例如:

long c=2147483651L;//大于int型大值!
int d=(int)c;
System.out.println(c);
System.out.println(d);

運行結果為:
強制類型轉換(Java)

參考源代碼:

public class JavaDaily_2{
    public static void main(String[] args){
        int a=511;
        byte b=(byte)a;
        System.out.println(a);
        System.out.println(b);
        long c=2147483651L;//大于int型大值!
        int d=(int)c;
        System.out.println(c);
        System.out.println(d);
    }
}

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。

網(wǎng)頁題目:強制類型轉換(Java)-創(chuàng)新互聯(lián)
新聞來源:http://bm7419.com/article38/iiipp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、搜索引擎優(yōu)化、關鍵詞優(yōu)化、網(wǎng)站設計、響應式網(wǎng)站、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設