特別聲明:如下內容均來自于不同網絡課程視頻或書籍,整理合并完成。 如果有整理錯誤,忘及時指出,共同進步,不勝感激。
??整數類型:byte,short,int,long (從小到大順序排列)
??取值范圍:
???? -byte:
public static void main(String[] args) { byte x = Byte.MIN_VALUE; byte y = Byte.MAX_VALUE; System.out.???? - short: public static void main(String[] args) { short x = Short.MAX_VALUE; short y = Short.MIN_VALUE; System.out.println("The range of short type between "+x+" and "+ y); output: The range of short type between -32768 and 32767 }???? - int:
public static void main(String[] args) { int x = Integer.MAX_VALUE; int y = Integer.MIN_VALUE; System.out.println("The range of int type between "+x+" and "+ y); output: The range of int type between -2147483648 and 2147483647}???? - long:
public static void main(String[] args) { long x = Long.MAX_VALUE; long y = Long.MIN_VALUE; System.out.println("The range of long type between "+x+" and "+ y); out put: The range of long type between -9223372036854775808 and 9223372036854775807}??浮點類型:float,double (從小到大順序排列) ??取值范圍:
???? -float:
public static void main(String[] args) { float x = Float.MAX_VALUE; float y = Float.MIN_VALUE; System.out.println("The range of float type between "+x+" and "+y); output:The range of float type between -3.4028235E38 and 1.4E-45}???? -double:
public static void main(String[] args) { double x = Double.MAX_VALUE; double y = Double.MIN_VALUE; System.out.println("The range of double type between "+x+" and "+y); output: The range of double type between -1.7976931348623157E308 and 4.9E-324}字符型:char 給字符型變量賦值時,我們使用單引號,而非雙引號,否則出現錯誤。 例如:
public static void main(String[] args) {char x = 'a';System.out.println("The value of a is "+x);output: The value of x is a}public static void main(String[] args) {char x = "b"; System.out.println("The value of a is "+b); output: Exception in thread "main" java.lang.Error: Unresolved compilation problems: Type mismatch: cannot convert from String to charb cannot be resolved to a variable.}布爾型:boolean 該類型賦值結果只有 TRUE 和 False 兩種。 例如:
public static void main(String[] args) {boolean x = true;boolean y = false;System.out.println(x+" and "+y); output: true and false }??特別注意:
?? 1. 如何正確選取合理的數據類型?
?? a). 符合實際情況 ??? 例如:統計記錄學生身高時,我們應該選擇float 類型,即小數類型,而非整數類型。
?? b). 事先考慮需要賦值的大小作用范圍 ??? 例如:計算某地區人口數量,假設選擇 short 類型,則造成數據溢出導致錯誤
public static void main(String[] args) { short x = 20000000; System.out.println(x); output: Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from int to short}?? 2. 數據精度問題? ??? 例如:當把小數3.14 賦值給 int 型變量時,我們將損失精度,因為 int 為整數型,只會記錄3損失小數部分。 若將低精度數值例如整數4 賦值給 ??? double,則不會造成精度損失。
?? 3. float 賦值問題? ??? 例如:float賦值時需要在結尾加上“f” 以表示該類型為float,否則系統將會默認為double 類型。
?? 4. 不同數據類型之間的計算問題? ??? 例如:int 型的數值10除以double 型數值2.5,則結果為4.0 與double 類型一致。
?? 5. 在輸出語句進行計算問題? ??? 例如:
public static void main(String[] args) { int x = 10; int y =20; System.out.println("This is wrong: "+x+y); output: 1020 System.out.println("This is correct"+(x+y)); output:30}??? 我們可以看見第一條輸出結果被轉化成了字符串string格式,因此當需要在輸出語句中進行計算式,務必加上括號。
?? 6. 數據可以進行強制轉換 ??? 例如:
public static void main(String[] args) { int x = 10; float y = (float) x; System.out.println(y); output: 10.0}未完待續。。。 更新時間 每周一,三,五,日。
新聞熱點
疑難解答