(五)Java常用類之其他 | 【奔跑吧!Java】
1、System類

1.1、概述
System類代表系統,系統級的很多屬性和控制方法都放置在該類的內部。該類位于java.lang包。 由于該類的構造器是private的,所以無法創建該類的對象,也就是無法實例化該類。其內部的成員變量和成員方法都是static的,所以也可以很方便的進行調用。
1.2、成員變量
System類內部包含in、out和err三個成員變量,分別代表標準輸入流(鍵盤輸入),標準輸出流(顯示器)和標準錯誤輸出流(顯示器)。
1.3、成員方法
native long currentTimeMillis():該方法的作用是返回當前的計算機時間,時間的表達格式為當前計算機時間和GMT時間(格林威治時間)1970年1月1號0時0分0秒所差的毫秒數。 void exit(int status):該方法的作用是退出程序。其中status的值為0代表正常退出,非零代表異常退出。使用該方法可以在圖形界面編程中實現程序的退出功能等。 void gc():該方法的作用是請求系統進行垃圾回收。至于系統是否立刻回收,則取決于系統中垃圾回收算法的實現以及系統執行時的情況。 String getProperty(String key):該方法的作用是獲得系統中屬性名為key的屬性對應的值。系統中常見的屬性名以及屬性的作用如下表所示:
1.4、舉例
public class SystemTest { public static void main(String[] args) { String javaVersion = System.getProperty("java.version"); System.out.println("java的version:" + javaVersion); String javaHome = System.getProperty("java.home"); System.out.println("java的home:" + javaHome); String osName = System.getProperty("os.name"); System.out.println("os的name:" + osName); String osVersion = System.getProperty("os.version"); System.out.println("os的version:" + osVersion); String userName = System.getProperty("user.name"); System.out.println("user的name:" + userName); String userHome = System.getProperty("user.home"); System.out.println("user的home:" + userHome); String userDir = System.getProperty("user.dir"); System.out.println("user的dir:" + userDir); } }
2、Math類
2.1、概述
java.lang.Math提供了一系列靜態方法用于科學計算。其方法的參數和返回值類型一般為double型。
2.2、常用方法
abs 絕對值 acos,asin,atan,cos,sin,tan 三角函數 sqrt 平方根 pow(double a,doble b) a的b次冪 log 自然對數 exp e為底指數 max(double a,double b) min(double a,double b) random() 返回0.0到1.0的隨機數 long round(double a) double型數據a轉換為long型(四舍五入) toDegrees(double angrad) 弧度—>角度 toRadians(double angdeg) 角度—>弧度
3、BigInteger類
3.1、概述
Integer類作為int的包裝類,能存儲的最大整型值為2147483647(2的31次方減1),Long類也是有限的,最大為9223372036854775807(2的63次方減1)。如果要表示再大的整數,不管是基本數據類型還是他們的包裝類都無能為力,更不用說進行運算了。 java.math包的BigInteger可以表示不可變的任意精度的整數。BigInteger 提供所有 Java 的基本整數操作符的對應物,并提供 java.lang.Math 的所有相關方法。另外,BigInteger 還提供以下運算:模算術、GCD 計算、質數測試、素數生成、位操作以及一些其他操作。 構造器 BigInteger(String val):根據字符串構建BigInteger對象
3.2、常用方法
BigInteger abs() 返回大整數的絕對值 BigInteger add(BigInteger val) 返回兩個大整數的和 BigInteger and(BigInteger val) 返回兩個大整數的按位與的結果 BigInteger andNot(BigInteger val) 返回兩個大整數與非的結果 BigInteger divide(BigInteger val) 返回兩個大整數的商 double doubleValue() 返回大整數的double類型的值 float floatValue() 返回大整數的float類型的值 BigInteger gcd(BigInteger val) 返回大整數的最大公約數 int intValue() 返回大整數的整型值 long longValue() 返回大整數的long型值 BigInteger max(BigInteger val) 返回兩個大整數的最大者 BigInteger min(BigInteger val) 返回兩個大整數的最小者 BigInteger mod(BigInteger val) 用當前大整數對val求模 BigInteger multiply(BigInteger val) 返回兩個大整數的積 BigInteger negate() 返回當前大整數的相反數 BigInteger not() 返回當前大整數的非 BigInteger or(BigInteger val) 返回兩個大整數的按位或 BigInteger pow(int exponent) 返回當前大整數的exponent次方 BigInteger remainder(BigInteger val) 返回當前大整數除以val的余數 BigInteger leftShift(int n) 將當前大整數左移n位后返回 BigInteger rightShift(int n) 將當前大整數右移n位后返回 BigInteger subtract(BigInteger val)返回兩個大整數相減的結果 byte[] toByteArray(BigInteger val)將大整數轉換成二進制反碼保存在byte數組中 String toString() 將當前大整數轉換成十進制的字符串形式 BigInteger xor(BigInteger val) 返回兩個大整數的異或
4、BigDecimal類
4.1、概述
Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量double可以處理16位有效數,但在實際應用中,可能需要對更大或者更小的數進行運算和處理。 一般情況下,對于那些不需要準確計算精度的數字,我們可以直接使用Float和Double處理,但是Double.valueOf(String) 和Float.valueOf(String)會丟失精度。所以開發中,如果我們需要精確計算的結果,則必須使用BigDecimal類來操作。 BigDecimal所創建的是對象,故我們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。構造器是類的特殊方法,專門用來創建對象,特別是帶有參數的對象。
4.2、常用構造函數
BigDecimal(int):創建一個具有參數所指定整數值的對象 BigDecimal(double):創建一個具有參數所指定雙精度值的對象 BigDecimal(long):創建一個具有參數所指定長整數值的對象 BigDecimal(String):創建一個具有參數所指定以字符串表示的數值的對象
4.3、常用方法
add(BigDecimal):BigDecimal對象中的值相加,返回BigDecimal對象 subtract(BigDecimal):BigDecimal對象中的值相減,返回BigDecimal對象 multiply(BigDecimal):BigDecimal對象中的值相乘,返回BigDecimal對象 divide(BigDecimal):BigDecimal對象中的值相除,返回BigDecimal對象 toString():將BigDecimal對象中的值轉換成字符串 doubleValue():將BigDecimal對象中的值轉換成雙精度數 floatValue():將BigDecimal對象中的值轉換成單精度數 longValue():將BigDecimal對象中的值轉換成長整數 intValue():將BigDecimal對象中的值轉換成整數
【奔跑吧!JAVA】有獎征文火熱進行中:https://bbs.huaweicloud.com/blogs/265241
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。