《Java程式設計師教程(第二版)》是2012年7月電子工業出版社出版的圖書,作者是張君施。
基本介紹
- 書名:Java程式設計師教程(第二版)
- 作者:張君施
- 出版社:電子工業出版社
- 出版時間:2012年7月
- 頁數:820 頁
- 定價:98 元
- 開本:16 開
- ISBN:9787121166815
內容簡介,圖書目錄,
內容簡介
本書是一本關於Java開發和Java平台的實用指南。全書以全面測試的程式、語法陰影、代碼高亮淋牛台、逐行描述,以及程式輸出為背景講解了每一個概念。書中包含200多個完整的Java程式,18 000多行經過驗證的代碼,以及數百個編程提示,幫助讀者建辨勸謎立強壯的程式。除了基本概念之外,書中還講解妹凶了GUI、圖形、異常處理、泛型、集合、JDBC、JSF、資料庫以及Web服務等。其中的OOD/UML 2 ATM案例分析給出了完笑艱槓整的Java代碼。
圖書目錄
目 錄
第1章 基本介紹 1
1.1 簡介 1
1.2 對象技術鴉承幾介紹 2
1.3 開源軟體 4
1.4 Java和典型的Java開發環境 5
1.5 測試驅動的Java程式 8
1.6 Web 2.0:走向社會 11
1.7 軟體技術 13
1.8 跟蹤最新的信息技術 14
1.9 小結 15
第2章 Java程式入門 16
2.1 簡介 16
2.2 第一個Java程式:輸出一行文本 16
2.3 修改第一個Java程式 20
2.4 用printf顯示文本 21
2.5 另一個Java程式:整數相加 22
2.6 算術運算符 25
2.7 判斷:相等運算符和關係運算符 26
2.8 小結 28
第3章 類,對象,方法和字元串簡介 29
3.1 簡介 29
3.2 聲明帶方法的類並實例化類的對象 29
3.3 聲明帶參數的方法 32
3.4 實例變數、set方法和get方法 34
3.5 基本類型與引用類型的比較 38
3.6 用構造方法初始化對象 39
3.7 浮點數與double類型 41
3.8 小結 44
第4章 控制語句(1) 45
4.1 簡介 45
4.2 控制結構 45
4.3 if單選擇語句 47
4.4 if…else雙選擇語句 48
4.5 while循環語句 50
4.6 計數器控制循環 51
4.7 標記控制循環 54
4.8 嵌套控制語句 58
4.9 複合賦值運算符 60
4.10 增量運算符和減量運算符 60
4.11 基本類型 62
4.12 小結 63
第5章 控制語句危敬贈頌(2) 64
5.1 簡介 64
5.2 計數器控制循環的實質 64
5.3 for循環語達慨堡享句 65
5.4 使用for語句的例子 68
5.5 do…while循環語句 71
5.6 switch多選擇語句 72
5.7 break和continue語句 78
5.8 邏輯運算符 80
5.9 小結 84
第6章 方法:深入探究 85
6.1 簡介 85
6.2 Java中的程式模組 86
6.3 靜態方法,靜態欄位和Math類 86
6.4 聲明多參數方法 87
6.5 關於方法聲明與使用的說明 90
6.6 實參提升與強制轉換 91
6.7 Java API包 91
6.8 案例研究:隨機數生成方法 92
6.9 案例研究:機會遊戲(引入枚舉) 96
6.10 聲明的作用域 100
6.11 方法重載 101
6.12 小結 103
第7章 數組和ArrayList 104
7.1 簡介 104
7.2 數組 105
7.3 聲明和創建數組 106
7.4 數組使用舉例 107
7.5 案例研究:洗牌與發牌模擬 113
7.6 強化for語句 116
7.7 將數組傳遞給方法 117
7.8 案例研究:GradeBook類用數組保存成績 120
7.9 多維數組 123
7.10 案例研究:使用二維數組的GradeBook類 126
7.11 變長實參表 130
7.12 使用命令行實參 131
7.13 Arrays類 132
7.14 集合和ArrayList類簡介 134
7.15 小結 136
第8章 類與對象:深入探究 137
8.1 簡介 137
8.2 Time類案例研究 138
8.3 控制對成員的訪問 141
8.4 用this引用訪問當前對象的成員 141
8.5 Time類案例研究:重載構造方法 143
8.6 默認構造方法與無實參構造方法 147
8.7 關於set方法和get方法 148
8.8 組合 148
8.9 枚舉 151
8.10 記憶體回收與finalize方法 152
8.11 靜態類成員 153
8.12 靜態導入 156
8.13 final實例變數 157
8.14 Time類案例研究:創建包 157
8.15 包訪問 161
8.16 小結 162
第9章 面向對象編程:繼承 164
9.1 簡介 164
9.2 超類與子類 165
9.3 protected成員 166
9.4 超類與子類的關係 167
9.5 子類的構造方法 182
9.6 繼承與軟體工程 183
9.7 Object類 184
9.8 小結 184
第10章 面向對象編程:多態 185
10.1 簡介 186
10.2 多態舉例 187
10.3 演示多態行為 187
10.4 抽象類和抽象方法 189
10.5 案例研究:使用多態的工資系統 191
10.6 final方法和final類 202
10.7 案例研究:創建和使用接口 202
10.8 小結 210
11.1 簡介 211
第11章 異常處理:深入探究 211
11.2 例子:除數為0不用異常處理 212
11.3 例子:處理ArithmeticException異常和InputMismatchException異常 213
11.4 何時使用異常處理 217
11.5 Java異常層次 217
11.6 finally語句塊 219
11.7 棧解退和從異常對象獲得信息 222
11.8 鏈式異常 225
11.9 聲明新的異常類型 226
11.10 前置條件和後置條件 227
11.11 斷言 227
11.12 (Java SE 7新增)多重catch:在一個catch中處理多個異常 228
11.13 (Java SE 7新增)帶資源的try語句:自動資源去配 228
11.14 小結 229
第12章 ATM案例研究(1):面向對象設計和UML 230
12.1 案例研究簡介 230
12.2 檢查需求文檔 231
12.3 確定需求文檔中的類 236
12.4 確定類屬性 241
12.5 確定對象的狀態和活動 244
12.6 確定類操作 246
12.7 確定對象之間的協作 251
12.8 小結 255
第13章 ATM案例研究(2):實現面向對象設計 259
13.1 簡介 259
13.2 開始編程ATM系統的類 260
13.3 在ATM系統中加入繼承和多態 263
13.4 ATM案例研究的實現 267
13.5 小結 284
第14章 GUI組件(1) 286
14.1 簡介 286
14.2 Java中新的Nimbus外觀 287
14.3 基於簡單GUI的輸入/輸出與JOptionPane 288
14.4 Swing組件概述 290
14.5 在視窗中顯示文本和圖像 291
14.6 文本域與帶嵌套類的事件處理介紹 295
14.7 常見的GUI事件類型與監聽器接口 299
14.8 如何進行事件處理 300
14.9 JButton 301
14.10 維護狀態的按鈕 304
14.11 JComboBox與用於事件處理的匿名內部類 308
14.12 JList 311
14.13 多選擇列表 313
14.14 滑鼠事件處理 315
14.15 適配器類 318
14.16 用於滑鼠繪製的JPanel子類 320
14.17 鍵盤事件的處理 323
14.18 布局管理器介紹 325
14.19 使用面板管理更複雜的布局 331
14.20 JTextArea 333
14.21 小結 335
第15章 圖形與Java 2D 336
15.1 簡介 336
15.2 圖形環境與圖形對象 338
15.3 顏色控制 338
15.4 字型操作 343
15.5 畫線、矩形和橢圓 347
15.6 畫弧 349
15.7 畫多邊形和折線 351
15.8 Java 2D API 353
15.9 小結 358
第16章 字元串,字元和正則表達式 359
16.1 簡介 360
16.2 字元和字元串基礎 360
16.3 String類 360
16.4 StringBuilder類 370
16.5 Character類 375
16.6 標記化String 378
16.7 正則表達式,Pattern類和Matcher類 379
16.8 小結 385
第17章 檔案,流和對象序列化 386
17.1 簡介 386
17.2 檔案和流 387
17.3 File類 388
17.4 順序訪問文本檔案 391
17.5 對象序列化 402
17.6 其他的java.io類 409
17.7 用JFileChooser打開檔案 411
17.8 小結 413
第18章 泛型集合 414
18.1 簡介 414
18.2 集合概述 415
18.3 基本類型的類型包裝器類 415
18.4 自動裝箱和自動拆箱 415
18.5 Collection接口和Collections類 416
18.6 列表 417
18.7 集合方法 423
18.8 java.util包的Stack類 431
18.9 PriorityQueue類和Queue接口 433
18.10 集合 434
18.11 映射 435
18.12 Properties類 438
18.13 同步集合 440
18.14 不可修改集合 441
18.15 抽象實現 441
18.16 小結 442
第19章 泛型類和泛型方法 443
19.1 簡介 443
19.2 泛型方法的由來 444
19.3 泛型方法:實現和編譯時翻譯 445
19.4 其他的編譯時翻譯問題:將類型參數用作返回類型的方法 447
19.5 重載泛型方法 450
19.6 泛型類 450
19.7 原始類型 456
19.8 接收類型參數的方法中的通配符 459
19.9 關於泛型與繼承的說明 462
19.10 小結 462
第20章 applet與Java Web Start 463
20.1 簡介 463
20.2 JDK提供的applet樣本 464
20.3 簡單的Java applet:繪製一個字元串 467
20.4 applet的幾個生命周期方法 470
20.5 用init方法初始化 471
20.6 沙箱安全模型 472
20.7 Java Web Start與JNLP 473
20.8 小結 477
第21章 多媒體:applet與程式 478
21.1 簡介 478
21.2 載入,顯示和縮放圖像 479
21.3 用圖像序列產生動畫 483
21.4 映射圖 488
21.5 載入並播放音頻片段 490
21.6 用Java媒體框架播放視頻和其他媒體 493
21.7 小結 496
21.8 Web資源 496
第22章 GUI組件(2) 497
22.1 簡介 497
22.2 JSlider 498
22.3 關於視窗的更多說明 500
22.4 在框架中使用選單 501
22.5 JPopupMenu 507
22.6 可插入外觀 509
22.7 JDesktopPane和JInternalFrame 512
22.8 JTabbedPane 514
22.9 布局管理器:BoxLayout和GridBagLayout 516
22.10 小結 525
第23章 多執行緒編程 526
23.1 簡介 526
23.2 執行緒狀態:執行緒的生命周期 528
18.3 執行緒優先權與執行緒調度 529
23.3 用Executor框架創建並執行執行緒 530
23.4 執行緒同步 533
23.5 沒有同步的生產者/消費者關係 539
23.6 生產者/消費者關係:ArrayBlockingQueue 544
23.7 同步的生產者/消費者關係 546
23.8 生產者/消費者關係:有界緩衝區 551
23.9 生產者/消費者關係:Lock接口和Condition接口 556
23.10 並發集合概述 561
23.11 GUI的多執行緒 562
23.12 Callable接口和Future接口 572
23.13 Java SE 7:Fork/Join框架 572
23.14 小結 573
第24章 網路編程 574
24.1 簡介 574
24.2 操作URL 575
24.3 讀取Web伺服器上的檔案 579
24.4 用流套接字建立簡單的伺服器 581
24.5 用流套接字建立簡單的客戶端 582
24.6 流套接字連線與客戶/伺服器互動 583
24.7 數據報:無連線的客戶/伺服器互動 591
24.8 使用多執行緒伺服器的客戶/伺服器一字棋遊戲 597
24.9 (線上)案例研究:DeitelMessenger 607
24.10 小結 607
第25章 用JDBC訪問資料庫 608
25.1 簡介 609
25.2 關係資料庫 609
25.3 關係資料庫概述:books資料庫 610
25.4 SQL 612
25.5 MySQL和MySQL Connector/J的安裝簡介 619
25.6 設定MySQL用戶賬戶簡介 620
25.7 在MySQL中創建books資料庫 620
25.8 用JDBC運算元據庫 621
25.9 RowSet接口 633
25.10 Java DB/Apache Derby 635
25.11 PreparedStatement 636
25.12 存儲過程 647
25.13 事務處理 647
25.14 小結 648
25.15 Web資源 648
第26章 JavaServer Faces與Web程式(1) 649
26.1 簡介 649
26.2 超文本傳輸協定(HTTP)事務 650
26.3 多層程式體系結構 653
26.4 第一個JSF Web程式 654
26.5 JSF程式的模型-視圖-控制器結構 660
26.6 常用的JSF組件 660
26.7 使用JSF標準驗證器進行驗證 663
26.8 會話跟蹤 668
26.9 小結 673
第27章 JavaServer Faces與Web程式(2) 674
27.1 簡介 674
27.2 在Web程式中訪問資料庫 674
27.3 Ajax 684
27.4 向Validation程式添加Ajax功能 685
27.5 小結 687
第28章 Web服務 688
28.1 簡介 689
28.2 Web服務基礎 690
28.3 簡單對象訪問協定(SOAP) 690
28.4 表述性狀態轉移(REST) 691
28.5 JavaScript對象標註(JSON) 691
28.6 發布和消費基於SOAP的Web服務 691
28.7 發布和使用基於REST的XML Web服務 700
28.8 發布和消費基於REST的JSON Web服務 704
28.9 在SOAP Web服務中使用會話跟蹤 707
28.10 消費資料庫驅動的SOAP Web服務 718
28.11 等式生成器:返回用戶定義類型 723
28.12 小結 730
附錄A 運算符優先權表 732
附錄B ASCII字元集 733
附錄C 關鍵字和保留字 734
附錄D 基本類型 735
附錄E 使用Java API文檔 736
附錄F 使用調試器 742
附錄G 格式化輸出 753
附錄H GroupLayout 766
附錄I Java桌面集成組件 774
附錄J UML 2:其他框圖類型 778
索引 779
5.4 使用for語句的例子 68
5.5 do…while循環語句 71
5.6 switch多選擇語句 72
5.7 break和continue語句 78
5.8 邏輯運算符 80
5.9 小結 84
第6章 方法:深入探究 85
6.1 簡介 85
6.2 Java中的程式模組 86
6.3 靜態方法,靜態欄位和Math類 86
6.4 聲明多參數方法 87
6.5 關於方法聲明與使用的說明 90
6.6 實參提升與強制轉換 91
6.7 Java API包 91
6.8 案例研究:隨機數生成方法 92
6.9 案例研究:機會遊戲(引入枚舉) 96
6.10 聲明的作用域 100
6.11 方法重載 101
6.12 小結 103
第7章 數組和ArrayList 104
7.1 簡介 104
7.2 數組 105
7.3 聲明和創建數組 106
7.4 數組使用舉例 107
7.5 案例研究:洗牌與發牌模擬 113
7.6 強化for語句 116
7.7 將數組傳遞給方法 117
7.8 案例研究:GradeBook類用數組保存成績 120
7.9 多維數組 123
7.10 案例研究:使用二維數組的GradeBook類 126
7.11 變長實參表 130
7.12 使用命令行實參 131
7.13 Arrays類 132
7.14 集合和ArrayList類簡介 134
7.15 小結 136
第8章 類與對象:深入探究 137
8.1 簡介 137
8.2 Time類案例研究 138
8.3 控制對成員的訪問 141
8.4 用this引用訪問當前對象的成員 141
8.5 Time類案例研究:重載構造方法 143
8.6 默認構造方法與無實參構造方法 147
8.7 關於set方法和get方法 148
8.8 組合 148
8.9 枚舉 151
8.10 記憶體回收與finalize方法 152
8.11 靜態類成員 153
8.12 靜態導入 156
8.13 final實例變數 157
8.14 Time類案例研究:創建包 157
8.15 包訪問 161
8.16 小結 162
第9章 面向對象編程:繼承 164
9.1 簡介 164
9.2 超類與子類 165
9.3 protected成員 166
9.4 超類與子類的關係 167
9.5 子類的構造方法 182
9.6 繼承與軟體工程 183
9.7 Object類 184
9.8 小結 184
第10章 面向對象編程:多態 185
10.1 簡介 186
10.2 多態舉例 187
10.3 演示多態行為 187
10.4 抽象類和抽象方法 189
10.5 案例研究:使用多態的工資系統 191
10.6 final方法和final類 202
10.7 案例研究:創建和使用接口 202
10.8 小結 210
11.1 簡介 211
第11章 異常處理:深入探究 211
11.2 例子:除數為0不用異常處理 212
11.3 例子:處理ArithmeticException異常和InputMismatchException異常 213
11.4 何時使用異常處理 217
11.5 Java異常層次 217
11.6 finally語句塊 219
11.7 棧解退和從異常對象獲得信息 222
11.8 鏈式異常 225
11.9 聲明新的異常類型 226
11.10 前置條件和後置條件 227
11.11 斷言 227
11.12 (Java SE 7新增)多重catch:在一個catch中處理多個異常 228
11.13 (Java SE 7新增)帶資源的try語句:自動資源去配 228
11.14 小結 229
第12章 ATM案例研究(1):面向對象設計和UML 230
12.1 案例研究簡介 230
12.2 檢查需求文檔 231
12.3 確定需求文檔中的類 236
12.4 確定類屬性 241
12.5 確定對象的狀態和活動 244
12.6 確定類操作 246
12.7 確定對象之間的協作 251
12.8 小結 255
第13章 ATM案例研究(2):實現面向對象設計 259
13.1 簡介 259
13.2 開始編程ATM系統的類 260
13.3 在ATM系統中加入繼承和多態 263
13.4 ATM案例研究的實現 267
13.5 小結 284
第14章 GUI組件(1) 286
14.1 簡介 286
14.2 Java中新的Nimbus外觀 287
14.3 基於簡單GUI的輸入/輸出與JOptionPane 288
14.4 Swing組件概述 290
14.5 在視窗中顯示文本和圖像 291
14.6 文本域與帶嵌套類的事件處理介紹 295
14.7 常見的GUI事件類型與監聽器接口 299
14.8 如何進行事件處理 300
14.9 JButton 301
14.10 維護狀態的按鈕 304
14.11 JComboBox與用於事件處理的匿名內部類 308
14.12 JList 311
14.13 多選擇列表 313
14.14 滑鼠事件處理 315
14.15 適配器類 318
14.16 用於滑鼠繪製的JPanel子類 320
14.17 鍵盤事件的處理 323
14.18 布局管理器介紹 325
14.19 使用面板管理更複雜的布局 331
14.20 JTextArea 333
14.21 小結 335
第15章 圖形與Java 2D 336
15.1 簡介 336
15.2 圖形環境與圖形對象 338
15.3 顏色控制 338
15.4 字型操作 343
15.5 畫線、矩形和橢圓 347
15.6 畫弧 349
15.7 畫多邊形和折線 351
15.8 Java 2D API 353
15.9 小結 358
第16章 字元串,字元和正則表達式 359
16.1 簡介 360
16.2 字元和字元串基礎 360
16.3 String類 360
16.4 StringBuilder類 370
16.5 Character類 375
16.6 標記化String 378
16.7 正則表達式,Pattern類和Matcher類 379
16.8 小結 385
第17章 檔案,流和對象序列化 386
17.1 簡介 386
17.2 檔案和流 387
17.3 File類 388
17.4 順序訪問文本檔案 391
17.5 對象序列化 402
17.6 其他的java.io類 409
17.7 用JFileChooser打開檔案 411
17.8 小結 413
第18章 泛型集合 414
18.1 簡介 414
18.2 集合概述 415
18.3 基本類型的類型包裝器類 415
18.4 自動裝箱和自動拆箱 415
18.5 Collection接口和Collections類 416
18.6 列表 417
18.7 集合方法 423
18.8 java.util包的Stack類 431
18.9 PriorityQueue類和Queue接口 433
18.10 集合 434
18.11 映射 435
18.12 Properties類 438
18.13 同步集合 440
18.14 不可修改集合 441
18.15 抽象實現 441
18.16 小結 442
第19章 泛型類和泛型方法 443
19.1 簡介 443
19.2 泛型方法的由來 444
19.3 泛型方法:實現和編譯時翻譯 445
19.4 其他的編譯時翻譯問題:將類型參數用作返回類型的方法 447
19.5 重載泛型方法 450
19.6 泛型類 450
19.7 原始類型 456
19.8 接收類型參數的方法中的通配符 459
19.9 關於泛型與繼承的說明 462
19.10 小結 462
第20章 applet與Java Web Start 463
20.1 簡介 463
20.2 JDK提供的applet樣本 464
20.3 簡單的Java applet:繪製一個字元串 467
20.4 applet的幾個生命周期方法 470
20.5 用init方法初始化 471
20.6 沙箱安全模型 472
20.7 Java Web Start與JNLP 473
20.8 小結 477
第21章 多媒體:applet與程式 478
21.1 簡介 478
21.2 載入,顯示和縮放圖像 479
21.3 用圖像序列產生動畫 483
21.4 映射圖 488
21.5 載入並播放音頻片段 490
21.6 用Java媒體框架播放視頻和其他媒體 493
21.7 小結 496
21.8 Web資源 496
第22章 GUI組件(2) 497
22.1 簡介 497
22.2 JSlider 498
22.3 關於視窗的更多說明 500
22.4 在框架中使用選單 501
22.5 JPopupMenu 507
22.6 可插入外觀 509
22.7 JDesktopPane和JInternalFrame 512
22.8 JTabbedPane 514
22.9 布局管理器:BoxLayout和GridBagLayout 516
22.10 小結 525
第23章 多執行緒編程 526
23.1 簡介 526
23.2 執行緒狀態:執行緒的生命周期 528
18.3 執行緒優先權與執行緒調度 529
23.3 用Executor框架創建並執行執行緒 530
23.4 執行緒同步 533
23.5 沒有同步的生產者/消費者關係 539
23.6 生產者/消費者關係:ArrayBlockingQueue 544
23.7 同步的生產者/消費者關係 546
23.8 生產者/消費者關係:有界緩衝區 551
23.9 生產者/消費者關係:Lock接口和Condition接口 556
23.10 並發集合概述 561
23.11 GUI的多執行緒 562
23.12 Callable接口和Future接口 572
23.13 Java SE 7:Fork/Join框架 572
23.14 小結 573
第24章 網路編程 574
24.1 簡介 574
24.2 操作URL 575
24.3 讀取Web伺服器上的檔案 579
24.4 用流套接字建立簡單的伺服器 581
24.5 用流套接字建立簡單的客戶端 582
24.6 流套接字連線與客戶/伺服器互動 583
24.7 數據報:無連線的客戶/伺服器互動 591
24.8 使用多執行緒伺服器的客戶/伺服器一字棋遊戲 597
24.9 (線上)案例研究:DeitelMessenger 607
24.10 小結 607
第25章 用JDBC訪問資料庫 608
25.1 簡介 609
25.2 關係資料庫 609
25.3 關係資料庫概述:books資料庫 610
25.4 SQL 612
25.5 MySQL和MySQL Connector/J的安裝簡介 619
25.6 設定MySQL用戶賬戶簡介 620
25.7 在MySQL中創建books資料庫 620
25.8 用JDBC運算元據庫 621
25.9 RowSet接口 633
25.10 Java DB/Apache Derby 635
25.11 PreparedStatement 636
25.12 存儲過程 647
25.13 事務處理 647
25.14 小結 648
25.15 Web資源 648
第26章 JavaServer Faces與Web程式(1) 649
26.1 簡介 649
26.2 超文本傳輸協定(HTTP)事務 650
26.3 多層程式體系結構 653
26.4 第一個JSF Web程式 654
26.5 JSF程式的模型-視圖-控制器結構 660
26.6 常用的JSF組件 660
26.7 使用JSF標準驗證器進行驗證 663
26.8 會話跟蹤 668
26.9 小結 673
第27章 JavaServer Faces與Web程式(2) 674
27.1 簡介 674
27.2 在Web程式中訪問資料庫 674
27.3 Ajax 684
27.4 向Validation程式添加Ajax功能 685
27.5 小結 687
第28章 Web服務 688
28.1 簡介 689
28.2 Web服務基礎 690
28.3 簡單對象訪問協定(SOAP) 690
28.4 表述性狀態轉移(REST) 691
28.5 JavaScript對象標註(JSON) 691
28.6 發布和消費基於SOAP的Web服務 691
28.7 發布和使用基於REST的XML Web服務 700
28.8 發布和消費基於REST的JSON Web服務 704
28.9 在SOAP Web服務中使用會話跟蹤 707
28.10 消費資料庫驅動的SOAP Web服務 718
28.11 等式生成器:返回用戶定義類型 723
28.12 小結 730
附錄A 運算符優先權表 732
附錄B ASCII字元集 733
附錄C 關鍵字和保留字 734
附錄D 基本類型 735
附錄E 使用Java API文檔 736
附錄F 使用調試器 742
附錄G 格式化輸出 753
附錄H GroupLayout 766
附錄I Java桌面集成組件 774
附錄J UML 2:其他框圖類型 778
索引 779