廣州尚學(xué)堂部分筆記

常用類(二)

今天講的是日期時間類

時間戳的意思是:距離特定時間的時間間隔拉背,特定時間是有規(guī)定的:1970年1月1日 00:00:00碧磅,系統(tǒng)重裝的時候也可以看見1970年1月1日 8:00:00:000

時間戳就是距離1970年1月1日 00點00分00秒000毫秒的時間間隔

比如今天計算機上顯示的是2019年4月29日 14點14分00秒,那他的時間間隔是非常大的,時間間隔是用毫秒來表示的眷射,用long類型來存儲的

時間是一個整型昆雀。

小知識:格林尼治時間(GMT)為世界時間標(biāo)準(zhǔn)甩苛,因為格林尼治時間的正午經(jīng)過英國那里的本初子午線会宪,因為我們是中國逻悠,位于東八區(qū),所以要加上8小時韭脊,這是地理問題蹂风。

1.Date(此類有很多過時的東西,但是沒過時的依舊可以使用)

Date:特定的瞬間乾蓬,精確到毫秒。

Date 類本質(zhì)上擁有一個long fastTime屬性的包裝類慎恒,提供了很多屬性和方法用于快速獲取年月日任内、時分秒。而fastTime就是時間戳

創(chuàng)建Date對象的時候記得是util融柬;

寫日期的時候yyyy是年死嗦,MM是月份,dd是天數(shù)粒氧,HH是小時越除,mm是分鐘,ss是秒外盯。

Calendar

因為Date本身有很多方法在JDK1.1后已經(jīng)過時了摘盆,所以推薦常使用Calendar取代Date獲取單獨的年月日時分秒。

他是一個日歷類饱苟,本質(zhì)上內(nèi)部里有一個屬性孩擂,叫:long time ,他表示的是該日歷所具體的時間戳箱熬,同時Calendar內(nèi)部通過對time 的運算計算出很多日歷字段类垦,把這些日歷字段存在一個容器中,并提供set和get方法給人設(shè)置或者訪問這些字段

案例:獲取Calendar中的日歷字符值

// 通過工廠設(shè)計模式構(gòu)建一個對象

Calendar cal = Calendar.getInstance();

System.out.println(cal.toString());

// 獲取年

System.out.println(cal.get(Calendar.YEAR));

// 獲取月城须,索引從0開始蚤认,0-表示1月

System.out.println(cal.get(Calendar.MONTH));

System.out.println(cal.get(Calendar.DAY_OF_MONTH));

// 時

System.out.println(cal.get(Calendar.HOUR_OF_DAY));

// 分

System.out.println(cal.get(Calendar.MINUTE));

// 秒

System.out.println(cal.get(Calendar.SECOND));

System.out.println(cal.get(Calendar.MILLISECOND));

// 獲取星期 一周的第一天是周日開始

System.out.println(cal.get(Calendar.DAY_OF_WEEK));

// 本月的第一天和本月的最后一天

System.out.println(cal.getActualMinimum(Calendar.DAY_OF_MONTH));

System.out.println(cal.getActualMaximum(Calendar.DAY_OF_MONTH));

2.Math

Math 類包含用于執(zhí)行基本數(shù)學(xué)運算的方法。例如糕伐,隨機數(shù)砰琢、平方、立方赤炒。

里面的PI 等于數(shù)學(xué)里的π

經(jīng)常用Math是弄一些絕對值(函數(shù)為abs)

System.out.println("Math.abs(-10)");

向上取整(函數(shù)為ceil)/ 向下取整(函數(shù)為floor)

system.out.println(Math.ceil(10.1));

這個用的是向上取整的函數(shù)氯析,結(jié)果是10.1變成了10.0,因為是取最小整數(shù)莺褒,所以得這樣的結(jié)果

如果是用向下取整掩缓,取的是最大整數(shù),把代碼換成floor就可以了遵岩。

時間比大小

max(大)和min(心憷薄)

system.out.println(Math.max(10.20))巡通;

就誰大,想比小就換函數(shù)成min舍哄。

pow(x,y) x的y次方(函數(shù)為pow)

System.out.println(Math.pow(2, 3));

四舍五入(函數(shù)為round)

System.out.println(Math.round(4.4));

3.枚舉(挺重要的)

枚舉是由一組固定的常量宴凉,常量,常量組成的類型表悬,自定義數(shù)據(jù)類型弥锄,因為是自定義類型,所以可以聲明變量

平時是這樣弄

【修飾符】 enum enumName{

? ? ? 常量值1.

? ? ? 常量值2蟆沫,

? 常量值3

? 籽暇。。饭庞。

? 常量值N 戒悠;(注釋:分號加不加無所謂,建議加舟山,多了沒毛渤窈)

}

枚舉的常量值呢,一定要是可以列舉的有限值累盗,常量值類型都默認為public static final

比如你用定義了男和女的一個枚舉類型

你想用gender來聲明變量寒矿,那么變量的值必須是枚舉值里的其中一個,比如你弄了男和女幅骄,那么你輸入的時候只能輸男和女

其實直接把枚舉當(dāng)成一個類 劫窒, 會更好理解一些,因為java中所有的枚舉類型都繼承與enum類

枚舉轉(zhuǎn)化成字符串

Gender gender = Gender.男;

system.out.println(gender.tostring( ));

如果字符串要轉(zhuǎn)化成枚舉值

Gender gender = Gender.男;

String str = “男”拆座;

但是可能會產(chǎn)生非法參數(shù)異常主巍,也就是IllegalArgumentException

gender gender2 = Enum.valueOf(Gender.class, string);

System.out.println(gender2);

4.

? ? ? ? ? ? ? ? 枚舉和switch

public enum Week {

MONDAY,

TUESDAY,

WEDNESDAY,

THURSDAY,

FRIDAY,

SATURDAY,

SUNDAY;

}

public static void main(String[] args) {

// 需求:有一個變量表示星期幾,輸出對于的教學(xué)安排

Week week = Week.TUESDAY;

switch (week) {

case MONDAY:

case TUESDAY:

case THURSDAY:

case FRIDAY:

case SATURDAY:{

System.out.println("上課");

break;

}

case WEDNESDAY:

case SUNDAY:{

System.out.println("練習(xí)");

break;

}

}

}

枚舉的其他方法

public static void main(String[] args) {

// 枚舉變量的其他方法

Week week = Week.SUNDAY;

System.out.println(week.name());

System.out.println(week.ordinal());

}

總結(jié)

1.只能夠取特定值中的一個

2.使用enum關(guān)鍵字

3.所有的枚舉類型隱性地繼承自 java.lang.Enum挪凑。(枚舉實質(zhì)上還是類孕索!而每個被枚舉的成員實質(zhì)就是一個枚舉類型的實例,他們默認都是public static final的躏碳「阈瘢可以直接通過枚舉類型名直接使用它們。)

4.強烈建議當(dāng)你需要定義一組常量時菇绵,使用枚舉類型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肄渗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子咬最,更是在濱河造成了極大的恐慌翎嫡,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件永乌,死亡現(xiàn)場離奇詭異惑申,居然都是意外死亡具伍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門圈驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來人芽,“玉大人,你說我怎么就攤上這事绩脆∮┨” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵靴迫,是天一觀的道長祈坠。 經(jīng)常有香客問我,道長矢劲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任慌随,我火速辦了婚禮芬沉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阁猜。我一直安慰自己丸逸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布剃袍。 她就那樣靜靜地躺著黄刚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪民效。 梳的紋絲不亂的頭發(fā)上憔维,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音畏邢,去河邊找鬼业扒。 笑死,一個胖子當(dāng)著我的面吹牛舒萎,可吹牛的內(nèi)容都是我干的程储。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼臂寝,長吁一口氣:“原來是場噩夢啊……” “哼章鲤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起咆贬,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤败徊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后素征,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體集嵌,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡萝挤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了根欧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怜珍。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凤粗,靈堂內(nèi)的尸體忽然破棺而出酥泛,到底是詐尸還是另有隱情,我是刑警寧澤嫌拣,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布柔袁,位于F島的核電站,受9級特大地震影響异逐,放射性物質(zhì)發(fā)生泄漏捶索。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一灰瞻、第九天 我趴在偏房一處隱蔽的房頂上張望腥例。 院中可真熱鬧,春花似錦酝润、人聲如沸燎竖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽构回。三九已至,卻和暖如春疏咐,著一層夾襖步出監(jiān)牢的瞬間纤掸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工浑塞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茁肠,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓缩举,卻偏偏與公主長得像垦梆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子仅孩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 使用序列 --通過序列名.next_val select seq_emp_temp.nextval from du...
    63ad91974aeb閱讀 159評論 0 0
  • 什么叫約束托猩? 答:簡單來說,就是規(guī)定辽慕,建表時候的規(guī)定京腥,規(guī)定你這個表這列,不能為空溅蛉,那不寫的話公浪,就通不過他宛,但是0或者...
    63ad91974aeb閱讀 227評論 0 0
  • 第05天API 今日內(nèi)容介紹 ·Object類& System類 ·日期相關(guān)類 ·包裝類&正則表達式 ·Date對...
    chcvn閱讀 402評論 0 1
  • Date 類Date表示特定的瞬間,精確到毫秒欠气。 本質(zhì)上擁有一個long fastTime屬性的包裝類厅各,提供了很多...
    什么時候養(yǎng)貓閱讀 245評論 0 0
  • 國慶節(jié),我們一家人計劃去新疆玩预柒,同行的還有爸爸的同事潘叔叔和曹叔叔兩家人队塘,由于時間緊張,我因此還不得不因爸爸的計劃...
    aaron603閱讀 239評論 0 0