3、<em>java</em>.text.DateFormat 它允许进行日期格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。 它的子类 SimpleDateFormat 类是一个格式化Date 以及解析日期字符串的工具,可以实现 String 到 Date,Date 到S
2021-05-15 15:00:52
今日分享開始啦,請大家多多指教~
今天給大家分享的是是Java 常用工具,話不多說,正文開始啦!
一、時間類 Date
1、java.util.Calendar(日曆類)
Calendar類是一個抽象基類,主要用於日期之間的各種計算
2、java.util.Date
java.util.Date日期格式為:年月日時分秒
java.sql.Date日期格式為:年月日
java.sql.Time日期格式為:時分秒
java.sql.Timestamp日期格式為:年月日時分秒納秒(毫微秒)
建構函式
(1)public Date()
分配 Date 物件並初始化此物件,以表示分配它系統的時間(精確到毫秒)。
(2)public Date(long date)
分配 Date 物件並初始化此物件,以表示自從標準基準時間(稱為「曆元(epoch)」,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數。
(3)public Date(int year, int month, int date)
分配 Date 物件並初始化此物件,以表示由 year、month 和 date 參數指定的一天的開始時間(本地時間晚上 12 時)。
注:Date 類中年份的參數應該是實際需要代表的年份減去1900,月份的參數是實際需要代表的月份減去1以後的值,日的參數應該是實際需要代表的日。如107代表2007,是減去1900得到的數;0代表1月,1代表2月,這裡月份是0-11的數字,依此類推;1表示天數,數字範圍1-31。
(4)public Date(int year, int month, int date, int h, int min, int sec)
分配 Date 物件並初始化此物件,以表示本地時區中由 year、month、date、h、 min 和 sec 參數指定的瞬間。
(5)public Date(String s)
分配 Date 物件並初始化此物件,以表示字元串 s 指出的日期和時間。
3、java.text.DateFormat
它允許進行日期格式化(日期 -> 文字)、分析(文字 -> 日期)和規範化。
它的子類 SimpleDateFormat 類是一個格式化Date 以及解析日期字元串的工具,可以實現 String 到 Date,Date 到String的 互轉。
(1)Date—> String(format方法)
format方法:將日期類型(java.util.Date)資料格式化為字元串(java.lang.String)
(2)String—> Date(parse方法)
parse方法:將字元串類型(java.lang.String)解析為日期類型(java.util.Date)
二、System 類
System 類代表系統,系統級的很多屬性和控制方法都放置在該類的內部。該類位於java.lang包。
由於該類的構造方法是private的,所以無法創建該類的物件,也就是無法例項化該類。其內部的成員方法和成員變數都是static(靜態)的,所以也可以很方便地呼叫它。
1、成員變數
(1)in
代表標準輸入流(鍵盤輸入)
//標準輸入流public final static InputStream in;
(2)out
代表標準標準輸出流(顯示器)
//標準輸出流public final static PrintStream out;
(3)err
代表標準錯誤輸出流(顯示器)
//標準錯誤流public final static PrintStream err;
2、成員方法
(1)getProperty()
獲取系統屬性。常用的有:
(2) getenv(String name)
該方法用來根據環境變數的名字獲取環境變數。
(3)gc()
java垃圾回收器,這個方法不需要我們去呼叫,jvm發現系統有未使用的物件,會自己進行執行。通常會有兩種情況下會呼叫gc:當jvm記憶體不足時會呼叫;當cpu空閒的時候呼叫。
(4)exit(int status)
退出虛擬機器。exit(int)方法是終止當前正在運行的java虛擬機器,參數是狀態碼。
①該方法用於退出jvm,如果參數是0表示正常退出jvm,非0表示異常退出jvm。
②退出jvm後,後面的程式碼就不會執行。無論傳0還是傳1,Jvm都會退出。
③注意:0或者非0的資料都可以退出Jvm,對於使用者而言沒有任何區別,對於windows是有作用的,因為如果傳非0對於windows而言是異常終止的,如果是正版的作業系統,對於異常退出的軟體,需要把這些異常退出的軟體資訊做成報告發送給微軟,微軟就可以針對這些問題對系統做出一些修改。
④我們程式設計師的程式設計習慣是:如果在try塊中退出Jvm,try塊裡面是沒有異常的程式碼,所以try塊中要傳0,如果是在catch塊裡面退出Jvm,我們習慣於用非0退出。
三、Number 類
資料的基本資料類型有byte、int、short、long、double、float、boolean、char 等8種。但在實際的開發當中,我們有時候會遇到需要使用數字物件,而不是資料類型的情況。為解決這個問題,java為每一種資料類型,提供了相對應的類,即包裝類,對應的包裝類型也有八種:Byte、Integer、Short、Long、Double、Float、Boolean、Character。
包裝類型都是用final聲明,不可以被繼承重寫。
當資料類型需要被當做物件使用時,編譯器會將資料類型轉換為對應的包裝類,這個過程被稱為裝箱;而當包裝類物件被當做資料類型使用時,編譯器會將包裝類轉換為對應的資料類型,這個過程被稱為拆箱。
Number類是java.lang包下的一個抽象類,提供了將包裝類型拆箱成基本類型的方法,所有基本資料類型(除 boolean 和 char)的包裝類型都繼承了該抽象類,並且是final聲明不可繼承改變。
Number 的常用方法
四、格式化
Format 是一個用於格式化語言環境敏感的資訊(如日期、訊息和數字)的抽象基類。Format 定義了程式設計介面,用於將語言環境敏感的物件格式化為 String(使用 format 方法)和將 String 重新解析為物件(使用 parseObject 方法)。
Java 平臺為格式化日期、訊息和數字分別提供了三個特殊的 Format 的子類:DateFormat、MessageFormat 和 NumberFormat。具體的子類必須實現三個方法:
1、DateFormat
DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化並解析日期或時間。 SimpleDateFormat 是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化(日期 -> 文字)、解析(文字 -> 日期)和規範化。
(1)日期和時間模式
(2)同步
日期格式是不同步的。建議為每個執行緒創建獨立的格式例項。如果多個執行緒同時訪問一個格式,則它必須是外部同步的。
2、NumberFormat
NumberFormat 是所有數值格式的抽象基類。此類提供格式化和解析數值的介面。NumberFormat 還提供了一些方法來確定哪些語言環境具有數值格式,以及它們的名稱是什麼。
(1)DecimalFormat
DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進位制數字。該類設計有各種功能,使其能夠解析和格式化任意語言環境中的數,包括對西方語言、阿拉伯語和印度語數字的支援。它還支援不同類型的數,包括整數 (123)、定點數 (123.4)、科學記數法表示的數 (1.23E4)、百分數 (12%) 和金額 ($123)。所有這些內容都可以本地化。
① 特殊模式字元
模式中的很多字元都是按字面解釋的;在解析期間對其進行匹配,在格式化期間則不經改變地輸出。
② 舍入
DecimalFormat 提供 RoundingMode 中定義的舍入模式進行格式化。預設情況下,它使用 RoundingMode.HALF_EVEN。
③ 同步
DecimalFormat 通常不是同步的。建議為每個執行緒創建獨立的格式例項。如果多個執行緒同時訪問某個格式,則必須保持外部同步。
示例
(2)ChoiceFormat
ChoiceFormat 允許將格式應用到某個範圍的數。它通常用於在 MessageFormat 中處理複數。
Choice 格式不是同步的。建議為每個執行緒創建單獨的格式例項。如果多個執行緒併發訪問一個格式,則它必須保持外部同步。
3、MessageFormat
MessageFormat 提供了以與語言無關的方式生成連線訊息的方式。使用此方法構造向終端使用者顯示的訊息。
MessageFormat 獲取一組物件,格式化這些物件,然後將格式化後的字元串插入到模式中的適當位置。
示例:
輸出:The disk 「MyDisk」 contains 1,273 file(s).
注意:訊息格式不是同步的。建議為每個執行緒創建獨立的格式例項。如果多個執行緒同時訪問一個格式,則它必須是外部同步的。
五、隨機數類
1、Random 類
Random 的物件能夠產生隨機數,他可以產生隨機整數、隨機float、隨機double,隨機long。
2、Math 類的 random() 方法
Math 類的 random() 方法返回的數值是[0.0,1.0)的 double 型數值,可以對其進行運算和類型轉換獲得需要的隨機數。
獲得某個範圍的特定類型的隨機數:( 資料類型 )( 最小值 + Math.random() * ( 最大值 - 最小值 + 1 ) )
int a = (int)(30 + Math.random() * 71) // 生成[30,100]的隨機整數
小結
以上是目前整理的一部分內容,如果有遺漏的歡迎大家補充!
今日份分享已結束,請大家多多包涵和指點!
相關文章
3、<em>java</em>.text.DateFormat 它允许进行日期格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。 它的子类 SimpleDateFormat 类是一个格式化Date 以及解析日期字符串的工具,可以实现 String 到 Date,Date 到S
2021-05-15 15:00:52
于是我开始阅读《深入理解计算机系统》、《图解 TCP/IP》、《深入理解 <em>Java</em> 虚拟机》这些偏底层的书籍,看得烦了,就去刷我之前给大家推荐过的两个视频课,《哈佛大学的 CS50》和《计算机科学速成课》,慢慢的,
2021-05-15 15:00:46
苹果的首款5G系列手机—<em>iPhone</em>12系列自去年10月上市以来,虽然依旧被吐槽“创新乏力”,但真香定律再次上演,一直处于热销当中,即便今年安卓旗舰机扎堆上市,也丝毫没影响其热度。其中6299元起的<em>iPhone</em>12,成
2021-05-15 15:00:36
不过很多<em>iPhone</em>11\12系列的用户升级这个版本后,出现了设备性能下降的问题,具体的表现就是玩游戏卡顿发热,打开软件速度变慢等等。虽然苹果给开发者们推送了iOS14.6Beta3,在这个测试版本已经修复了<em>iPhone</e
2021-05-15 15:00:33
学习规划预备知识<em>Python</em>基础+数据分析基础+机器学习基础 A、<em>Python</em>因为它的简单易用,学习它真的不要太方便,涉及到的安装及配置,我分享的文章里面有,自行观看。 B、有了<em>python</em>基础之后,就
2021-05-15 15:00:23
年度财务资产进出统计表 年度报销管理明细表 年度销售业绩汇总 年度财务各项统计表 年度财务费用明细分析 年度财务收支记账管理表 年度收入总表—动态图表分析 年终总结—财务结算分析 篇幅有限,就不一一展示了,全套<e
2021-05-15 15:00:04