java基礎(chǔ)第十一篇之Date肋僧、Math、自動(dòng)裝箱和拆箱

Date類 表示一個(gè)瞬間,就是一個(gè)時(shí)刻

*

* 構(gòu)造方法:

* public Date();//創(chuàng)建一個(gè)表示當(dāng)前系統(tǒng)時(shí)間的Date對(duì)象

* public Date(long time);//毫秒值,距離標(biāo)準(zhǔn)時(shí)間(1970.1.1 0點(diǎn)0點(diǎn)0秒)的毫秒值

*

* 成員方法:

* long getTime();//獲取當(dāng)前日期對(duì)象(Date對(duì)象)距離標(biāo)準(zhǔn)時(shí)間的毫秒值

*

* 毫秒值--->Date對(duì)象:public Date(long time)

* Date對(duì)象---->毫秒值 :long getTime();

*

* 第二個(gè)類:DateFormat 但是是一個(gè)抽象類 我們選擇用java提供的其子類:SimpleDateFormat

*

* 構(gòu)造方法:

* public SimpleDateFormat(String pattern);//以指定的模式 創(chuàng)建一個(gè)日期格式化對(duì)象

* 比如: 一個(gè)Date對(duì)象你想最后打印出來(lái)格式: "2017年06月05日 10點(diǎn)20分15秒"

*

* 成員方法:

* public String format(Date d);//把指定的Date對(duì)象 轉(zhuǎn)成一個(gè)字符串返回給你

* public Date parse(String time);//把給定String字符串解析成一個(gè)Date對(duì)象

public static void demo03() throws ParseException{

//一個(gè)Date對(duì)象你想最后打印出來(lái)格式: "2017年06月05日 10點(diǎn)20分15秒"

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//調(diào)用sdf的format方法

Date d = new Date();

String dStr = sdf.format(d);

System.out.println(dStr);

String s = "2010-06-13 10:03:10";

Date sd = sdf.parse(s);

System.out.println(sd);

public static void demo02(){

//看一下今天這個(gè)時(shí)刻 距離標(biāo)準(zhǔn)時(shí)間多少毫秒

Date d = new Date();

long l = d.getTime();

System.out.println(l);//1497401350108

}

Date:日期類,年月日時(shí)分秒

* Calendar:日歷類,年月日時(shí)分秒

* 我們發(fā)現(xiàn)Calendar是一個(gè)抽象類,不能用

* 而且我們也不用他的子類

*

* 獲取Calendar類對(duì)象的方式:

* public static Calendar getInstance();//返回一個(gè)Calendar的子類對(duì)象

* [time=1497403287679,areFieldsSet=true,areAllFieldsSet=true,

* lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",

* offset=28800000,dstSavings=0,useDaylight=false,transitions=19,

* lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,

* YEAR=2017,MONTH=5,WEEK_OF_YEAR=24,WEEK_OF_MONTH=3,DAY_OF_MONTH=14,

* DAY_OF_YEAR=165,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=9,

* HOUR_OF_DAY=9,MINUTE=21,SECOND=27,MILLISECOND=679,ZONE_OFFSET=28800000,

* DST_OFFSET=0]

*

* 成員方法:

* 1.int get(int field);//獲取指定字段(成員變量)的值

* 2.void set(int field,int value);//把日歷對(duì)象中的指定字段 改成指定的值

* 3.void add(int field,int amount);//把日歷對(duì)象中的指定字段 增加指定的值

* 4.public Date getTime();//把當(dāng)前日歷對(duì)象 轉(zhuǎn)成日期對(duì)象

*

* System類:系統(tǒng)類,java.lang

*

* 查閱API說(shuō) System這個(gè)類不能創(chuàng)建對(duì)象

*

* 方法:

* public static void exit(int code);//退出JVM,后面的參數(shù)寫(xiě)0 表示正常終止

* public static void gc();//通知JVM的垃圾回收器 過(guò)來(lái)收破爛

* public static String getProperty(String key);//獲取系統(tǒng)的某一個(gè)屬性

* public static long currentTimeMillis();//獲取當(dāng)前時(shí)間毫秒值

*

*

* Math類:有關(guān)數(shù)學(xué)運(yùn)算的類

*

* 1.public static double abs(double d);//取絕對(duì)值

* 2.public staic double max(double d1,double d2);//取較大值

* 3.public staic double min(double d1,double d2);/取較小值

*

* 4.public static double random();//返回一個(gè)隨機(jī)數(shù) 范圍[0.0,1.0)

*

* 5.public static long round(double d);//四舍五入,只判斷小數(shù)第一位

* 6.public static double pow(double d1 ,double d2);//求d1的d2次冪

*

* 7.public static double floor(double d);//向下取整

* 8.public static double ceil(double d);//向上取整

* ArrayList集合 只能存儲(chǔ)引用類型

* java把8中基本類型? 對(duì)應(yīng)? 基本數(shù)據(jù)類型包裝類

* byte short char int long float double boolean

* Byte Short Character Integer Long Float Double? Boolean

* 定義一個(gè)存儲(chǔ)整數(shù)的集合 ArrayList<Integer> nums = new ....

* 另外一個(gè)作用:把一個(gè)字符串轉(zhuǎn)成對(duì)應(yīng)的基本類型的功能

* 比如:Integer.parseInt("20");

* 比如:Double.parseDouble("99.99");

*

* 自動(dòng)裝箱拆箱

*

* 裝箱: 把基本類型 ---->對(duì)應(yīng)的包裝類型

*

* 拆箱: 包裝類型----->對(duì)應(yīng)基本類型

*

* 而且以上的步驟不許要程序干預(yù),JVM自動(dòng)判斷 自動(dòng)拆裝箱

*

* 總結(jié):基本數(shù)據(jù)類型類型和對(duì)應(yīng)包裝類型 我們?cè)匍_(kāi)中一視同仁

? 正則表達(dá)式:

* 不是java的東西,所有編程語(yǔ)言都可以用的東西

* 正則表達(dá)式 是一個(gè)特殊字符串,正則表達(dá)式字符串內(nèi)容 表示一個(gè)規(guī)則

*

* "正則表達(dá)式"--->代表一個(gè)規(guī)則

*

* true----> "普通的字符串a(chǎn)bc.." 匹配上了 "正則表達(dá)式"

* false---> "普通的字符串a(chǎn)bc.."? 沒(méi)有匹配上了 "正則表達(dá)式"

*

* 在字符串類String中 有一個(gè)方法 matchs和split

* public boolean matches(String regex);

* public String[] split(String regex)根據(jù)給定正則表達(dá)式的匹配拆分此字符串控淡。

*

* 例題1:

* 校驗(yàn)qq號(hào)碼.

*

*

public class RegexDemo01 {

public static void main(String[] args) {

// TODO Auto-generated method stub

splitDemo02();

}

/*

* 用正則表達(dá)式切分字符串

*/

public static void splitDemo02(){

String ip = "192...168.....1.....1";

//寫(xiě)代碼 拿出 每一個(gè)數(shù)字

//正則表達(dá)式中 "."代表任意字符

//轉(zhuǎn)譯字符: \n? \t

//"\.":把"."的特殊含義去掉

String[] ips = ip.split("\\.+");//正則表達(dá)式中 兩個(gè)"\\"表示一個(gè)"\"

System.out.println(ips.length);

for (int i = 0; i < ips.length; i++) {

System.out.println(ips[i]);

}

}

/*

* 用正則表達(dá)式切分字符串

*/

public static void splitDemo(){

String s = "0218--3422---3540-----4565";

//寫(xiě)代碼 把每個(gè)短號(hào) 拿出來(lái) 輸出

//正則表達(dá)式中 "+"表示多個(gè)前面的元素

String[] nums = s.split("-+");

for (int i = 0; i < nums.length; i++) {

System.out.println(nums[i]);

}

}

/*

* 匹配手機(jī)號(hào)碼

* 1:要求為11位數(shù)字

* 2:第1位為1嫌吠,第2位為3、4掺炭、5辫诅、7、8中的一個(gè),

* 后面9位為0到9之間的任意數(shù)字涧狮。

*

*/

public static void phone(){

String num = "12838385438";

boolean b = num.matches("1[34578][0-9]{9}");//

System.out.println(b);

}

/*

* 使用正則表達(dá)式 檢驗(yàn)QQ號(hào)碼

* QQ號(hào)碼的規(guī)則:

* 1.必須都是數(shù)字

* 2.位數(shù)必須是5-12位

* 3.首位不能是0

*/

public static void QQ(){

//定義一個(gè)QQ號(hào)碼

String qq = "283834567765438";

//在正則表達(dá)式中 范圍 我們中括號(hào)表示

//在正則表達(dá)式中 個(gè)數(shù)用大括號(hào)

boolean b = qq.matches("[1-9][0-9]{4,11}");

System.out.println(b);

}

}

* 能夠理解正則表達(dá)式驗(yàn)證11位手機(jī)號(hào)碼

* 能夠理解正則表達(dá)式驗(yàn)證QQ號(hào)碼

*

* 能夠使用日期類輸出當(dāng)前的日期

* 構(gòu)造:

* public Date();

* public Date(long time);

* 成員方法:

* public long getTime();

* 能夠說(shuō)出將日期格式化成字符串的方法

* DateFormat----->SimpleDateFormat

* 構(gòu)造:

* public SimpleDateFormat(String pattern);//pattern模式,必須按照APi中給的字母填寫(xiě)

* 方法:

* Date對(duì)象--->String格式: public String format(Date d)

* String格式--->Date對(duì)象: public Date parse(String s);

*

* Calendar類:

* 獲取Calendar子類對(duì)象:

* public static Calendar getInstance();//實(shí)際返回的是Calendar的子類(公歷類)對(duì)象

* 方法:

* public void add(int field,int value);

* public void set(int field,int value);

* public int get(int field);

* public Date getTime();//返回值日歷對(duì)象 對(duì)應(yīng)的日期對(duì)象

public class Test1 {

public static void main(String[] args) throws Exception {

// int read = System.in.read();

// System.out.println(read);

? Scanner dd=new Scanner(System.in);

? ? ? ? ? System.out.println("請(qǐng)輸入你想查詢的年份:");

? ? ? ? ? int year=dd.nextInt();

? ? ? ? ? Calendar c=Calendar.getInstance();

//? ? ? ? ? c.set(year, 2,0);

? ? ? ? ? c.set(year, 2,1);

? ? ? ? ? c.add(Calendar.DATE, -1);

? ? ? ? ? System.out.println("這一年2月有"+ c.get(Calendar.DATE)+"天");

}

}

/*

* 鍵盤(pán)錄入指定格式(yyyy-MM-dd)的任意日期,顯示出對(duì)應(yīng)的星期幾

*

* "E" 代表的是星期幾

*/

System.out.println("請(qǐng)輸入指定格式的:");

String s = new Scanner(System.in).nextLine();

//定義日期格式化對(duì)象,用于將用戶輸入的字符串轉(zhuǎn)換為日期對(duì)象

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

//將字符串轉(zhuǎn)換為日期對(duì)象

Date d = df.parse(s);

//定義日期格式化對(duì)象,用于將日期對(duì)象轉(zhuǎn)換為指定的字符串形式的對(duì)象

SimpleDateFormat sdf = new SimpleDateFormat("E");

//解析日期對(duì)象為字符串形式

String str = sdf.format(d);

System.out.println(str);

計(jì)算字符串中所有數(shù)字的平均值.題目考察字符串的解析和引用類型轉(zhuǎn)換.

信息已給出 :

String s= " 第一組得分:92.8炕矮,第二組得分:88.8,第三組得分:95.4";

String s= "第一組得分:92.8,第二組得分:88.8,第三組得分:95.4";

//1.定義正則表達(dá)式,匹配數(shù)字和逗號(hào)以外的字符,并使用replaceAll方法,將字符串所有的數(shù)字以外的

//字符替換掉

String s1 = "第[一二三]組得分:";

String s2 = s.replaceAll(s1, "");

String[] s3 = s2.split(",");

double sum = 0;

//迭代數(shù)字,并將數(shù)字中德米一個(gè)元素都轉(zhuǎn)換為double類型后,求和

for (String string : s3) {

//sum += Integer.parseInt(string);

sum += Double.parseDouble(string);

//System.out.println(string);

}

//求平均數(shù)

double i =sum/(s3.length);

System.out.println(i);

* 寫(xiě)出基本數(shù)據(jù)類型對(duì)應(yīng)的八種包裝類

* int--->Integer

* char--->Character

* 寫(xiě)出字符串轉(zhuǎn)換成基本數(shù)據(jù)類型的方法

* Integer.parseInt("20");

* Double.parseDouble("99.95");

* 寫(xiě)出基本數(shù)據(jù)類型轉(zhuǎn)換成字符串方式

* 最簡(jiǎn)單的: 4+""===>"4"

* 能夠說(shuō)出拆箱裝箱概念

* 拆箱: 包裝類-->基本類型

* 裝箱: 基本類型-->包裝類

* 能夠掌握System類常見(jiàn)方法的使用

* public static long currentTimeMillis();//獲取當(dāng)前時(shí)間的毫秒值

* //不重要

* public void exit(0);//終止JVM

* public void gc();//告訴系統(tǒng)需要運(yùn)行系統(tǒng)的垃圾回收器

* public String getProperty(String key);//獲取一些系統(tǒng)有關(guān)屬性值

* 能夠使用Math類進(jìn)行數(shù)學(xué)運(yùn)算

* 1.public double random();//

* 2.public long round(double d);//把d參數(shù) 四舍五入

*

* 3.public double ceil(double d)//向上取整

* 4.public double floor(double d)//向下取整

*

* 5.public double pow(double d1,double d2);//求d2個(gè)d1相乘的積

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末勋篓,一起剝皮案震驚了整個(gè)濱河市吧享,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌譬嚣,老刑警劉巖钢颂,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拜银,居然都是意外死亡殊鞭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門尼桶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)操灿,“玉大人,你說(shuō)我怎么就攤上這事泵督≈貉危” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)救鲤。 經(jīng)常有香客問(wèn)我久窟,道長(zhǎng),這世上最難降的妖魔是什么本缠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任斥扛,我火速辦了婚禮,結(jié)果婚禮上丹锹,老公的妹妹穿的比我還像新娘稀颁。我一直安慰自己,他們只是感情好楣黍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布匾灶。 她就那樣靜靜地躺著,像睡著了一般锡凝。 火紅的嫁衣襯著肌膚如雪粘昨。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,604評(píng)論 1 305
  • 那天窜锯,我揣著相機(jī)與錄音,去河邊找鬼芭析。 笑死锚扎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的馁启。 我是一名探鬼主播驾孔,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惯疙!你這毒婦竟也來(lái)了翠勉?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤霉颠,失蹤者是張志新(化名)和其女友劉穎对碌,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蒿偎,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朽们,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了诉位。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骑脱。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖苍糠,靈堂內(nèi)的尸體忽然破棺而出叁丧,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布拥娄,位于F島的核電站坷衍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏条舔。R本人自食惡果不足惜枫耳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孟抗。 院中可真熱鬧迁杨,春花似錦、人聲如沸凄硼。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)摊沉。三九已至狐史,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間说墨,已是汗流浹背骏全。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尼斧,地道東北人姜贡。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像棺棵,于是被迫代替她去往敵國(guó)和親楼咳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

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

  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子烛恤,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子母怜,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    開(kāi)心的鑼鼓閱讀 3,320評(píng)論 0 9
  • 50道經(jīng)典Java編程練習(xí)題,將數(shù)學(xué)思維運(yùn)用到編程中來(lái)缚柏。抱歉哈找不到文章的原貼了苹熏,有冒犯的麻煩知會(huì)聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 6,962評(píng)論 0 9
  • 一、基礎(chǔ)知識(shí):1船惨、JVM柜裸、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,383評(píng)論 0 4
  • [TOC] 正則表達(dá)式 概述及基本使用 正則表達(dá)式:是指用來(lái)描述或者匹配一系列符合某個(gè)句法規(guī)則的字符串的單個(gè)字符串...
    lutianfei閱讀 361評(píng)論 0 2
  • 第05天API 今日內(nèi)容介紹 ·Object類& System類 ·日期相關(guān)類 ·包裝類&正則表達(dá)式 ·Date對(duì)...
    chcvn閱讀 406評(píng)論 0 1