1. 程式人生 > >java常用類解析一,小白進階必備!

java常用類解析一,小白進階必備!

Random

讓系統產生隨機數使用

0~9的隨機數 (int)(Math.random()*10);
0~999的隨機數 (int)(Math.random()*1000);
a~b的隨機數 (int)(Math.random()*(b-a));

其實Math的random方法用的就是util包中的Random類

因此可以Random.nextDouble()替換Math.random(), 但是這樣說不太準確

Calendar類

有時為了取得更多的日期時間資訊,或對日期時間進行操作,可以使用java.util.Calendar類,Calendar是一個抽象類,不能例項化,但是通過靜態工廠方法getInstance()獲得Calendar例項。

Calendar類的主要方法:

  • static Calendar getInstance():使用預設時區和語言環境獲得一個日曆。
  • void set(int field, int value):將給定的日曆欄位設定為給定值。
  • void set(int year,int month,int date):設定日曆欄位YEAR、MONTH和DAY_OF_MONTH的值。
  • Date getTime():返回一個表示此Calendar時間值(從1970年1月1日00:00:00至現在的毫秒數)的Date物件。
  • boolean after(Object when):判斷此Calendar表示的時間是否在指定時間之後,返回判斷結果。
  • boolean before(Object when):判斷此Calendar表示的時間是否在指定時間之前,返回判斷結果。
  • int compareTo(Calendar anotherCalendar):比較兩個Calendar物件表示的時間值。

 

 

 

 

java.lang.Math

Java語言是徹底地面向物件語言,哪怕是進行數學運算也封裝到一個類中的,這個類是java.lang.Math,Math類是final的不能被繼承。Math類中包含用於進行基本數學運算的方法,如指數、對數、平方根和三角函式等。這些方法分類如下:

舍入方法

  • static double ceil(double a):返回大於或等於a最小整數。
  • static double floor(double a):返回小於或等於a最大整數。
  • static int round(float a):四捨五入方法。

最大值和最小值

  • static int min(int a, int b):取兩個int整數中較小的一個整數。
  • static int min(long a, long b):取兩個long整數中較小的一個整數。
  • static int min(float a, float b):取兩個float浮點數中較小的一個浮點數。
  • static int min(double a, double b):取兩個double浮點數中較小的一個浮點數。
  • max方法取兩個數中較大的一個數,max方法與min方法引數類似也有4個版本,這裡不再贅述。

絕對值

  • static int abs(int a):取int整數a的絕對值。
  • static long abs(long a):取long整數a的絕對值。
  • static float abs(float a):取float浮點數a的絕對值。
  • static double abs(double a):取double浮點數a的絕對值。

三角函式:

  • static double sin(double a):返回角的三角正弦。
  • static double cos(double a):返回角的三角餘弦。
  • static double tan(double a):返回角的三角正切。
  • static double asin(double a):返回一個值的反正弦。
  • static double acos(double a):返回一個值的反餘弦。
  • static double atan(double a):返回一個值的反正切。
  • static double toDegrees(double angrad):將弧度轉換為角度。
  • static double toRadians(double angdeg):將角度轉換為弧度。

對數運算:static double log(double a),返回a的自然對數。

平方根:static double sqrt(double a),返回a的正平方根。

冪運算:static double pow(double a, double b),返回第一個引數的第二個引數次冪的值。

計算隨機值:static double random(),返回大於等於 0.0 且小於 1.0隨機數。

常量

圓周率PI, 自然對數的底數E。

大數值

對貨幣等大值資料進行計算時,int、long、float和double等基本資料型別已經在精度方面不能滿足需求了。為此Java提高了兩個大數值類:BigInteger和BigDecimal,這裡兩個類都繼承自Number抽象類。

BigInteger

java.math.BigInteger是不可變的任意精度的大整數。BigInteger構造方法有很多,其中字串引數的構造方法有兩個:

  • BigInteger(String val):將十進位制字串val轉換為BigInteger物件。
  • BigInteger(String val, int radix):按照指定基數radix將字串val轉換為BigInteger物件。

BigInteger提供多種方法,下面列舉幾個常用的方法:

int compareTo(BigInteger val):將當前物件與引數val進行比較,方法返回值是int,如果返回值是0,則相等;如果返回值小於0,則此物件小於引數物件;如果返回值大於0,則此物件大於引數物件。

  • BigInteger add(BigInteger val):加運算,當前物件數值加引數val。
  • BigInteger subtract(BigInteger val):減運算,當前物件數值減引數val。
  • BigInteger multiply(BigInteger val):乘運算,當前物件數值乘引數val。
  • BigInteger divide(BigInteger val):除運算,當前物件數值除以引數val。

BigDecimal

java.math.BigDecimal是不可變的任意精度的有符號十進位制數。BigDecimal構造方法有很多:

  • BigDecimal(BigInteger val):將BigInteger物件val轉換為BigDecimal物件。
  • BigDecimal(double val):將double轉換為BigDecimal物件,引數val是double型別的二進位制浮點值準確的十進位制表示形式。
  • BigDecimal(int val):將int轉換為BigDecimal物件。
  • BigDecimal(long val):將long轉換為BigDecimal物件。
  • BigDecimal(String val):將字串表示數值形式轉換為BigDecimal物件。

BigDecimal提供多種方法,下面列舉幾個常用的方法:

  • int compareTo(BigDecimal val):將當前物件與引數val進行比較,方法返回值是int,如果返回值是0,則相等;如果返回值小於0,則此物件小於引數物件;如果返回值大於0,則此物件大於引數物件。
  • BigDecimal add(BigDecimal val):加運算,當前物件數值加引數val。
  • BigDecimal subtract(BigDecimal val):減運算,當前物件數值減引數val。
  • BigDecimal multiply(BigDecimal val):乘運算,當前物件數值乘引數val。
  • BigDecimal divide(BigDecimal val):除運算,當前物件數值除以引數val。
  • BigDecimal divide(BigDecimal val, int roundingMode):除運算,當前物件數值除以引數val。roundingMode要應用的舍入模式。

 

日期時間相關類

Java 8之前日期類是java.util.Date,Date類比較古老,其中的很多方法現在已經廢棄了,但是目前仍然有很多程式還在使用Date類。

此外,Java 8之前與日期時間相關類還有DateFormat、Calendar和TimeZone,DateFormat用於日期格式化,Calendar日曆類,TimeZone是時區類。

日期格式化和解析

日期格式化類是java.text.DateFormat,DateFormat是抽象類,它的常用具體類是java.text.SimpleDateFormat。

DateFormat中提供日期格式化和日期解析方法,具體方法說明如下:

  • String format(Date date):將一個Date格式化為日期/時間字串。
  • Date parse(String source):從給定字串的開始解析文字,以生成一個日期物件。如果解析失敗則丟擲ParseException。

另外,具體類是SimpleDateFormat構造方法如下:

  • SimpleDateFormat():用預設的模式和預設語言環境的日期格式符號構造SimpleDateFormat。
  • SimpleDateFormat(String pattern):用給定的模式和預設語言環境的日期格式符號構造SimpleDateFormat。pattern引數是日期和時間格式模式,下表所示是常用的日期和時間格式模式。

Java 8新日期時間相關類

Java 8之後提供了新的日期時間相關類、介面和列舉,這些型別內容非常多,令人生畏。但是使用起來非常方便。

ava 8之後提供了新的日期時間類有三個:LocalDate、LocalTime和LocalDateTime,它們都位於java.time包中,LocalDate表示一個不可變的日期物件;LocalTime表示一個不可變的時間物件;LocalDateTime表示一個不可變的日期和時間。

這三個類有類似的方法,首先先看看建立日期時間物件相關方法,這三個類並沒有提供公有的構造方法,建立它們物件可以使用靜態工廠方法,主要有now()和of()方法。

now()方法說明如下:

  • static LocalDate now():LocalDate靜態工廠方法,該方法使用預設時區獲得當前日期,返回LocalDate物件。
  • static LocalTime now():LocalTime靜態工廠方法,該方法使用預設時區獲得當前時間,返回LocalTime物件。
  • static LocalDateTime now():LocalDateTime靜態工廠方法,該方法使用預設時區獲得當前日期時間,返回LocalDateTime物件。

of()方法有很多過載方法,說明如下:

  • static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second):按照指定的年、月、日、小時、分鐘和秒獲得LocalDateTime例項,將納秒設定為零。
  • static LocalTime of(int hour, int minute, int second):按照指定的小時、分鐘和秒獲取一個LocalTime例項。
  • static LocalDate of(int year, int month, int dayOfMonth):按照指定的年、月和日獲得一個LocalDate例項,日期中年、月和日必須有效,否則將丟擲異常。

日期格式化和解析

Java 8提供的日期格式化類是java.time.format.DateTimeFormatter,DateTimeFormatter中本身沒有提供日期格式化和日期解析方法,這些方法還是由LocalDate、LocalTime和LocalDateTime提供的。

  1. 日期格式化
  2. 日期格式化方法是format,這三個類每一個都有String format(DateTimeFormatter formatter),引數formatter是DateTimeFormatter型別。
  3. 日期解析
  4. 日期解析方法是parse,這三個類每一個都有兩個版本的parse方法,具體說明如下:
  • static LocalDateTime parse(CharSequence text):使用預設格式,從一個文字字串獲取一個LocalDateTime例項,如2007-12-03T10:15:30。
  • static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter):使用指定格式化,從文字字串獲取LocalDateTime例項。
  • static LocalDate parse(CharSequence text):使用預設格式,從一個文字字串獲取一個LocalDate例項,如2007-12-03。
  • static LocalDate parse(CharSequence text, DateTimeFormatter formatter):使用指定格式化,從文字字串獲取LocalDate例項。
  • static LocalTime parse(CharSequence text):使用預設格式,從一個文字字串獲取一個LocalTime例項。
  • static LocalTime parse(CharSequence text, DateTimeFormatter formatter):使用指定的格式化,從文字字串獲取LocalTime例項。

格式化類DateTimeFormatter物件是通過ofPattern(String pattern)獲得,其中pattern是日期和時間格式模式,具體說明參考上上表。

好了,本篇文章就分享到這裡了。有興趣的新手夥伴們可以關注收藏起來,以後需要的時候可以多看看。如果有正在學java的程式設計師,可來我們的java技術學習扣qun哦:59789,1510裡面免費送java的視訊系統教程!