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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

17.类型转换

發布時間:2025/3/11 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 17.类型转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

自動類型轉換

容量小的數據類型可以自動轉換為容量大的數據類型

byte b = 123;//byte b2 = 300;//報錯,超過了byte最大值127//char c = -3;//報錯,char范圍是0~65536,不在范圍char c2 = 'a';//a在ascii碼里是98int i = c2;long d01 = 123213;float f = d01;

特例

可以將整型常量直接賦值給byte,short,char等類型變量,而不需要進行強制類型轉換,只要不超出其表數范圍

public static void main(String[] args){char a=100;//整型常量可以直接賦值int i=100;char b=i;//整型int變量不能直接賦值。錯誤: 不兼容的類型: 從int轉換到char可能會有損失。char c=(char)i;//正確}

強制類型轉換

用于顯示的轉換一個數值的類型。可能造成精度降低和溢出。

int i=100;char c=(char)i;//正確
注意!

當將一種類型強制轉換成另一種類型,而又超出了目標類型的表示范圍,就會被截斷成為一個完全不同的值。


int i=-100; char b=(char)i; System.out.println(b);


類型提升

做所有的二元運算符(+-/*%),都會有類型提升的問題!

int a = 3;long b = 4;double d = 5.3;//int c = a+b; //a+b 提升為了long類型,報錯。int c = (int)(a+b); //float f = a + d; //a+d 提升為了double類型,報錯。float f = (float)(a + d);
注意!

類型轉換中,如果超過了類型的表數范圍,則返回錯誤的值。如下例

int money = 1000000000; //10億int years = 20;long total = money*years; //返回的是負數 System.out.println(total);// -1474836480
正確的,提升類型

int money = 1000000000; //10億int years = 20;long total = (long)money*years; System.out.println(total);// 20000000000
上例是在運算前先把money的類型從int提升到long。


再來一例:

//一個人70年心跳多少次long times = 70*60*24*365*70;//返回負數System.out.println(times);//-1719527296
正確的方式,在第一個數轉為long類型

long times = 70L*60*24*365*70; System.out.println(times);//2575440000


-------------

更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html



總結

以上是生活随笔為你收集整理的17.类型转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。