Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言先改。Java 技術(shù)具有卓越的通用性、高效性蒸走、平臺(tái)移植性和安全性仇奶,廣泛應(yīng)用于PC、數(shù)據(jù)中心比驻、游戲控制臺(tái)该溯、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng)嫁艇,同時(shí)擁有全球最大的開(kāi)發(fā)者專業(yè)社群朗伶。
給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫(kù)-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 六五零,五五四步咪,六零七 】论皆,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)猾漫!裙內(nèi)有開(kāi)發(fā)工具点晴,很多干貨和技術(shù)資料分享!
1:正則表達(dá)式(理解)
(1)就是符合一定規(guī)則的字符串
(2)常見(jiàn)規(guī)則
A:字符
x 字符 x悯周。舉例:'a'表示字符a
\ 反斜線字符粒督。
新行(換行)符 ('\u000A')
回車符 ('\u000D')
B:字符類
[abc] a、b 或 c(簡(jiǎn)單類)
[^abc] 任何字符禽翼,除了 a屠橄、b 或 c(否定)
[a-zA-Z] a到 z 或 A到 Z族跛,兩頭的字母包括在內(nèi)(范圍)
[0-9] 0到9的字符都包括
C:預(yù)定義字符類
. 任何字符。我的就是.字符本身锐墙,怎么表示呢? .
d 數(shù)字:[0-9]
w 單詞字符:[a-zA-Z_0-9]
在正則表達(dá)式里面組成單詞的東西必須有這些東西組成
D:邊界匹配器
^ 行的開(kāi)頭
$ 行的結(jié)尾
單詞邊界
就是不是單詞字符的地方礁哄。
舉例:hello world?haha;xixi
E:Greedy 數(shù)量詞
X? X,一次或一次也沒(méi)有
X* X溪北,零次或多次
X+ X桐绒,一次或多次
X{n} X,恰好 n 次
X{n,} X之拨,至少 n 次
X{n,m} X茉继,至少 n 次,但是不超過(guò) m 次
(3)常見(jiàn)功能:(分別用的是誰(shuí)呢?)
A:判斷功能
String類的public boolean matches(String regex)
B:分割功能
String類的public String[] split(String regex)
C:替換功能
String類的public String replaceAll(String regex,String replacement)
D:獲取功能
Pattern和Matcher
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
find():查找存不存在
group():獲取剛才查找過(guò)的數(shù)據(jù)
(4)案例
A:判斷電話號(hào)碼和郵箱
手機(jī)號(hào):/^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/
郵箱:/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(.[a-z0-9]]([a-z0-9-]*[a-z0-9])?)*$/i
B:按照不同的規(guī)則分割數(shù)據(jù)
C:把論壇中的數(shù)字替換為*
sed 's/[0-9]/*/g' file
D:獲取字符串中由3個(gè)字符組成的單詞
2:Math(掌握)
(1)針對(duì)數(shù)學(xué)運(yùn)算進(jìn)行操作的類
(2)常見(jiàn)方法:
A:絕對(duì)值 Math.abs()
B:向上取整 Math.floor()
C:向下取整 Math.ceil()
D:兩個(gè)數(shù)據(jù)中的大值 Math.max()
E:a的b次冪 Math.pow(a, b)
F:隨機(jī)數(shù) Math.random()
G:四舍五入 Math.rint()
H:正平方根 Math.sqrt()
(3)案例:
A:猜數(shù)字小游戲
B:獲取任意范圍的隨機(jī)數(shù)
猜數(shù)字小案例
3:Random(理解)
(1)用于產(chǎn)生隨機(jī)數(shù)的類
(2)構(gòu)造方法:
A:Random() 默認(rèn)種子蚀乔,每次產(chǎn)生的隨機(jī)數(shù)不同
B:Random(long seed) 指定種子烁竭,每次種子相同,隨機(jī)數(shù)就相同
(3)成員方法:
A:int nextInt() 返回int范圍內(nèi)的隨機(jī)數(shù)
B:int nextInt(int n) 返回[0,n)范圍內(nèi)的隨機(jī)數(shù)
4:System(掌握)
(1)系統(tǒng)類,提供了一些有用的字段和方法
(2)成員方法(自己補(bǔ)齊)
A:運(yùn)行垃圾回收器
B:退出jvm
C:獲取當(dāng)前時(shí)間的毫秒值
D:數(shù)組復(fù)制
5:BigInteger(理解)
(1)針對(duì)大整數(shù)的運(yùn)算
(2)構(gòu)造方法
A:BigInteger(String s)
(3)成員方法
A:加 public BigInteger add(BigInteger val)
B:減 public BigInteger subtract(BigInteger val)
C:乘 public BigInteger multiply(BigInteger val)
D:除 public BigInteger divide(BigInteger val)
E:商和余數(shù) public BigInteger[] divideAndRemainder(BingInteger val)
6:BigDecimal(理解)
(1)浮點(diǎn)數(shù)據(jù)做運(yùn)算乙墙,會(huì)丟失精度颖变。所以生均,針對(duì)浮點(diǎn)數(shù)據(jù)的操作建議采用BigDecimal听想。(金融相關(guān)的項(xiàng)目)
(2)構(gòu)造方法
A:BigDecimal(String s)
(3)成員方法:
A:加 public BigDecimaladd(BigDecimalval)
B:減 public BigDecimalsubtract(BigDecimalval)
C:乘 public BigDecimalmultiply(BigDecimalval)
D:除 public BigDecimaldivide(BigDecimalval)
E:自己保留小數(shù)幾位
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 六五零,五五四马胧,六零七 】汉买,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)佩脊!裙內(nèi)有開(kāi)發(fā)工具蛙粘,很多干貨和技術(shù)資料分享!
7:Date/DateFormat(掌握)
(1)Date是日期類威彰,可以精確到毫秒出牧。
A:構(gòu)造方法
Date()
Date(long time)
B:成員方法
getTime()
setTime(long time)
C:日期和毫秒值的相互轉(zhuǎn)換
案例:你來(lái)到這個(gè)世界多少天了?
(2)DateFormat針對(duì)日期進(jìn)行格式化和針對(duì)字符串進(jìn)行解析的類,但是是抽象類歇盼,所以使用其子類SimpleDateFormat
A:SimpleDateFormat(String pattern) 給定模式
yyyy-MM-dd HH:mm:ss
B:日期和字符串的轉(zhuǎn)換
a:Date -- String
format()
b:String -- Date
parse()
8:Calendar(掌握)
(1)日歷類舔痕,封裝了所有的日歷字段值,通過(guò)統(tǒng)一的方法根據(jù)傳入不同的日歷字段可以獲取值豹缀。
(2)如何得到一個(gè)日歷對(duì)象呢?
Calendar rightNow = Calendar.getInstance();
本質(zhì)返回的是子類對(duì)象
(3)成員方法
A:根據(jù)日歷字段得到對(duì)應(yīng)的值
B:根據(jù)日歷字段和一個(gè)正負(fù)數(shù)確定是添加還是減去對(duì)應(yīng)日歷字段的值
C:設(shè)置日歷對(duì)象的年月日
(4)案例:
計(jì)算任意一年的2月份有多少天?
小編推薦一個(gè)學(xué)Java的學(xué)習(xí)裙【 六五零伯复,五五四,六零七 】邢笙,無(wú)論你是大牛還是小白啸如,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具氮惯,很多干貨和技術(shù)資料分享叮雳!
常用類總結(jié):
Object:是類層次結(jié)構(gòu)的根類想暗,所有類都直接或者間接的繼承自該類。
Scanner:獲取鍵盤(pán)錄入數(shù)據(jù)的
String:針對(duì)字符串的常見(jiàn)操作的
StringBuffer/StringBuilder:字符串緩沖區(qū)類帘不,提高字符串的操作效率
Arrays:針對(duì)數(shù)組進(jìn)行操作的工具類
Integer:把int類型封裝成Integer類型江滨,可以調(diào)用方法了,最主要是可以把String轉(zhuǎn)換int類型了
Character:把char類型封裝成Character類型厌均,可以調(diào)用方法了唬滑。了解幾個(gè)方法就可以了。
Pattern:正則表達(dá)式的編譯表示形式棺弊。模式對(duì)象晶密。
Matcher:匹配器對(duì)象。
Math:針對(duì)數(shù)學(xué)運(yùn)算操作的類
Random:產(chǎn)生隨機(jī)數(shù)的類
System:系統(tǒng)類模她,提供了幾個(gè)有用方法
BigInteger:大整數(shù)的運(yùn)算
BigDecimal:浮點(diǎn)數(shù)的運(yùn)算用這個(gè)稻艰,不會(huì)有精度的丟失
Date:針對(duì)日期操作的類,可以精確到毫秒
DateFormat:針對(duì)日期進(jìn)行格式化或者針對(duì)字符串進(jìn)行解析
Calendar:日歷類侈净,把所有的日歷字段進(jìn)行了封裝尊勿,要什么,自己獲取畜侦,然后拼接元扔。