java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...
類型轉換
在實際開發過程中,存在類型轉換,類型轉換分為兩種,自動類型轉換和強制類型轉換。
自動類型轉換
程序編譯或運行過程中,jvm可以發生自動類型轉換。轉換規則:
[1]容量小的數據類型可以自動轉換為容量大的數據類型。
[2] 類型兼容
public class Test{
public static void main(String[] args){
// 自動類型轉換
byte a = 10;
int b = a;
// 類型不兼容
/*
boolean r1 = false;
int d = r1;
*/
// char類型本質是整形
int c = 0;
char d = 'a';
c = d;
} }
相兼容的理解
[1]數值型都相互兼容。
[2]int和char相互兼容(char本質上是整形,char是被編碼的字符)
jvm對自動類型轉換的優化
可以將整型常量直接賦值給byte, short, char等類型變量,而不需要進行強制類型轉換,只要不超出其表數范圍.
public class Test{
public static void main(String[] args){
// jvm的優化
// 沒有發生自動類型轉換。
byte a = 100;
char b = 20013;
System.out.println("b="+b);
} }
在表達式進行計算時,表達式的結果會自動發生類型轉換。
表達式的結果都向高精度偏移。
如果一個操作數為double型,則整個表達式可提升為double型。
強制類型轉換
強制類型轉換,又被稱為造型,用于顯式的轉換一個數值的類型. 形式:
type var2 = (type)var1
// 沒有信息丟失強制類型轉換
int a = 100;
byte b = (byte)a; System.out.println("b="+b);
強制類型轉換存在信息丟失或者精度丟失的情況。
// 存在精度丟失的強制類型轉換
float c = 10.2f;
int d = (int)c;
System.out.println("d="+d);
// 信息丟失的強制類型轉換。
int e = 300;
byte f = (byte)e; ?????? ?????? System.out.println("f="+f);
在實際開發過程中,一定要避免這兩種情況的發生,特別是信息丟失的發生。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 前30秒_mysql – 简
- 下一篇: 男子花12万买世界杯彩票没中要求退款,店