天天看點

Java 筆記整理

劉旭東老師的Java語言程式設計筆記

輸入

import java.util.Scanner;
···
Scanner in = new Scanner(System.in);
String myName =in.nextLine();
           

next() 與 nextLine() 差別

next():

  1. 一定要讀取到有效字元後才可以結束輸入。
  2. 對輸入有效字元之前遇到的空白,next() 方法會自動将其去掉。
  3. 隻有輸入有效字元後才将其後面輸入的空白作為分隔符或者結束符。
  4. 不能得到帶有空格的字元串。

nextLine():

  1. 以Enter為結束符,也就是說 nextLine()方法傳回的是輸入回車之前的所有字元。
  2. 可以獲得空白。

    參考資料: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.