- 計算機語言概述
- Java-Java語言發(fā)展史
- 03-Java語言的特性
- 04-Java跨平臺原理
- 05-JVM-JRE-JDK三者關(guān)系
- 06-JDK安裝
- 07-環(huán)境變量配置
- 08-第一個Java程序
- 09-編寫Java程序注意事項
- 10-Java編譯過程
- 11-安裝IDEA開發(fā)工具
- 12-使用IDEA創(chuàng)建工程
- 13-IDEA設(shè)置樣式與提示
- 14-IDEA隱藏.iml文件
- 15-IDEA導(dǎo)入主題
- 16-進制概念
- 17-進制的表現(xiàn)形式
- 18-十進制轉(zhuǎn)二進制
- 19-二進制轉(zhuǎn)十進制
- 20-二進制與八進制十六進制之間的轉(zhuǎn)換
- 21-計算機數(shù)據(jù)存儲單位
- 22-原碼反碼補碼
- 23-字面量與常量
- 24-變量
- 25-變量的特點
- 26-標(biāo)識符與命名規(guī)則
- 27-關(guān)鍵字與表達式
- 28-注釋
- 29-數(shù)據(jù)類型分類
- 30-數(shù)據(jù)類型占用空間大小
- Java基礎(chǔ)語言編程31-整數(shù)與浮點數(shù)
- 32-字符類型與ASCII碼表
- 33-boolean布爾類型
- 34-數(shù)據(jù)類型轉(zhuǎn)換規(guī)則
- 35-強制類型轉(zhuǎn)換
- 36-自動類型提升
- 37-字符串相加
- 38-除號注意事項與取模操作
- Java語言編程學(xué)習(xí)39-自增與自減
- 40-自增與自減加強訓(xùn)練
- Java語言編程基礎(chǔ)學(xué)習(xí)41-賦值運算
- Java編程語言學(xué)習(xí)42-比較運算符與邏輯運算符
- Java編程語言學(xué)習(xí)43-異或操作
- Java語言編程基礎(chǔ)學(xué)習(xí)44-短路與和短路或
- 45-位運算
- 46-左移與右移運算
- 47-運算符優(yōu)先級與順序結(jié)構(gòu)
- 48-if條件語句
- 49-if-else選擇條件語句
- 50-if-else-If多選擇條件語句
- 51-switch語句與注意事項
- 52-while循環(huán)結(jié)構(gòu)與斷點調(diào)試
- 53-do-while循環(huán)
- 54-for循環(huán)
- 55-for循環(huán)小練習(xí)
- 56-死循環(huán)的寫法
- 57-break語句
- 58-continue語句
- 59-return語句
- 60-嵌套循環(huán)
- 61-水仙花數(shù)算法分析
- 62-水仙花數(shù)算法代碼實現(xiàn)
- 63-嵌套循環(huán)練習(xí)打印長方形
- 65-嵌套嵌套練習(xí)打印等邊三角形
- 64-嵌套循環(huán)練習(xí)打印直角三角形
- 66-嵌套循環(huán)練習(xí)九九乘法表
- 67-控制外層循環(huán)
- 68-什么是方法
- 69-方法注意事項
- Java語言基礎(chǔ)編程序?qū)W習(xí)70-方法參數(shù)與注意事項
- 71-方法返回值
- Java語言基礎(chǔ)編程序?qū)W習(xí)72-方法駝峰命名
- 73-方法定義練習(xí)
- 74-方法重載
- 75-數(shù)組的定義與取值
- 76-數(shù)組靜態(tài)初始化
- 77-數(shù)組動態(tài)初始化
- 78-遍歷數(shù)組
- Java編程79-如何打印數(shù)組
- 80-倒序打印數(shù)組
- 81-數(shù)組元素的交換
- 82-冒泡排序算法分析
- 83-冒泡排序-實現(xiàn)一輪數(shù)據(jù)排序
- 84-冒泡排序-實現(xiàn)所有數(shù)據(jù)排序
- 85-選擇排序算法分析
- 86-選擇排序-實現(xiàn)一輪最小元素排在最前
- 87-選擇排序-實現(xiàn)所有數(shù)據(jù)排序
- 88-二分查找算法分析
- 89-二分查找算法實現(xiàn)與源碼分析
- 90-二分查找算法源碼分析
- 91-什么是二維數(shù)組
- Java基礎(chǔ)語言核心編程92-二維數(shù)組遍歷
- 93-數(shù)組快速遍歷
- Java基礎(chǔ)語言編程開發(fā)95-變量的作用域
- 96-面向過程
- 97-什么是對象
- 98-面向過程與面向?qū)ο笏季S方式
- 99-面向?qū)ο笕筇卣?/a>
- 100-什么是類
- 101-類與對象的關(guān)系
- 102-如何定義類
- 103-使用Java代碼定義類
- 104-類的實例化
- 105-對象創(chuàng)建過程
- 106-JVM內(nèi)存劃分
- 107-虛擬機棧與方法的棧幀
- 108-引用數(shù)據(jù)類型
- 109-數(shù)組在內(nèi)存中的表現(xiàn)形式
- 110-創(chuàng)建對象過程內(nèi)存分析
- 111-引用數(shù)據(jù)類型地址
- 112-基本數(shù)據(jù)類型值傳遞
- 113-值傳遞加強練習(xí)
- 114-地址傳遞加強練習(xí)
- 115-什么是匿名對象
- 116-構(gòu)造器的作用與特點
- 117-默認(rèn)構(gòu)造器特點
- 118-自定義構(gòu)造器
- 119-自定義構(gòu)造器參數(shù)傳遞注意事項
- 120-構(gòu)造器重載
- 121-static關(guān)鍵字作用與特點
- 122-static修飾成員變量
- 123-static修飾方法
- 124-static成員內(nèi)存分析
- 125-成員變量與局部變量
- 126-變量的初始值與作用域
- 127-變量的生命期
- 128-封裝思想
- 129-什么是包
- 130.包的創(chuàng)建
- 131-import關(guān)鍵字
- 132-private關(guān)鍵字作用
- 133-protected關(guān)鍵字作用
- 134-public關(guān)鍵字
- 135-默認(rèn)訪問權(quán)限
- 136-get與set方法
- 137-this關(guān)鍵字作用
- 138-繼承思想詳細(xì)介紹
- 139-繼承extends關(guān)鍵字使用
- 140-protected在繼承狀態(tài)下訪問權(quán)限
- Java語言核心編程基礎(chǔ)141-默認(rèn)修飾符在繼承狀態(tài)的訪問權(quán)限
- Java語言核心編程基礎(chǔ)142-子類可以父類中哪些成員
- Java語言核心編程基礎(chǔ)143-繼承時方法的覆蓋
- 144-方法重載與方法重寫的區(qū)別
- 145-super關(guān)鍵字作用
- 146-super構(gòu)造器
- 147-子類初始化過程
- 148-繼承狀態(tài)下靜態(tài)方法的隱藏
- 149-繼承狀態(tài)下成員變量的隱藏
- 150-什么是UML學(xué)浪計劃
- 151-UML中類圖的表示學(xué)浪計劃
- 152-UML中類繼承關(guān)系表示學(xué)浪計劃
- 153-什么是多態(tài)學(xué)浪計劃
- 154-多態(tài)代碼演示學(xué)浪計劃
- 155-多態(tài)的作用學(xué)浪計劃
- 156-多態(tài)時方法調(diào)用注意事項學(xué)浪計劃
- 157-多態(tài)練習(xí)學(xué)浪計劃
- 158-instanceof關(guān)鍵字作用學(xué)浪計劃
- 159-局部代碼塊學(xué)浪計劃
- 160-初始化代碼塊學(xué)浪計劃
- 161-靜態(tài)代碼塊學(xué)浪計劃
- 162-類什么時候被加載學(xué)浪計劃
- 163-繼承狀態(tài)下字節(jié)碼加載順序?qū)W浪計劃
- 164-成員初始過程面試題講解學(xué)浪計劃
- 165-final關(guān)鍵字作用學(xué)浪計劃
- 166-什么是單例模式學(xué)浪計劃
- 167-單例-餓漢模式學(xué)浪計劃
- 168-單例-懶漢模式學(xué)浪計劃
- Java核心基礎(chǔ)編程169-抽象方法解決什么問題
- 170-抽象方法
- 94-可變參數(shù)
- 171-抽象類
- 172-特殊的抽象類
- 173-什么是接口
- 174-Java接口的定義與注意點
- 175-接口多繼承
- 76-接口的實現(xiàn)
- 177-接口繼承與實現(xiàn)綜合練習(xí)
- 178-接口和抽象類的區(qū)別
- 179-接口的多態(tài)
- 180-什么是內(nèi)部類學(xué)浪計劃
- 181-實例內(nèi)部類創(chuàng)建學(xué)浪計劃
- 182-實例內(nèi)部類變量的訪問
- 183-靜態(tài)內(nèi)部類創(chuàng)建
- 184-靜態(tài)內(nèi)部類注意事項
- 185-匿名內(nèi)部類
- 186-什么是枚舉學(xué)浪計劃
- 187-Java中枚舉的定義與使用
- 188-枚舉創(chuàng)建源碼分析學(xué)浪計劃
- 189-UML中接口實現(xiàn)畫法學(xué)浪計劃
- 190-工廠設(shè)計模式概述學(xué)浪計劃
- 191-簡單工廠設(shè)計模式學(xué)浪計劃
- 192-工廠方法設(shè)計模式學(xué)浪計劃
- 193-抽象工廠設(shè)計模式學(xué)浪計劃
- 194-什么是包裝類學(xué)浪計劃
- 195-裝箱操作學(xué)浪計劃
- 196-拆箱操作學(xué)浪計劃
- 197-自動裝箱與自動拆箱學(xué)浪計劃
- 198-字符串與基本數(shù)據(jù)類型和包裝類的轉(zhuǎn)換
- 199-包裝類valueOf緩存設(shè)計學(xué)浪計劃
- 200-mian方法參數(shù)介紹
- 201-Scanner類學(xué)浪計劃
- 202-arraycopy數(shù)據(jù)拷貝學(xué)浪計劃
- 203-終止JVM運行學(xué)浪計劃
- 204-垃圾回收器GC學(xué)浪計劃
- 205-Math類學(xué)浪計劃
- 206-程序中金額表示學(xué)浪計劃
- 207-String類在JDK9中的變化學(xué)浪計劃
- 209-JDK9中equals源碼分析學(xué)浪計劃
- 209210-字符串與常量池
- 211-字符串常用方法1
- 212-字符串常用方法2
- 213-字符串常用方法3
- 214-String類型拼接時效率問題
- 215-可變字符串與不可變字符串
- 216-可變字符串兩者區(qū)別
- 217-Random類
- 218-Random生成指定范圍內(nèi)的隨機數(shù)
- 219-UUID生成隨機唯一標(biāo)識符
- 220-生成5位驗證碼
- 221-獲取當(dāng)前日期時間
- 222-日期格式化
- 223-數(shù)組與集合的區(qū)別
- 224-Collection集合繼承結(jié)構(gòu)圖
- 225-Collection集合創(chuàng)建
- 226-Collection集合常用方法1
- 227-Collection集合常用方法2
- 228-Collection添加任意類型注意點
- 229-迭代器遍歷元素
- 230-迭代器源碼分析
- 231-并發(fā)修改異常
- 232-遍歷刪除2個元素集合特殊情況
- 234-ListIterator迭代器方法
- 235-ArrayList數(shù)據(jù)結(jié)構(gòu)分析
- 236-ArrayList去除集合當(dāng)中重復(fù)的元素
- 237-ArrayList去除當(dāng)中重復(fù)的元素方法抽取
- 238-ArrayList去除自定義對象元素重復(fù)元素
- 239-LinkedList數(shù)據(jù)結(jié)構(gòu)分析
- 240-LinkedList特有方法
- 241-LinkedList實現(xiàn)棧結(jié)構(gòu)存儲
- 242-List實現(xiàn)類總結(jié)
- 243-Vector特有方法
- 244-沒有泛型的問題
- 245-泛型定義
- 246-集合使用泛型的好處
- 247-泛型使用注意點及本質(zhì)
- 248-自定義泛型方法
- 249-泛型通配符
- 250-泛型通配符-泛型的上限和下限
- 251-泛型擦除
- 252-List與數(shù)組的互相轉(zhuǎn)換
- 253-集合嵌套集合
- 254-Set集合特性演示
- 255-Set自定義對象相等判斷
- 256-hashCode
- 257-HashSet去重原理分析
- 258-LinkedHashSet
- 259-生成1到20之間不重復(fù)的隨機數(shù)
- 260-去除重復(fù)字符串練習(xí)
- 261-TreeSet
- 262-TreeSet添加自定義對象
- 263-TreeSet二叉樹原理分析
- 264-TreeSet自定義對象屬性排序
- 265-TreeSet比較器
- 266-Map映射關(guān)系概述
- 267-Map添加元素
- 268-Map修改元素
- 269-Map常用方法
- 270-Map獲取元素及遍歷元素
- 271-Map通過entry對象遍歷元素
- 272-Map自定義對象做為key
- 273-LinkedHashMap
- 274-TreeMap
- 275-Map統(tǒng)計字符串中字符出現(xiàn)的次數(shù)
- 276-HashMap與HashTable區(qū)別
- 277-異常概述
- 278-JVM異常處理方式
- 279-處理多個異常
- 280-JDK7之后處理多個異常
- 281-try_catch處理異常
- 282-獲取異常信息
- 283-throw拋出異常
- 284-throw與throws的區(qū)別
- 285-finally
- 286-finally返回值問題
- 287-自定義異常
- 288-File類作用
- 289-File類創(chuàng)建
- 290-File類常用方法
- 291-相對路徑與絕對路徑
- 292-File判斷方法
- 293-File的創(chuàng)建與刪除
- 294-目錄的遍歷
- 295-什么是遞歸
- 296-遞歸練習(xí)
- 297-遞歸調(diào)用內(nèi)存分析
- 298-遞歸打印多級目錄
- 299-多級目錄樹形結(jié)構(gòu)輸出
- 300-多級目錄樹形結(jié)構(gòu)優(yōu)化顯示
- 301-什么是IO流
- 302-字節(jié)輸出流
- 303-write寫出字節(jié)信息
- 304-write追加寫出字節(jié)信息
- 305-write寫出字節(jié)數(shù)組
- 307-字節(jié)輸入流讀取文件
- 308-通過While循環(huán)讀取所有字節(jié)信息
- 309-讀取字節(jié)數(shù)組內(nèi)容
- 310-字節(jié)數(shù)組while循環(huán)讀取所有內(nèi)容
- 311-磁盤圖片復(fù)制到工程中
- 312-字符流讀取內(nèi)容
- 313-字符流寫入close與flush的區(qū)別
- 314-字符流寫入字符數(shù)組與字符串
- 315-IO流異常處理
- 316-字節(jié)緩沖流
- 317-字符緩沖流
- 318-打印流
- 319-為什么會產(chǎn)生亂碼
- 320-解決文件亂碼
- 321-序列化
- 322-并行與并發(fā)
- 323-進程與線程
- 324-什么是多線程
- 325-進程與線程的區(qū)別
- -Java中使用Thread創(chuàng)建線程
- 327-線程內(nèi)存結(jié)構(gòu)與設(shè)置名稱
- 328-線程休眠
- 330-使用Runnable接口方式創(chuàng)建線程
- 331-匿名內(nèi)部類方式創(chuàng)建線程
- 332-多線程共享數(shù)據(jù)資源搶奪
- 333-同步鎖解決資源共享問題
- 334-使用Lock方式進行加鎖
- 335-線程間通信
Java是一種廣泛使用的面向?qū)ο缶幊陶Z言,它可以應(yīng)用于各種不同領(lǐng)域的開發(fā),例如Web應(yīng)用程序、移動應(yīng)用程序和桌面應(yīng)用程序等。本教程將從零開始介紹Java的基礎(chǔ)知識,逐步深入,幫助讀者掌握J(rèn)ava編程,并提高其技能水平。
一、Java基礎(chǔ)知識
Java簡介
Java是Sun Microsystems公司于1995年推出的一種面向?qū)ο缶幊陶Z言。它是一種跨平臺語言,可以在多種操作系統(tǒng)上運行,如Windows、Linux、macOS等。同時,Java是一種安全性較高的語言,因為它具有內(nèi)置的安全機制,可以避免許多常見的安全漏洞。
Java開發(fā)環(huán)境
要開始編寫Java程序,您需要安裝Java開發(fā)工具包(JDK)。JDK包括Java編譯器、Java虛擬機(JVM)和其他實用程序。您還需要一個集成開發(fā)環(huán)境(IDE)來編寫和調(diào)試Java代碼。常見的Java IDE包括Eclipse、NetBeans和IntelliJ IDEA等。
Java編程基礎(chǔ)
在編寫Java程序之前,您需要了解Java編程的基礎(chǔ)知識。這包括變量、數(shù)據(jù)類型、運算符、條件語句、循環(huán)語句和數(shù)組等。例如,以下是Java中聲明變量的語法:
復(fù)制代碼
數(shù)據(jù)類型 變量名 = 值;
其中,數(shù)據(jù)類型可以是int、double、boolean等基本數(shù)據(jù)類型,也可以是自定義的類或接口。值可以是字面值(如10或"Hello World"),也可以是表達式(如1+2或"Hello"+" "+"World")。
Java面向?qū)ο缶幊?/p>
Java是一種面向?qū)ο缶幊陶Z言,它支持封裝、繼承和多態(tài)等面向?qū)ο缶幊谈拍睢T贘ava中,所有代碼都必須位于類中。類是一種定義對象行為的藍圖,它包括屬性和方法。例如,以下是Java中定義類的語法:
csharp
復(fù)制代碼
public class MyClass {
// 屬性
private int x;
// 方法
public void setX(int value) {
x = value;
}
public int getX() {
return x;
}
}
在上面的示例中,MyClass類具有一個名為x的私有屬性和兩個公共方法setX和getX。setX方法設(shè)置x的值,getX方法返回x的值。
二、Java進階知識
異常處理
Java中的異常是指運行時出現(xiàn)的錯誤或意外情況。當(dāng)程序出現(xiàn)異常時,Java會創(chuàng)建一個異常對象,并將其拋出到調(diào)用方。異常可以通過try-catch塊來捕獲并處理。例如,在下面的示例中,我們嘗試將字符串轉(zhuǎn)換為數(shù)字,但如果字符串無法轉(zhuǎn)換為數(shù)字,則會拋出一個NumberFormatException異常:
csharp
復(fù)制代碼
try {
int x = Integer.parseInt("abc");
} catch (NumberFormatException e) {
System.out.println("字符串無法轉(zhuǎn)換為數(shù)字");
}
IO流
Java中的IO(輸入/輸出)流是一種用于讀取和寫入數(shù)據(jù)的機制。有兩種類型的流:字節(jié)流和字符流。字節(jié)流可以處理任何類型的數(shù)據(jù),而字符流僅處理字符數(shù)據(jù)。使用IO流時,您需要創(chuàng)建一個輸入流和一個輸出流,并使用它們來讀取和寫入數(shù)據(jù)。
多線程編程
Java支持多線程編程,允許程序同時執(zhí)行多個任務(wù)。在Java中,每個線程都是一個獨立的執(zhí)行序列,可以并發(fā)地運行。要創(chuàng)建一個新線程,您需要創(chuàng)建一個Thread對象并將其作為參數(shù)傳遞給Runnable接口的實例。
