Java 7之基礎型別第1篇
阿新 • • 發佈:2019-01-04
public static double div(double v1,double v2) { return div(v1,v2,10); } /** * 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale引數指定精度,以後的數字四捨五入。 */ public static double div(double v1,double v2,int scale){ if(scale<0){ throw new IllegalArgumentException("The scale must be a positive integer or zero"); } BigDecimal b1 = new BigDecimal(Double.toString(v1)); BigDecimal b2 = new BigDecimal(Double.toString(v2)); return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); }
3. 字元型別
1) 字元型別是用''單引號括起來的單個字元,例如char c = 'w'; char a = '中',可以看到Java中的char型別是可以表示中文字元的;
2) Java字符采用Unicode(全球語言統一編碼)編碼,每個字元佔兩個位元組,因而可用16進位制編碼形式表示,如:char c = '\u0061'
3) Java中允許使用轉義字元'\'將其後面的字元轉換成其他含義, 如: char c = '\n'; //表示換行
4.布林型別
1) boolean型別的值只有兩種:true,false
2) boolean型別不可以轉換為其他的資料型別,所以有過C語言程式設計基礎的人可能認為1也能在Java中表示為true,這是錯誤的。
在C語言中是不存在bool型別的,但是0可以表示假,任何的非0可以表示真,包括負數。
5.基本資料型別的轉換
1) boolean不可以轉換為其他的資料型別
2) 整數型,浮點型別,字元型是可以相互轉換的,轉換時遵守下面的原則:
a. 容量小的型別自動轉換為大的型別,資料型別按容量大小排序為:
byte, short, char < int < long <float < double
b. byte, short, char 三種類型間不會相互轉換,他們三者在計算時,首先會轉換為int型別
c. 容量大的型別在轉換為小的型別的時候,必須加上強制轉換符,此時可能造成精度降低或者溢位問題
d. 有多種資料型別混合計算的時候,系統首先自動轉換為容量最大的那個型別再來繼續計算
e. 實數型別預設為double型別,如, 1.2; 整數型別預設為int型別,如 1
如圖所示: