型別轉換注意點
型別轉換注意點
// 低 ---------------------------------------> 高
// byte,short,char-->int-->long-->float-->double
- 型別從高到低,需要強制轉換,有記憶體溢位風險 或 精度問題
- 型別從低到高可直接轉換
- byte可直接轉成short,但byte和char之間,short和char之間都需要強制轉換
- Boolean不可進行型別轉換
- long型別儘量用L,因為 l 跟1很像
- 整數不同型別之間相加,如果有long型別,則結果為long型別
- 如果沒有long型別,不管有沒有int型別,結果都為int型別
int i = 128;
byte j = (byte) i;
int k = 10;
int l = 20;
System.out.println(i);//128
System.out.println(j);//-128 記憶體溢位
//精度丟失問題
System.out.println((int)(23.7));//23
System.out.println((int)(-46.8));//-46
System.out.println(k/l);//0
//===================================
//操作大數的時候注意記憶體溢位問題
//jdk7新特性:數字間可加下劃線來分割
int a = 10_0000_0000;
int b = 20;
int c = a*b;
long d = a*b;//轉換之前就存在記憶體溢位問題了
long e = (long)a*b;
System.out.println(c);//-1474836480
System.out.println(d);//-1474836480
System.out.println(e);//2000000000
//====================================
byte a = 10;
short b = 20;
int c = 30;
long d = 40;
System.out.println(a+b);//int型別
System.out.println(a+b+c);//int型別
System.out.println(a+b+c+d);//long型別
//======================================
int a = 10;
int b = 20;
String c = "30";
//用+連線時,從左開始出現String型別 之前 是做 加法
//用+連線時,從左開始出現String型別 之後 是做 字串拼接
System.out.println(a+b); //30
System.out.println(a+b+c); // 3030
System.out.println(c+a+b); // 301020
相關文章
- 型別轉換型別
- java- 型別-轉換:基本型別以及包裝型別的轉換Java型別
- Oracle vs PostgreSQL,研發注意事項(7)- 型別轉換OracleSQL型別
- 資料型別,型別轉換資料型別
- js型別轉換JS型別
- 型別轉換(cast)型別AST
- Convert型別轉換型別
- 必考知識點-JavaScript型別轉換(講原理)JavaScript型別
- Java資料型別及型別轉換Java資料型別
- JNI常用型別轉換型別
- 容器,型別轉換。List。型別
- c++ 型別轉換C++型別
- interface{} 型別的轉換型別
- 變數型別轉換變數型別
- Spring型別轉換(Converter)Spring型別
- 資料型別轉換資料型別
- golang的型別轉換Golang型別
- 型別轉換運算子型別
- C# 型別轉換C#型別
- 型別轉換工具類型別
- 強制型別轉換型別
- go interface{}型別轉換Go型別
- 第11章 使用類——型別轉換(二)將自定義型別轉換為內建型別型別
- mysql bigint型別和datetime型別的轉換MySql型別
- JavaScript隱式型別轉換JavaScript型別
- 強制型別轉換之(==)型別
- JavaScript 資料型別轉換JavaScript資料型別
- 型別轉換(int 和 String)型別
- Pytorch變數型別轉換PyTorch變數型別
- javascript資料型別轉換JavaScript資料型別
- 【Java】資料型別轉換Java資料型別
- go-常用型別轉換Go型別
- java中的型別轉換Java型別
- C++ 常型別轉換C++型別
- 資料型別及轉換資料型別
- Golang 型別轉換庫 castGolang型別AST
- 【型別轉換】使用c#實現簡易的型別轉換(Emit,Expression,反射)型別C#MITExpress反射
- Javascripit型別轉換比較那點事兒,雙等號(==)Java型別