買這商品的人也買了...
-
$460$359 -
$320$250 -
$403TensorFlow技術解析與實戰
-
$403$379 -
$294$279 -
$607Effective Java, 3/e (簡體中文版)
-
$680$530 -
$499$394 -
$403Java 游戲服務器架構實戰
-
$980$774 -
$653物聯網 + BIM:構建數字孿生的未來
-
$620$484 -
$1,000$790 -
$650$507 -
$658$619 -
$620$527 -
$650$507 -
$780$608 -
$1,080$853 -
$600$468 -
$600$468 -
$600$450 -
$454玩轉 Java -- 手把手教你編寫 300個精彩案例
-
$509$479 -
$539$512
相關主題
商品描述
本書基於Java的長期支持版本(Java?11)系統地講解Java的核心語法,內容全面,深入淺出,貫穿了大量實例。
本書詳細講解了Java及面向對象編程基礎、圖形用戶界面的編程方法、基礎類和工具類的使用方法、泛型與集合框架、
Java?I/O技術、JDBC編程技術、多線程機制、網絡編程技術等實用內容。
本書強調理論與應用相結合,自*2章開始,每章的*後一節均為編程實訓,應用該章涉及的內容完成相應的實訓案例。
*2~3章逐步完成氣泡案例,第4~13章逐步完成飛機大戰案例。
本書適合計算機相關專業的本科生、專科生,以及計算機初學者閱讀,
既可以作為應用型本科院校和高等職業院校Java基礎課程的教材,又可以作為相關領域從業者的學習和參考用書。
目錄大綱
目錄
第1 章Java 語言概述1
1.1 Java 的發展歷程1
1.2 Java 的特點2
1.3 Java 技術三大平台4
1.3.1 Java SE 5
1.3.2 Java EE 5
1.3.3 Java ME 5
1.4 Java 虛擬機5
1.5 Java 開發環境的構建6
1.5.1 選擇合適的JDK 版本6
1.5.2 下載和安裝JDK 7
1.5.3 IntelliJ IDEA 開發工具12
1.6 *一個Java 程序14
1.6.1 使用文本編輯工具實現15
1.6.2 使用IntelliJ IDEA 實現16
本章小結19
習題19
第2 章Java 語言基礎22
2.1 標識符、關鍵字和保留字22
2.1.1 標識符22
2.1.2 關鍵字和保留字23
2.2 變量24
2.3 基本數據類型26
2.3.1 數據類型的分類26
2.3.2 整數類型27
2.3.3 浮點類型28
2.3.4 字符類型29
2.3.5 布爾類型30
2.3.6 數據類型轉換31
2.3.7 字符串類型33
2.4 運算符與表達式33
2.4.1 算術運算符與算術表達式34
2.4.2 關係運算符與關係表達式36
2.4.3 邏輯運算符與邏輯表達式36
2.4.4 賦值運算符與賦值表達式38
2.4.5 條件運算符與條件表達式39
2.4.6 運算符的結合性和優先級40
2.5 流程控制語句41
2.5.1 順序結構41
2.5.2 分支結構41
2.5.3 循環結構46
2.5.4 中斷和跳轉49
2.6 數組51
2.6.1 一維數組52
2.6.2 二維數組56
2.7 編程實訓——氣泡案例(隨機控制氣泡) 58
本章小結64
習題64
第3 章面向對象編程基礎68
3.1 面向對象編程的思想68
3.1.1 面向對像簡介69
3.1.2 面向對象的特徵69
3.1.3 類與對象的關係70
3.2 類70
3.2.1 定義類的語法格式70
3.2.2 成員變量71
3.2.3 成員方法72
3.3 對象74
3.3.1 創建對象74
3.3.2 使用對象75
3.4 引用類型與垃圾回收76
3.4.1 引用類型與引用類型變量76
3.4.2 垃圾回收77
3.5 方法的重載77
3.6 構造方法78
3.6.1 使用構造方法78
3.6.2 有參構造方法79
3.6.3 默認構造器與構造器重載80
3.6.4 關鍵字this 80
3.7 實例成員與類成員83
3.7.1 實例變量和類變量83
3.7.2 實例方法和類方法84
3.8 方法的參數傳遞機制85
3.8.1 基本數據類型參數的傳值85
3.8.2 引用類型參數的傳值86
3.8.3 可變參數87
3.9 包88
3.9.1 包的定義89
3.9.2 包的引入89
3.9.3 常用的包90
3.10 封裝和訪問控制91
3.11 編程實訓——氣泡案例(氣泡吞噬) 94
本章小結102
習題103
第4 章Java GUI 編程技術107
4.1 AWT 和Swing 簡介107
4.1.1 AWT 概述108
4.1.2 Swing 概述108
4.1.3 Swing 組件的層次結構108
4.1.4 Swing 編程的流程109
4.2 Swing 常用的容器類組件110
4.2.1 JFrame 類110
4.2.2 JDialog 類112
4.2.3 JPanel 類和JScrollPane 類113
4.3 Swing 常用的基本組件116
4.3.1 標籤組件117
4.3.2 按鈕組件118
4.3.3 文本組件122
4.3.4 下拉框組件126
4.3.5 列錶框組件127
4.3.6 菜單組件128
4.3.7 表格組件130
4.3.8 樹組件131
4.4 佈局管理器132
4.4.1 FlowLayout 132
4.4.2 BorderLayout 133
4.4.3 GridLayout 135
4.4.4 GridBagLayout 136
4.4.5 CardLayout 137
4.4.6 BoxLayout 137
4.4.7 空佈局138
4.5 事件處理138
4.5.1 事件處理機制138
4.5.2 Swing 常用事件處理140
4.5.3 事件適配器154
4.5.4 事件監聽器的實現方式156
4.6 編程實訓——飛機大戰案例(實現遊戲背景連續播放) 159
本章小結166
習題166
第5 章繼承與多態170
5.1 類的繼承170
5.1.1 子類與父類171
5.1.2 子類的繼承性172
5.1.3 子類與對象173
5.2 成員變量的隱藏和方法重寫174
5.3 關鍵字super 176
5.4 關鍵字final 180
5.5 多態183
5.6 對象的向上類型轉換184
5.7 虛擬方法調用187
5.8 抽象方法和抽像類187
5.8.1 抽象方法187
5.8.2 抽像類188
5.8.3 面向抽象編程189
5.9 編程實訓——飛機大戰案例(實現英雄機移動) 190
本章小結196
習題196
第6 章異常機制198
6.1 Java 的異常機制198
6.2 Java 的異常的分類199
6.3 異常的常用方法200
6.4 Java 的異常的處理202
6.4.1 產生異常的原因202
6.4.2 捕獲並處理異常203
6.4.3 聲明和拋出異常205
6.5 自定義異常207
6.6 斷言209
6.6.1 Java 斷言的語法210
6.6.2 在IDEA 中開啟斷言211
6.6.3 不適合使用斷言的場景213
6.7 編程實訓——飛機大戰案例(添加子彈,處理遊戲Bug) 213
本章小結220
習題221
第7 章接口與實現223
7.1 接口223
7.2 實現接口224
7.3 接口回調226
7.4 接口與多態227
7.5 類與接口228
7.5.1 抽像類與接口228
7.5.2 內部類230
7.5.3 匿名類與接口231
7.6 函數接口與Lambda 表達式232
7.7 面向接口編程234
7.8 編程實訓——飛機大戰案例(實現子彈消滅敵機) 234
本章小結246
習題246
第8 章基礎類和工具類248
8.1 基礎類248
8.1.1 Object 類249
8.1.2 包裝類253
8.1.3 String 類257
8.2 工具類266
8.2.1 數學類266
8.2.2 Random 類和SecureRandom 類268
8.2.3 日期時間類271
8.3 編程實訓——飛機大戰案例(隨機出現敵機, 英雄機死亡) 278
本章小結284
習題285
第9 章泛型與集合框架287
9.1 泛型概述287
9.1.1 泛型的定義287
9.1.2 泛型類的定義288
9.1.3 泛型接口的定義291
9.1.4 泛型方法的定義291
9.2 集合概述292
9.2.1 集合框架的層次結構292
9.2.2 迭代器接口294
9.3 List 集合295
9.3.1 List 接口295
9.3.2 ArrayList 集合295
9.3.3 LinkedList 集合297
9.4 Set 集合300
9.4.1 Set 接口300
9.4.2 HashSet 類300
9.4.3 TreeSet 類304
9.5 Map 集合307
9.5.1 Map 接口307
9.5.2 HashMap 類308
9.5.3 TreeMap 類311
9.6 遍歷集合的方法313
9.7 集合轉換314
9.8 集合工具類316
9.8.1 Collections 工具類316
9.8.2 Arrays 工具類318
9.9 開發過程中如何選擇集合實現類320
9.10 編程實訓——飛機大戰案例(添加獎勵機,顯示戰績) 320
本章小結328
習題328
第10 章Java I/O 技術332
10.1 文件操作類:File 類332
10.1.1 File 類常用的方法332
10.1.2 遍歷目錄下的文件336
10.1.3 刪除文件及目錄337
10.1.4 運行可執行文件339
10.2 輸入/輸出流概述340
10.2.1 輸入/輸出流的原理340
10.2.2 輸入/輸出流的分類341
10.3 字節流344
10.3.1 InputStream 抽像類344
10.3.2 OutputStream 抽像類345
10.3.3 FileInputStream 類和FileOutputStream 類345
10.3.4 BufferedInputStream 類和BufferedOutputStream 類348
10.3.5 DataInputStream 類和DataOutputStream 類351
10.3.6 對象流和序列化353
10.4 字符流355
10.4.1 Reader 類和Writer 類355
10.4.2 InputStreamReader 類和OutputStreamWriter 類356
10.4.3 FileReader 類和FileWriter 類358
10.4.4 BufferedReader 類和BufferedWriter 類359
10.5 RandomAccessFile 類361
10.6 PrintStream 類和PrintWriter 類363
10.7 數組流365
10.8 文件鎖367
10.9 編程實訓——飛機大戰案例(顯示*高得分) 369
本章小結374
習題374
第11 章JDBC 編程技術378
11.1 數據庫和數據庫管理工具378
11.1.1 數據庫的基礎知識378
11.1.2 數據庫管理工具379
11.1.3 SQL 語句的基礎知識380
11.2 JDBC 編程規範383
11.2.1 JDBC 概述384
11.2.2 JDBC 的編程步驟384
11.2.3 JDBC 常用API 393
11.3 預編譯機制397
11.3.1 預編譯語句概述397
11.3.2 預編譯語句的使用398
11.3.3 SQL 注入的原理與預防404
11.4 編程實訓——飛機大戰案例(遊戲數據存入數據庫中) 405
本章小結411
習題412
第12 章Java 多線程機制413
12.1 線程的定義413
12.1.1 進程413
12.1.2 線程414
12.2 線程的創建415
12.2.1 Java 主線程415
12.2.2 創建線程——繼承Thread 類416
12.2.3 創建線程——實現Runnable 接口418
12.2.4 創建線程——Callable接口和Future 接口420
12.2.5 創建線程的3 種方式的對比421
12.3 線程的狀態控制422
12.3.1 線程的生命週期422
12.3.2 線程的狀態轉換423
12.3.3 線程的操作423
12.3.4 線程的優先級429
12.3.5 後台線程430
12.4 線程的同步和互斥433
12.4.1 線程安全433
12.4.2 線程互斥435
12.4.3 線程同步438
12.4.4 線程通信440
12.4.5 線程死鎖447
12.5 並發工具包451
12.5.1 並發工具包概述451
12.5.2 並發工具包常用的工具類和接口452
12.6 編程實訓——飛機大戰案例(添加遊戲音樂) 461
本章小結466
習題466
第13 章Java 網絡編程技術468
13.1 計算機網絡的基礎知識468
13.1.1 網絡編程基礎468
13.1.2 TCP/IP 協議472
13.1.3 UDP 協議472
13.1.4 IP 地址472
13.1.5 端口473
13.2 Java 網絡編程的地址類473
13.2.1 Web 資源和URL 473
13.2.2 URL 類474
13.2.3 InetAddress 類476
13.3 TCP Socket 編程477
13.3.1 Java 套接字477
13.3.2 Socket 類478
13.3.3 ServerSocket 類480
13.3.4 多線程Java Socket編程481
13.4 UDP Socket 編程484
13.4.1 DatagramSocket API 484
13.4.2 DatagramPacket 類485
13.5 編程實訓——飛機大戰案例(設置服務器端及客戶端) 487
本章小結493
習題493