日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java初阶知识总结

發(fā)布時(shí)間:2024/4/30 java 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java初阶知识总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、語(yǔ)法部分

  • java技術(shù)結(jié)構(gòu)
  • J2SE : 表示JAVA標(biāo)準(zhǔn)版
  • J2EE : java企業(yè)版
  • J2ME : 移動(dòng)版
  • java跨平臺(tái)
  • 基于JVM
  • java是跨平臺(tái)的 , JVM不是 。
  • 入門(mén)程序
  • 每一個(gè)java類(lèi)在編譯之后都會(huì)產(chǎn)生一個(gè)class文件
  • class文件明 與 類(lèi)名對(duì)應(yīng)
  • javac -d 文件存放路徑 要編譯的java文件
  • java -cp class文件的存放目錄 要運(yùn)行的類(lèi)名
  • 一個(gè)java文件中可以有多個(gè)類(lèi) , 但是只能有一個(gè)公共類(lèi)
  • 關(guān)鍵字
  • java中有特殊含義的單詞 。 53個(gè) goto 、 const — 保留字
  • 所有關(guān)鍵字都是小寫(xiě)的
  • 標(biāo)識(shí)符
  • 由數(shù)字、字母、_ 、數(shù)開(kāi)
  • 不能使用關(guān)鍵字
  • 駝峰命名法:
  • 類(lèi)名、接口名 : 首字母大小寫(xiě)
  • 變量名、方法名 : 排第一個(gè)首字母小寫(xiě)、 其余單詞的首字母大小寫(xiě)
  • 包名: 所有單詞全部小寫(xiě) , 之間用”.”隔開(kāi)
  • 常量名 : 所有單詞用大寫(xiě) , 之間用”_”隔開(kāi)
  • 注釋
  • 單行注釋 : //
  • 多張注釋 : /**/
  • 文檔注釋 : /*/ 文檔注釋中的文字可以提取出來(lái)形成文檔 。 javadoc -d 存放目錄 要提取的文件 注: 只能提取公共類(lèi) 。
  • 注釋的作用:
  • 解釋說(shuō)明程序
  • 排錯(cuò)
  • 常量
  • 計(jì)算機(jī)中不可改變的量
  • 分類(lèi): 整數(shù) 、 小數(shù) 、 字符、 字符串 、 布爾 、 空常量
  • 進(jìn)制
  • 一種計(jì)數(shù)方式
  • 二進(jìn)制 : 0~1 以0b開(kāi)頭 — 從JDK1.7開(kāi)始
  • 八進(jìn)制 : 0~7 以0開(kāi)頭
  • 十進(jìn)制 : 0~9 程序默認(rèn)十進(jìn)制
  • 十六進(jìn)制 : 0~f 以0X開(kāi)頭
  • 掌握進(jìn)制之間的轉(zhuǎn)換
  • 變量
  • 存儲(chǔ)數(shù)據(jù)的容器 — 需要指明數(shù)據(jù)類(lèi)型
  • 必須先定義 后使用 先賦值 , 后使用
  • 在哪定義在哪使用 。
  • 數(shù)據(jù)類(lèi)型及其轉(zhuǎn)換
  • 基本數(shù)據(jù)類(lèi)型
  • byte : 占一個(gè)字節(jié) -128 ~ 127
  • short : 占兩個(gè)字節(jié) -32768 ~ 32767
  • int : 占四個(gè)字節(jié)
  • long : 占8個(gè)字節(jié)
  • float : 占四個(gè)字節(jié) 但表示的范圍比long還要大
  • double : 8個(gè)字節(jié)
  • char : 占兩個(gè)字節(jié) 0~65535
  • boolean : true\false
  • 引用數(shù)據(jù)類(lèi)型 – 類(lèi) 、 接口 、 數(shù)組
  • 在java中整數(shù)默認(rèn)int 小數(shù)默認(rèn)double
  • 如果一個(gè)正式超過(guò)了int的取值范圍 , 需要加上L 表示long類(lèi)型的數(shù)據(jù)
  • float類(lèi)型的數(shù)據(jù)結(jié)尾加f
  • 注意科學(xué)計(jì)數(shù)法 : double d = 5e5 ; 科學(xué)計(jì)算法都是用double類(lèi)型表示的 。
  • 數(shù)據(jù)類(lèi)型的轉(zhuǎn)換 :
  • 隱式轉(zhuǎn)換 : 整轉(zhuǎn)小 , 小轉(zhuǎn)大
  • 顯示轉(zhuǎn)換 : 大轉(zhuǎn)小 小數(shù)轉(zhuǎn)整數(shù)
  • short char : 轉(zhuǎn)換 注意
  • 運(yùn)算符
  • 算術(shù)運(yùn)算符
  • 整數(shù)運(yùn)算完成之后結(jié)果是整數(shù) 。
  • byte\short 參與運(yùn)算的時(shí)候, 自動(dòng)提升為int
  • 整數(shù)/0 : ArithmeticException
  • 小數(shù)/0 : 結(jié)果為正無(wú)窮或負(fù)無(wú)窮 。 infinite
  • 0|0.0/0.0 0.0/0|0.0: NaN
  • % : 結(jié)果的符號(hào)考表達(dá)式左邊數(shù)字的符號(hào) 。 可以對(duì)小數(shù)進(jìn)行取余
  • ++/– : 注意運(yùn)算順序 。 byte\short可以參與自增\自減運(yùn)算 結(jié)果依然是原來(lái)的類(lèi)型 。
  • 賦值運(yùn)算符
  • = += 、 -+ 、 *= 、 /= 、 。。。
  • 除了 = , 其他的符號(hào)要求先有值才能使用 。
  • 可以用于byte\short
  • 比較
  • == 、 != 、<、> 、<=、>=
  • 運(yùn)算結(jié)構(gòu) 是一個(gè)boolean值
  • 邏輯
  • & | ! ^ || &&
  • ^ : 相同為假, 不同為真
  • && 與|| 的短路特性

  • & | ^ << >> <<< >>> ~
  • 操作的是整數(shù) , 而且是整數(shù)的補(bǔ)碼 。
  • 可以利用&運(yùn)算判斷是否是奇偶數(shù) 。
  • &運(yùn)算 1 3 7 15 31 注意
  • 交換兩個(gè)數(shù)的值 a^a = 0 ;
  • << : 最低位補(bǔ)0
  • >> : 正數(shù)補(bǔ)0 , 負(fù)數(shù)補(bǔ) 1
  • 三元
  • 在運(yùn)算完成之后 , 必須有一個(gè)結(jié)果 , 運(yùn)算的結(jié)果前后要相容 。
  • 優(yōu)先級(jí): () 、 ! 、~ 、++– 、 算數(shù)運(yùn)算符(* \ % + -) 、 比較運(yùn)算符 、 邏輯運(yùn)算符( | &)、位運(yùn)算( << >> <<< & | ^) 、三元運(yùn)算 、 賦值運(yùn)算符。
  • 流程控制
  • 數(shù)組
  • 本質(zhì)上是存儲(chǔ)一組數(shù)據(jù)的容器 。 要求數(shù)據(jù)類(lèi)型要一致 , 且數(shù)組大小是固定的 。
  • 數(shù)組的內(nèi)存 : 數(shù)組存儲(chǔ)在堆內(nèi)存中 。 在堆內(nèi)存中會(huì)自動(dòng)賦予默認(rèn)值 。
  • 數(shù)組的應(yīng)用 :
  • 數(shù)組的排序 : 冒泡 、 選擇
  • 數(shù)組元素的查找 : 循環(huán)遍歷、 折半查找(要求數(shù)組有序 , 時(shí)間復(fù)雜度O(log2n))
  • 數(shù)組的反轉(zhuǎn) : 頭尾交換
  • 數(shù)組的擴(kuò)容 : 本質(zhì)上是數(shù)組的復(fù)制 — 實(shí)際上是產(chǎn)生了一個(gè)新的數(shù)組 。
  • 二維數(shù)組 :
  • 存儲(chǔ)的元素是數(shù)組 。
  • 定義格式
  • 二維數(shù)組的應(yīng)用
  • 遍歷
  • 方法
  • 為了實(shí)現(xiàn)某段代碼的復(fù)用 , 將這段代碼進(jìn)行了封裝 。 —- 方法
  • 方法在定義好之后 , 必須明確返回值類(lèi)型 。 如果一個(gè)方法有明確的返回值類(lèi)型 , 則必須確保這個(gè)方法有返回值 。
  • 方法的重載 : 發(fā)生在一個(gè)類(lèi)中 , 方法名一致 , 參數(shù)列表不同 。 和修飾符 、 返回值類(lèi)型 、 異常等沒(méi)有關(guān)系 。 本身是一種編譯時(shí)多態(tài) 。
  • 方法的重寫(xiě) : 發(fā)生在父子類(lèi)中 , 存在了方法簽名完全一致的非靜態(tài)方法 , 則發(fā)生了重寫(xiě) 。 要遵循兩等兩小一大原則 。
  • 方法的遞歸: 是方法調(diào)用自己本身 。 — 本質(zhì)上調(diào)用方法 。 如果遞歸層數(shù)太深, 會(huì)出現(xiàn)棧溢出StackOverFlowError 。 — 方法在棧中執(zhí)行 。
  • 方法的優(yōu)勢(shì):
  • 提高代碼的復(fù)用性
  • 使代碼結(jié)構(gòu)清晰
  • 便于模塊化開(kāi)發(fā)
  • 三、Api

  • Object
  • java中頂級(jí)父類(lèi) — java中所有類(lèi)都默認(rèn)直接 或間接的繼承了Object 。
  • 掌握Object中的重點(diǎn)方法
  • getClass() : 獲取對(duì)象的實(shí)際類(lèi)型
  • equals(): 默認(rèn)比較的是對(duì)象的地址 , 要求手寫(xiě)
  • hashCode() : 獲取32位二進(jìn)制的哈希碼 哈希碼可以認(rèn)為是唯一的
  • toString() : 默認(rèn)返回對(duì)象的地址
  • String
  • 字符串是一個(gè)常量 , 可以被共享
  • 注意不同的方式創(chuàng)建字符串對(duì)象的個(gè)數(shù)
  • 如果需要拼接多個(gè)字符串的時(shí)候 , 建議使用StringBuilder .如果拼接較少的字符串的時(shí)候 , 可以使用+
  • StringBuilder 本身是一個(gè)線程不安全的類(lèi) , 而 StringBuffer是一個(gè)線程安全的類(lèi)
  • String是一個(gè)最終類(lèi) 。
  • Pattern
  • 一個(gè)代表正則的類(lèi)
  • 正則表達(dá)式就是用于指定規(guī)則的一系列形式 。
  • 每個(gè)字符在匹配的時(shí)候 , 只能跟一個(gè)數(shù)量詞 。
  • 包裝類(lèi)
  • 每種基本類(lèi)型都有對(duì)應(yīng)的包裝類(lèi) 。 int – Integer char – Character
  • 自動(dòng)封箱 : 將基本類(lèi)型直接賦值給對(duì)應(yīng)引用類(lèi)型 調(diào)用了valusOf()
  • 自動(dòng)拆箱 : 將引用類(lèi)型直接賦值給對(duì)飲的基本類(lèi)型 JDK1.5特性 實(shí)際上是調(diào)用了 ***value()
  • 如果在-128~127之間 則判斷的是實(shí)際值 , 否則判斷的是地址 。
  • 數(shù)學(xué)類(lèi)
  • Math類(lèi) ,最終類(lèi) 構(gòu)造函數(shù)被私有化 提供好了一系列基本類(lèi)型的初等運(yùn)算 。
  • BigDecimal : 可以精確運(yùn)算的一個(gè)類(lèi) 。 — 在使用的時(shí)候需要將參數(shù)一字符串的形式傳遞 。
  • 日期類(lèi)
  • Date|Calendar — 掌握字符串與日期格式的轉(zhuǎn)換 。
  • 異常
  • 頂級(jí)父類(lèi) Throwable
  • Error : 合理的應(yīng)用程序出現(xiàn)的例外 — 無(wú)法處理
  • Execption : 合理的應(yīng)用視圖捕獲的問(wèn)題 。
  • 編譯時(shí)異常(已檢查異常) : 編譯時(shí)期就已經(jīng)出現(xiàn) , 要求必須處理
  • 運(yùn)行時(shí)異常(未檢查異常) : 在編譯時(shí)期不出現(xiàn), 運(yùn)行時(shí)出現(xiàn) , 出現(xiàn)之后可以處理也可以不處理 。 所有運(yùn)行時(shí)異常的父類(lèi)RuntimeException
  • 異常的捕獲方式:
  • 多個(gè)catch 分別捕獲 , 分別處理
  • 捕獲一個(gè)父類(lèi)異常 統(tǒng)一處理
  • 將多個(gè)異常用 | 隔開(kāi) 分組處理
  • try{} catch(){} finally{}
  • 集合
  • 頂級(jí)接口 collection : list set queue
  • list :
  • 列表 元素有序 , 可重復(fù)
  • ArrayList : 初始容量為10 每次擴(kuò)容一半 , 是一個(gè)線程不安全的集合 , 便于查詢, 不便于增刪
  • LinkedList : 基于鏈表 , 內(nèi)存空間不連續(xù) 是一個(gè)線程不安全的集合
  • Vector : 基于數(shù)組 。 內(nèi)存空間連續(xù) 默認(rèn)初始容量為10 每次擴(kuò)容一倍 線程安全
  • Stack : 先進(jìn)后出 繼承了Vector
  • Set : 散列 集合 , 元素 無(wú)序不可重復(fù)
  • HashSet : 默認(rèn)初始容量 16 加載因子0.75 每次擴(kuò)容一倍 , 線程不安全
  • Queuue 隊(duì)列 先進(jìn)先出
  • 泛型
  • 參數(shù)化類(lèi)型 JDK1.5
  • 泛型 的擦除 — 編譯期
  • 看懂泛型的繼承
  • 四、內(nèi)存

  • 棧內(nèi)存 :
  • 作用 : 執(zhí)行代碼塊 存儲(chǔ)局部變量 — 執(zhí)行代碼塊 。 — 計(jì)算
  • 堆內(nèi)存 : 存儲(chǔ)對(duì)象 , 對(duì)象在用完之后被GC回收
  • 新生代
  • 伊甸園區(qū)
  • 幸存區(qū)
  • 老生代
  • 方法區(qū) :
  • 靜態(tài)常量池 : 存儲(chǔ)類(lèi)的成員屬性和成員方法
  • 靜態(tài)區(qū) : 存儲(chǔ)的是靜態(tài)屬性和靜態(tài)方法 , 靜態(tài)屬性存在靜態(tài)區(qū)中后會(huì)自動(dòng)賦予默認(rèn)值
  • 運(yùn)行時(shí)常量池 : 存儲(chǔ)的是計(jì)算機(jī)常量 , 以及final修飾的常量的副本 。
  • 方法區(qū)存儲(chǔ)類(lèi)的信息 。 一旦存入就不再移除 。 一旦滿了再存放元素時(shí)就會(huì)報(bào)錯(cuò)OutMemoryError
  • 本地方法棧 : 存儲(chǔ)本地方法
  • 寄存器 : 負(fù)責(zé)程序的計(jì)數(shù) 和任務(wù)的調(diào)度
  • 總結(jié)

    以上是生活随笔為你收集整理的Java初阶知识总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。