劉旭東老師的Java語言程式設計筆記
輸入
import java.util.Scanner;
···
Scanner in = new Scanner(System.in);
String myName =in.nextLine();
next() 與 nextLine() 差別
next():
- 一定要讀取到有效字元後才可以結束輸入。
- 對輸入有效字元之前遇到的空白,next() 方法會自動将其去掉。
- 隻有輸入有效字元後才将其後面輸入的空白作為分隔符或者結束符。
- 不能得到帶有空格的字元串。
nextLine():
- 以Enter為結束符,也就是說 nextLine()方法傳回的是輸入回車之前的所有字元。
-
可以獲得空白。
參考資料:Java 基礎文法
print、println、printf
- print将它的參數顯示在指令視窗,并将輸出光标定位在所顯示的最後一個字元之後。
- println 将它的參數顯示在指令視窗,并在結尾加上換行符,将輸出光标定位在下一行的開始。
-
printf是格式化輸出的形式。printf後面可以加轉義字元,格式說明,如\n,%d。
參考資料:Java中print、printf、println的差別詳解
API積累
BigDecimal
Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精确的運算。雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double隻能用來做科學計算或者是工程計算,在商業計算中要用java.math.BigDecimal。BigDecimal所建立的是對象,我們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。構造器是類的特殊方法,專門用來建立對象,特别是帶有參數的對象。
BigDecimal.setScale()方法用于格式化小數點。
常見用法:
初始化 BigDecimal a= new BigDecimal(“1.35”);
對數值取值:
-
setScale(1,BigDecimal.ROUND_DOWN);
取一位小數,直接删除後面多餘位數,故取值1.3.
-
setScale(1,BigDecimal.ROUND_UP);
取一位小數,删除後面位數,進一位,故取值1.4.
-
setScale(1,BigDecimal.ROUND_HALF_UP);
取一位小數,四舍五入,故取值1.4.
-
setScale(1,BigDecimal.ROUND_HALF_DOWN);
取一位小數,五舍六入,故取值1.3.