Math
Math 類孽查,包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法
常用API
取整
l?static?double abs(double? a) 獲取double 的絕對(duì)值
l?static?double??ceil(double? a)?向上取整(天花板)
l?static?double??floor(double? a)?向下取整 (地板)
l?static?long round(double?a)四舍五入
?Math 類中的取整
最值
l?static?T?max(T t, T t) ?返回參數(shù)類型值中比較大的值
l?static?Tmin(T t, T t) 返回參數(shù)類型值中比較小的值
?Math 類中的最值方法
0-1 隨機(jī)數(shù)
l?static?double?random()?返回從0-1的隨機(jī)數(shù)
?Math 類中的隨機(jī)方法
Calendar
Calendar 是日歷類稻爬,calendar 為抽象類穿仪,由于語(yǔ)言的敏感性规求,calendar 在創(chuàng)建的時(shí)候并非直接創(chuàng)建实束,而是通過(guò)靜態(tài)方法創(chuàng)建幽钢,先處理語(yǔ)言的敏感性歉备,在返回子類對(duì)象。
Calendar 是通過(guò)getInsrance() 靜態(tài)方法來(lái)獲取子類對(duì)象匪燕。
static?Calendar?getInstance() 使用默認(rèn)時(shí)區(qū)和語(yǔ)言環(huán)境獲得一個(gè)日歷
示例:
?獲取calendar
常用API
獲取
l?static Calendar??getInstance()? ? ? ? ? ?獲取日歷
llong? ? ?getTimeInMillis()? ? ? ??獲取當(dāng)前時(shí)間的毫秒值
l? Date?? getTime()? ? ? ? ? ? ?獲取當(dāng)前時(shí)間
l? int? ? get(int?field)? ? ? ? ?獲取指定字段的值
YEAR 年
MONTH 月蕾羊,從0開(kāi)始算起,最大11帽驯;0代表1月龟再,11代表12月。
DATE 天
HOUR 時(shí)
MINUTE分
SECOND秒
設(shè)置值
abstract void?add(int?field, int amount)?為指定的日歷字段增加或減少時(shí)間量
void?set(int?field, int?value)?將指定的值設(shè)置給指定的字段
void?setTime(Datedate)?將指定的Date 值設(shè)置給calendar
void setTimeInMillis(long?millis)?將指定的毫秒值設(shè)置給calendar
?calendar 的API 示例
SimpleDateFormat 與 Date?
DataFormat 類是針對(duì)日期進(jìn)行格式化尼变,針對(duì)字符串進(jìn)行解析的類利凑,但它是抽象類,所以使用其子類simpleDateFormat
Data 是表示特定的瞬間嫌术,精確到毫秒
SimpleDateFormat的構(gòu)造方法
SimpleDateFormat()?使用默認(rèn)的日期格式符號(hào)
SimpleDateFormat(Stringpattern)?使用給定的模式日期格式符號(hào)
SimpleDateFormat?的API
void?applyPattern(Stringpattern)?將指定模式字符串應(yīng)用于此日期格式
stringBuffer format(Datedate)?將指定的日期以指定的字符串格式輸出
Date parse(Stringtext)?將指定字符串解析成時(shí)間(date)
?y 年??????????? M 月???? d 日
h 時(shí) 在上午或下午 (1~12)
H 時(shí) 在一天中 (0~23)
m 分???? s 秒??????????? S 毫秒? ? ? ? E 星期
D 一年中的第幾天
F 一月中第幾個(gè)星期幾
w 一年中第幾個(gè)星期
W 一月中第幾個(gè)星期
a 上午 / 下午 標(biāo)記符
k 時(shí) 在一天中 (1~24)
K 時(shí) 在上午或下午 (0~11)
z 時(shí)區(qū)
示例:
?時(shí)間與字符串相互轉(zhuǎn)換
Date? API
long?getTime()?獲取當(dāng)時(shí)時(shí)間的毫秒值哀澈,和System.currentTimeMillis() 類似
System
System API
void arraycopy(Object?src, int srcPos,?Object?dest, int destPos, int length)從指定源數(shù)組中復(fù)制一個(gè)數(shù)組,復(fù)制從指定位置開(kāi)始度气,到目標(biāo)數(shù)組的指定位置結(jié)束
long currentTimeMillis()?返回當(dāng)前時(shí)間的毫秒值
void exit(int?status)?終止當(dāng)前正在運(yùn)行的java 虛擬機(jī)
void gc()?運(yùn)行垃圾回收器
示例:
?system 中的arraycopy方法
Random
Random 類 是生成隨機(jī)數(shù)(偽隨機(jī)數(shù))的類割按。在進(jìn)行隨機(jī)時(shí),隨機(jī)算法的起源數(shù)字稱之為種子數(shù)磷籍,在種子數(shù)的基礎(chǔ)上進(jìn)行一定的變換适荣,從而產(chǎn)生需要的隨機(jī)數(shù)字现柠。
相同種子數(shù)的Random 對(duì)象,相同次數(shù)生成的隨機(jī)數(shù)數(shù)字是完全相同的弛矛。也就是說(shuō)够吩,兩個(gè)種子數(shù)完全相同的Random對(duì)象,第一次生成的隨機(jī)數(shù)字完全相同丈氓,第二次生成的隨機(jī)數(shù)字也完全相同废恋。
Random 的構(gòu)造方法
Random()?創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器。
Random(long?seed)?使用單個(gè)?long?種子創(chuàng)建一個(gè)新的隨機(jī)數(shù)生成器扒寄。
?Random 種子數(shù)對(duì)比
Random 類的API
int next(int?bits)生成下一個(gè)偽隨機(jī)數(shù)鱼鼓。
intnextInt()?返回下一個(gè)偽隨機(jī)數(shù),它是此隨機(jī)數(shù)生成器的序列中均勻分布的?int?值该编。
intnextInt(int?n)?返回一個(gè)偽隨機(jī)數(shù)迄本,范圍從0-(n-1)之間
boolean?nextBoolean()?返回下一個(gè)偽隨機(jī)數(shù),它是取自此隨機(jī)數(shù)生成器序列的均勻分布的?boolean?值课竣。
long nextLong()?返回下一個(gè)偽隨機(jī)數(shù)嘉赎,它是取自此隨機(jī)數(shù)生成器序列的均勻分布的?long?值。
double??nextDouble()?返回下一個(gè)偽隨機(jī)數(shù)于樟,它是取自此隨機(jī)數(shù)生成器序列的公条、在?0.0?和?1.0?之間均勻分布的?double?值。
float??nextFloat()返回下一個(gè)偽隨機(jī)數(shù)迂曲,它是取自此隨機(jī)數(shù)生成器序列的靶橱、在?0.0?和?1.0?之間均勻分布的?float?值。
?示例:
?Random 中的nextInt方法
Scanner
Scanner 是jdk1.5 之后添加的類路捧。用于鍵盤輸入內(nèi)容
構(gòu)造方法
Scanner(InputStreamsource)?構(gòu)造一個(gè)新的?Scanner关霸,它生成的值是從指定的輸入流掃描的。?System.in (從鍵盤掃描)
Scanner(Filesource)?構(gòu)造一個(gè)新的?Scanner杰扫,它生成的值是從指定文件掃描的队寇。
Scanner API
String next()查找并返回來(lái)自此掃描器的下一個(gè)完整標(biāo)記。
nextLine()?此掃描器執(zhí)行當(dāng)前行章姓,并返回跳過(guò)的輸入信息佳遣。
int?? ?nextInt()?將輸入信息的下一個(gè)標(biāo)記掃描為一個(gè)?int。
nextDouble()將輸入信息的下一個(gè)標(biāo)記掃描為一個(gè)?double凡伊。
示例:
?Scanner 調(diào)用示例
注意:
Scanner 中 next() 與 nextLine() 的區(qū)別
next() : 只讀取輸入的值零渐,到空格結(jié)束。它不能讀取由兩個(gè)空格或者符號(hào)隔開(kāi)的單詞窗声。且光標(biāo)定位到本行
nextLine() : 讀取輸入的值相恃,包括單詞,所有空格以及符號(hào)。到回車鍵結(jié)束拦耐。且光標(biāo)定位到下一行 ? ? ? ? ? ? ? ? ? ? ?歡迎工作一到五年的Java工程師朋友們加入Java群:?891219277
群內(nèi)提供免費(fèi)的Java架構(gòu)學(xué)習(xí)資料(里面有高可用耕腾、高并發(fā)、高性能及分布式杀糯、Jvm性能調(diào)優(yōu)扫俺、Spring源碼,MyBatis固翰,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個(gè)知識(shí)點(diǎn)的架構(gòu)資料)合理利用自己每一分每一秒的時(shí)間來(lái)學(xué)習(xí)提升自己狼纬,不要再用"沒(méi)有時(shí)間“來(lái)掩飾自己思想上的懶惰!趁年輕骂际,使勁拼疗琉,給未來(lái)的自己一個(gè)交代!