java浮點型別案例介紹

52bdqn發表於2018-06-18
 
 java浮點型別介紹

在開發中,那麼java浮點型別是我們必不可少學習的知識點,下面介紹一下java浮點型別。

1. float型

常量:453.5439f,21379.987F,231.0f(小數表示法),2e40f(2乘10的40次方,指數表示法)。需要特別注意的是:常量後面必須要有字尾“f”或“F”。 
 
變數:使用關鍵字float來宣告float型變數,
例如:float x=22.76f,tom=1234.987f,weight=1e-12F;

精度:float變數在儲存float型資料時保留8位有效數字,實際精度取決於具體數值。
對於float型變數,記憶體分配給4個位元組,佔32位。float的取值範圍為負的2的31次方到正的2的31次方減一。

2. double 型

常量:2389.539d,2318908.987,0.05(小數表示法),1e-90(1乘10的-90次方,指數表示法)。對於double常量,後面可以有字尾“d”或“D”,但允許省略該字尾。

變數:使用關鍵字double來宣告double型變數,
例如:double height=23.345,width=34.56D,length=1e12;
對於double型變數,記憶體分配給8個位元組,佔64位。Double的取值範圍為負的2的63次方到正的2的次63次方減一。

精度:double變數在儲存double型資料時保留16位有效數字,實際精度取決於具體數值。
示例
import java.util.Scanner;
public class Demo5{
public static void main(String args[]){
float weight = 82.5f;   /*宣告一個float變數,82.5f中的f不能省略掉
int height = 176;      /*身高176 整數
double d = (height-100)/weight;    /*兩者之間的差值,d在一定程度上可以顯示偏胖還是偏瘦
System.out.println("體重:"+weight);  /*列印這三個變數
System.out.println("身高:"+height);
System.out.println("係數:"+d);
}
}
 
第一次列印結果,可以看出精度實際取決於具體數值 



資料轉換

Java中資料的基本型別(不包括邏輯型別)按精度從“低”到“高”排列:
byte  short  char int  long  float  double
 
★當把級別低的變數的值賦給級別高的變數時,系統自動完成資料型別的轉換。例如:
    float x=100;
 
★當把級別高的變數的值賦給級別低的變數時,必須使用顯示型別轉換運算。顯示轉換的格式:(型別名)要轉換的值;
  例如
    int x=(int)34.89;   //強制轉換
 
★當把一個int型常量賦值給一個byte和short型變數時,不可以超出這些變數的取值範圍,否則必須進行型別轉換運算;例如,常量128的屬於int型常量,超出byte變數的取值範圍,如果賦值給byte型變數,必須進行byte型別轉換運算(將導致精度的損失),如下所示:
     byte a=(byte)128;
 
★另外一個常見的錯誤就是把一個double型常量賦值給一個float型變數時沒有進行強制轉換,如下所示:
     float x=12.4;   //12.4隱藏是一個字母d,double型常量

輸出和輸入資料

1、輸入資料
Scanner是JDK1.5新增的一個類,可以使用Scanner類建立一個物件:
Scanner reader=new Scanner(System.in);
reader物件呼叫下列方法,讀取使用者在命令列輸入的各種基本型別資料:
nextBoolean()、nextByte()、 nextShort()、 nextInt()、 nextLong()、nextFloat()、nextDouble()。
上述方法執行時都會堵塞,程式等待使用者在命令列輸入資料回車確認。

2、輸出資料

用System.out.println()或System.out.print()可輸出串值、表示式的值,二者的區別是前者輸出資料後換行,後者不換行。
允許使用並置符號:“+”將變數、表示式或一個常數值與一個字串並置一起輸出,如:
System.out.println(m+"個數的和為"+sum);
System.out.println(“:”+123+“大於”+122)  
JDK1.5新增了和C語言中printf函式類似的資料輸出方法,該方法使用格式如下:
System.out.printf("格式控制部分",表示式1,表示式2,…表示式n)
格式控制部分由格式控制符號:%d、%c、%f、%s和普通的字元組成,普通字元原樣輸出。格式符號用來輸出表示式的值。

%d:輸出int型別資料值.
%c:輸出char型資料.
%f:輸出浮點型資料,小數部分最多保留6位.
%s:輸出字串資料。
輸出資料時也可以控制資料在命令列的位置,例如:
%md:輸出的int型資料佔m列  %m.nf:輸出的浮點型資料佔m列,小數點保留n位。
import java.util.Scanner;     /* 匯入這個類庫,就可以使用這個類
public class Demo5{
public static void main(String args[]){
Scanner reader=new Scanner(System.in);   /*使用這個類Scanner,建立一個物件reader
System.out.println("please input int");  /*獲取使用者的輸入資料
int i = reader.nextInt();    /*用int來承接使用者輸入的資料
    System.out.println("you input:"+i);  /*輸出資料
int i = 12;       /*輸出
System.out.printf("i的值是:%d",i);  /*列印i的值
   }
}


第二次列印 輸入


第三次列印 輸出
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25876358/viewspace-2156298/,如需轉載,請註明出處,否則將追究法律責任。

相關文章