聊一聊Java常用API

Java類庫非常龐大,提供了許多實用的類供程序使用,在進行Java編程時,我們常常需要使用Java類庫所提供的這些類,這些類對程序的功能和質量起到了非常重要的作用。

數學函數的使用:Math類

Java的java.lang.Math類提供了大量的方法,用於支持各種數學運算及其它的有關運算。
Math 類包含基本的數字操作,如指數、對數、平方根和三角函數。
Math類無需創建對象,其所有成員皆爲靜態(Static)成員。

Math類常量
E(自然對數): Math.E
PI(圓周率): Math.PI

Math類常用方法介紹:
abs():返回絕對值。
ceil():返回大於或等於參數的最小整數。
floor():返回小於或等於參數的最大整數。
max():返回兩個參數的較大值。
min():返回兩個參數的較小值。
random():返回0.0和1.0之間的double類型的隨機數,包含0.0但不包含1.0。
round():返參數回四捨五入的整數值。
sin():返回參數的正弦值。
cos():返回參數的餘弦值。
tan():返回參數的正切值。
exp():返回歐拉數 e 的參數次冪的值。
log():返回(底數是 e)參數 值的自然對數值。
sqrt()::返回參數的平方根。
pow():返回第一個參數的第二個參數次冪的值。

隨機數的產生:Random類
java.util.Random類提供了一系列用於產生隨機數的方法。
區別2種隨機數類:
Math類的random()方法雖然也能產生隨機數,但是它只能產生0.0-1.0之間的隨機數。
Random類可以十分方便的產生自己需要的各種形式的隨機數,十分方便。

Random類常用方法介紹:
next(int bits):生成下一個僞隨機數。
nextInt() :返回下一個僞隨機數,它是此隨機數生成器的序列中均勻分佈的 int 值。
nextLong() :返回下一個僞隨機數,它是從此隨機數生成器的序列中取出的、均勻分佈的 long 值。
setSeed(long seed) :使用單個 long 種子設置此隨機數生成器的種子。

Random類常用方法介紹:
next(int bits):生成下一個僞隨機數。
nextInt() :返回下一個僞隨機數,它是此隨機數生成器的序列中均勻分佈的 int 值。
nextLong() :返回下一個僞隨機數,它是從此隨機數生成器的序列中取出的、均勻分佈的 long 值。
setSeed(long seed) :使用單個 long 種子設置此隨機數生成器的種子。

處理時間與日期
Java語言提供了以下類來處理日期:
java.util.Date :包裝了一個long類型數據,表示與GMT(格林尼治標準時間)的1970年1月1日00:00:00這一時刻所相距的毫秒數。
java.text.DateFormat :對日期進行格式化
java.util.Calendar :可以靈活地設置或讀取日期中的年、月、日、分和秒等信息。

Date類以毫秒數來表示特定的時間和日期。

import java.util.Date;
public class DateDemo {
	public static void main(String[] args) {
		Date date = new Date();
		System.out.println("自1970-1-1以來的毫秒數:" 
                     + date.getTime());
	// getTime():返回自1970 年1月1日00:00:00 GMT 以來的毫秒數
		
		System.out.println("當前時間:" + date);
	}
}

DateFormat 抽象類用於定製日期的格式,它以與語言無關的方式格式化並分析日期或時間。

import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatDemo {
	public static void main(String[] args) {
		Date date = new Date();
		// 設定日期格式
		SimpleDateFormat f = 
                        new SimpleDateFormat ("yyyy-MMMM-dd-EEEE");
		// 按設定的格式輸出
		System.out.println(f.format(date));
		// 設定新的格式
		f = new SimpleDateFormat("yy/MM/dd hh:mm:ss");
		// 再輸出
		System.out.println(f.format(date));
	}
}

Calendar類提供了月曆的功能,它擁有衆多與日期相關的方法。但是Calendar類是一個抽象類,不能實例化,實際上這些功能都是由它的子類GregorianCalendar實現的。

import java.util.*;
public class Calendar1 {
	public static void main(String[] args) {
		GregorianCalendar gc = 
                          new GregorianCalendar();
		String now = gc.get(Calendar.YEAR) + "年" 
                  + (gc.get(Calendar.MONTH) + 1) + "月" 
                  + gc.get(Calendar.DATE) + "日" 
                  + gc.get(Calendar.HOUR) + "時" 
                  + gc.get(Calendar.MINUTE) + "分" 
                  + gc.get(Calendar.SECOND) + "秒";
		System.out.println("當前時間是:" + now);
	}
}

大數字的處理
BigInteger類:用來處理大整數
BigDecimal類:用來處理大十進制數。
BigInteger類:用來表示不可變的任意精度的整數。所有操作中,都以二進制補碼形式表示 BigInteger。
BigInteger 提供Math的所有相關方法,還提供以下運算:模算術、GCD 計算、質數測試、素數生成、位操作以及一些其他操作。

BigDecimal類:用來表示不可變的、任意精度的有符號十進制數。

import java.math.BigDecimal;
public class BigDecimal1 {
	public static void main(String[] args) {
		BigDecimal op1 = new BigDecimal("3.14159");
		BigDecimal op2 = new BigDecimal("3");
		System.out.println("和=" + op1.add(op2));
		System.out.println("差=" + op1.subtract(op2));
		System.out.println("積=" + op1.multiply(op1));
		System.out.println("商=" + op1.divide(op2,
                                         BigDecimal.ROUND_UP));
		System.out.println("負值=" + op1.negate());
		System.out.println("指定精度的商=" 
                          + op1.divide(op2, 15,BigDecimal.ROUND_UP));
	}
}

總結
Math類支持各種數學運算及其它的有關運算,Math提供的方法都是靜態的,通過類名直接調用。
Random提供了一系列用於產生隨機數的方法。
Date、DateFormat和Calendar及GregorianCalendar提供了對日期和時間進行處理的方法。
BigInteger和BigDecimal可以處理大數字和進行高精度的運算。

對於初學者而言,掌握常用的幾種API類,是非常必要的,這爲我們在以後的應用過程中節省了不少的時間,不過對於所有API類我們也不需要全部學習完,因爲好的程序員應懂得利用工具,可以提前通讀JDK文檔種大部分類及類種的方法,等到有具體的實際需求時再查閱JDK文檔即可。

我是田先生,一名熱愛技術、熱愛生活的Java程序員。如果想要了解更多java相關知識,歡迎歡迎關注我的公衆號:t-j20120622(Java後端技術棧)。另外,爲大家準備了一份價值1888元java資料包,關注後回覆“1888”即可~
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章