Java下筆記

一拗窃、String、Scanner、API

1. API會(huì)查詢

2. Scanner:

  • hashNext(...) 瓮增、HashNextLine
  • next(...) 、nextLine

3. String

  • 構(gòu)造方法:5個(gè)
  • 成員方法:判斷哩俭、獲取绷跑、轉(zhuǎn)換、其他

二凡资、 StringBuffer

1. StringBuffer概念砸捏、特點(diǎn)

  • 線程安全字符序列。
  • 為什么隙赁?string每次修改都要新建一個(gè)對(duì)象垦藏,浪費(fèi)控件、耗費(fèi)時(shí)間伞访。
  • 特點(diǎn):修改不會(huì)新建對(duì)象
  • 與String的區(qū)別:①長(zhǎng)度可變②如果使用前者做字符串的拼接掂骏,不會(huì)浪費(fèi)太多的資源

2. StringBuffer構(gòu)造方法:3個(gè)構(gòu)造(無(wú)參、帶容量參數(shù)厚掷、帶默認(rèn)值的參數(shù))

3. StringBuffer成員方法:

  • 添加:append(String str)弟灼、insert(int offset,String str)
  • 刪除:deleteCharAt(int index)、delete(int start,int end)
  • 替換:replace(int start,int end,String str)
  • 截让昂凇:
    subString(int startIndex)包含下標(biāo)index對(duì)應(yīng)的字符
    subString(int start,int end):左閉右開(kāi)
  • 反轉(zhuǎn):reverse()

4. StringBuffer和String的轉(zhuǎn)換

  • String轉(zhuǎn)StringBuffer:
    ①sb.append(String str)
    ②new StringBuffer(String str)
  • StringBuffer轉(zhuǎn)String
    ①new String(sb)
    ②sb.toString()

5.高級(jí)數(shù)組操作

①冒泡排序:相鄰元素比較田绑,大的后移,最后最大值到了最大索引處抡爹。
②選擇排序:第一個(gè)元素和后邊依次作比較辛馆,最小的放最小索引處。
③二分查找:目標(biāo)元素和中間值比較豁延,如果等于則查找成功昙篙,如果大于中間值則查找右邊子表,如果小于中間值則查找左邊子表诱咏。

三苔可、包裝類

  1. 什么是包裝類及作用
  2. Integer
    構(gòu)造(2個(gè)):
    成員方法(3個(gè)):toString()、parseInt()袋狞、valueOf()
  3. int和string相互轉(zhuǎn)化
    int --> String:""焚辅、int.toString()映屋、String.valueOf()
    String--> int :Integer.parse()
  4. 自動(dòng)拆箱、裝箱
  5. Character
    構(gòu)造方法(1個(gè)):
    成員方法(5個(gè)):isDigit()同蜻、isUpperCase()棚点、isLowerCase()、toLowerCase()湾蔓、toUpperCase()
  6. Math:
    ①兩個(gè)常量:E 瘫析、PI
    ②N個(gè)方法:abs()、max()默责、min()贬循、round()、random()桃序、floor()杖虾、ceil()、sqrt()媒熊、pow()
    2-5隨機(jī)數(shù):2+(int)(Math.random*(5-2+1))
  7. Random
  8. System
  9. Date:
    兩個(gè)構(gòu)造:無(wú)參-有默認(rèn)種子奇适,當(dāng)前系統(tǒng)時(shí)間毫秒值、有參(int seed)
    兩個(gè)方法:getTime()芦鳍、setTime()
  10. DateFormat
    一個(gè)構(gòu)造:Pattern-y滤愕、M、d怜校、H间影、m、s
    兩個(gè)方法:format()-格式化茄茁、parse()-解析
  11. Calender
    獲取對(duì)象:?jiǎn)卫O(shè)計(jì)模式提供對(duì)象-Calender.getInstance()
    一個(gè)方法:get(String key)
    key:Calendar.YEAR...

四魂贬、正則表達(dá)式

  1. 概念:符合某一規(guī)則字符串
  2. 規(guī)則
    ①字符:x \n \r
    ②字符類:[abc] [^abc] [0-9] [a-zA-Z]
    ③預(yù)定義字符類:. \. \d \w=[a-zA-Z_0-9]
    ④邊界匹配器:^ $ \b
    ⑤數(shù)量詞:x+ x? x* x{n} x{n,} x{n,m}
  3. 身份證、手機(jī)號(hào)裙顽、郵箱付燥、QQ、密碼愈犹、驗(yàn)證碼
    QQ:"[1-9][0-9]{4,9}"
    ID:"[1-9][0-9]{16}[0-9X]"
    密碼:"[A-Z]\w{6,12}"
    驗(yàn)證碼:"\d{4}"
    郵箱:"\w+@\w{2,6}(\.[a-z]{2,3})+"
  4. 正則功能:
    ①判斷:String.mathes()
    ②分割:String[] arr = String.Split("x");
    ③替換:replaceAll()

五键科、集合

  1. 集合由來(lái)、特點(diǎn)
  2. Collection:?jiǎn)瘟屑细涌?br> add():添加元素
    addAll():添加集合
    remove(Object o):刪除元素
    clear():清除所有元素
    removeAll(collection):刪除與指定集合相同的元素
    retainAll(Collection):刪除與指定集合不同的元素
    size():大小
    contains():包含元素漩怎、集合
    isEmpty():集合是否為空
    toArray():集合轉(zhuǎn)換為數(shù)組
  3. Iterator:集合專門迭代器勋颖,遍歷集合
    hasNext():判斷是否有下一個(gè)元素
    next():獲取下一元素
  4. List:有序的Collection
    add(index,object):插入
    set(index,object):修改
    remove(index):刪除指定下表的元素
    get(index):獲取指定下表的元素
    ListIterator:
    ConcurrentModificationException:
  5. 數(shù)據(jù)結(jié)構(gòu):儲(chǔ)存數(shù)據(jù)的方式
    ①棧:先進(jìn)后出
    ②隊(duì)列:先進(jìn)先出
    ③數(shù)組:有索引、長(zhǎng)度不可變勋锤、查詢快饭玲、增刪慢
    ④鏈表:查詢慢,增刪快
  6. ArrayList
    特點(diǎn):查詢快叁执,增刪慢茄厘,線程不安全矮冬,效率高
    特有方法(2個(gè)構(gòu)造):
    ArrayList()
    ArrayList(Collection)
    List繼承過(guò)來(lái)方法
  7. Vector
    特點(diǎn):底層是數(shù)組,查詢快次哈,增刪慢胎署,線程安全,效率低
    特有方法(3):
    addElement()
    elementAt(int index)
    elements()
  8. LinkedList:
    特點(diǎn):查詢慢窑滞,增刪快琼牧,線程不安全,效率高
    特有方法(7):
    addFirst()
    addLast()
    getLast()
    getFirst()
    removeFirst()
    removeLast()
    add(int index,Object o)
  9. 泛型
    概念:一種把類型確定工作推遲到創(chuàng)建對(duì)象或者調(diào)用方法時(shí)確定的特殊類型葛假,簡(jiǎn)稱參數(shù)化類型。
    格式:<任意大寫(xiě)字母>注意:必須是引用數(shù)據(jù)類型
    分類
    ①泛型類:public class 類名<T> {}
    ②泛型方法:public <T> void 方法名(T t){}
    ③泛型接口:public interface 接口名<T>{}
  10. TreeSet類概述和特點(diǎn)

六滋恬、Set

  1. Set概述聊训、特點(diǎn)
    無(wú)序、不重復(fù)
  2. HashSet
    特點(diǎn):無(wú)序恢氯、不重復(fù)
    去重(string和自定義對(duì)象)
    如果自定義對(duì)象:必須重寫(xiě)方法hashCode()带斑、equals()
  3. LinkedHashSet類概述和特點(diǎn)
    特點(diǎn):有序、元素不重復(fù)
  4. 靜態(tài)導(dǎo)入:
    一個(gè)類中定義幾個(gè)靜態(tài)方法勋拟,在測(cè)試類中調(diào)用不用類名調(diào)用勋磕,導(dǎo)入類名包,加*(通配符)
import static day06.FlyMath.*;
  1. 可變參數(shù):
    public void get(int... arr){}
  • 注意:把可變參數(shù)寫(xiě)在參數(shù)列表最后敢靡。
  1. 工具類
    Arrays(數(shù)組):sort()挂滓、fill()、toString()啸胧、binarySerach()赶站、asList()
    Collections(集合):sort()、reverse()纺念、swrap()贝椿、max()、min()陷谱、reverseOlder()烙博、shufle()
  2. 增強(qiáng)For
    格式:
    for(數(shù)據(jù)類型 變量:集合/數(shù)組){}
    好處:
    ①避免下標(biāo)越界
    ②簡(jiǎn)化數(shù)組或者集合遍歷

七、Map

  1. 概述與特點(diǎn)
    概念:雙列集合烟逊,存儲(chǔ)鍵值對(duì)
    特點(diǎn):鍵唯一渣窜、值可重復(fù)
  2. 成員方法(11):
    put(key,value)
    remove(key)
    isEmpty()
    size()
    get(key)
    clear()
    containsKey()
    containsValue()
    keySet()
    values()
    entrySet()
  3. Map四種遍歷
    ①ketSet():通過(guò)鍵獲取值
    ②entrySet()
    ③values():只能獲取值,無(wú)法通過(guò)值獲取鍵
  4. HashMap特點(diǎn)宪躯、使用
    特點(diǎn):保證鍵的唯一性
    使用:鍵和值可以是任意引用類型图毕,鍵唯一
  5. LinkedHashMap
  6. TreeMap
  7. HashTable

八、異常

  1. 概念:程序在運(yùn)行時(shí)發(fā)生不正常事件眷唉,打斷程序執(zhí)行流程
  2. 分類:
    ①編譯時(shí)異常
    ②運(yùn)行異常
  3. 常見(jiàn)異常
    ①ArithmeticException
    ②NullPointerException
    ③ClassCastException
    ④ArrayIndexOutOfBoundsException:數(shù)組越界
    ⑤IndexOutOfBoundsException:集合越界
    ⑥FileNotFoundException
    ⑦IOException
    ⑧SQLException
    ⑨NumFormatException
    ⑩NoSuchMethodException
  4. 處理
    ①拋給JVM予颤,不作處理囤官,僅僅拋出來(lái)
    ②try...catch...finally
    ③自定義異常

九、File

  1. 概念:文件和文件夾

  2. 構(gòu)造:
    ①File(String pathName)
    ②Fiel(File file)
    ③File(File paranet,Strinig fileName)
    ④File(String parent,String FileName)

  3. 成員方法
    ①createNewFile()
    ②delete()
    ③reNmae()
    ④mkDir()
    ⑤mdDirs()
    ⑥isFile()
    ⑦isDirectory()
    ⑧isHidden()
    ⑨canRead()
    ⑩canWrite()
    ?exist()
    ?getName()
    ?getPath()
    ?getAbsolutePath()
    ?getParent()
    ?lenth()
    ?lastModified()
    ?listRoots()
    ?list()蛤虐、list(fiilter)党饮、listFiles()、listFiles(Filter)

  4. 遞歸
    概念
    案例:階乘驳庭、斐波那契數(shù)列刑顺、遍歷文件

十、IO

  1. IO概念:設(shè)備之間傳遞數(shù)據(jù)
  2. IO基類
    InputStream饲常、outPutStream蹲堂、Reader、Writer
  3. FileOutPutStream:從內(nèi)存(程序)寫(xiě)到硬盤(pán)
    FileInPutStream:從硬盤(pán)讀取到內(nèi)存(程序)
  4. 緩存字節(jié)流
    BufferedOutputStream(outPutStream):
    BufferedInputStream(InputStream):
  5. 轉(zhuǎn)換流(字符流)
    原因:字節(jié)流操作字符不方便
    組成:字節(jié)流+編碼表
    編碼表:現(xiàn)實(shí)世界字符和對(duì)應(yīng)的數(shù)值組成的一張表
    六個(gè)流:
    ①InputStreamReader贝淤、outPutStreamWriter
    ②FileReader柒竞、FileWriter
    ③BufferedReader、BufferedWriter
  6. 序列化流:java對(duì)象—>硬盤(pán)數(shù)據(jù)播聪、網(wǎng)絡(luò)節(jié)點(diǎn)
    反序列化流:硬盤(pán)數(shù)據(jù)朽基、網(wǎng)絡(luò)節(jié)點(diǎn)—>java對(duì)象
    Android中使用:界面之間傳遞數(shù)據(jù)、緩存
  7. 文件隨機(jī)訪問(wèn)流:RandomAccessFile
    概念: 對(duì)文件隨機(jī)讀和寫(xiě)
    文件指針:獲取离陶、設(shè)置
    模式:四種("rw")

十一稼虎、多線程

  1. 幾個(gè)概念:程序、進(jìn)程招刨、線程
  2. 創(chuàng)建線程:
    方式一:自定義類繼承Thread霎俩,重寫(xiě)方法run,在run里執(zhí)行操作沉眶,調(diào)用start開(kāi)啟茸苇;
    方式二:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沦寂,隨后出現(xiàn)的幾起案子学密,更是在濱河造成了極大的恐慌,老刑警劉巖传藏,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腻暮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡毯侦,警方通過(guò)查閱死者的電腦和手機(jī)哭靖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)侈离,“玉大人试幽,你說(shuō)我怎么就攤上這事∝阅耄” “怎么了铺坞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵起宽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我济榨,道長(zhǎng)坯沪,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任擒滑,我火速辦了婚禮腐晾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丐一。我一直安慰自己藻糖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布库车。 她就那樣靜靜地躺著巨柒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凝颇。 梳的紋絲不亂的頭發(fā)上潘拱,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天疹鳄,我揣著相機(jī)與錄音拧略,去河邊找鬼。 笑死瘪弓,一個(gè)胖子當(dāng)著我的面吹牛垫蛆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腺怯,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼袱饭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了呛占?” 一聲冷哼從身側(cè)響起虑乖,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晾虑,沒(méi)想到半個(gè)月后疹味,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帜篇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年糙捺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笙隙。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洪灯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出竟痰,到底是詐尸還是另有隱情签钩,我是刑警寧澤掏呼,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站边臼,受9級(jí)特大地震影響哄尔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柠并,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一岭接、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧臼予,春花似錦鸣戴、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至缰雇,卻和暖如春入偷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背械哟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工疏之, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人暇咆。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓锋爪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親爸业。 傳聞我的和親對(duì)象是個(gè)殘疾皇子其骄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354