前言
第一章引言
1.1Java歷史
1.2Java語言的特點
1.2.1簡單性Simple
1.2.2面向對象
1.2.3分布式
1.2.4強健性
1.2.5安全性
1.2.6跨平臺
1.2.7可移植性
1.2.8解釋方式執(zhí)行
1.2.9高效率
1.2.10多線程
1.2.11動態(tài)可擴充性
1.3Java與Internet
1.3.1Internet的歷史及其主要技術
1.3.2Java與Internet
1.4對Java語言的誤解
1.4.1Java是HTML的擴充
1.4,2Java是一種很容易學會的編程語言
1.4.3Java將成為所有平臺的統(tǒng)一編程語言
1.4.4Java是解釋型的,它對于特殊平臺的重要應用太慢了
1.4.5所有的Java程序都在Web頁中運行
1.4.6Java消除了CGI編程的需要
1.4.7使用Java用戶可以用NC來代替現(xiàn)在的PC
1.5小結
第二章Java編程環(huán)境
2.1JDK
2.2JavaWorkshop
2.3Symantec公司的Cafe
2.4IBMVisualAgeforJava
2.4.1快速地開發(fā)應用程序
2.4.2快速的編譯器
2.4.3創(chuàng)建企業(yè)級Java應用方案
2.4.4高性能的代碼.文檔管理系統(tǒng)
2.5VisualJ++
2.5.1VisualJ++提供的基本功能
2.5.2VisualJ++提供的擴展特性
2.6JBuilder
2,6.1基JDK1.1
2.6.2BeansExpress組件重用可大大提高開發(fā)效率
2.6.3可伸縮的數據庫結構---DataExpress
2.6.4實用的可視化開發(fā)工具
2.6.5JBuilderOpenToolsAPI
2.6.6多層數據庫鏈接
2.6.7面向不同用戶的多種版本
2.7小結
第三章第一個Java程序
3.1Java程序HelloWodd(命令行)
3.1.1創(chuàng)建Java源程序
3.1.2編譯Java程序
3.1.3運行HelloWorld程序
3.1.4說明
3.2Java程序HelloWorld(圖形界面)
3.2.1創(chuàng)建Java源程序
3.2.2編譯Java程序
3.2.3運行HelloWorld程序(圖形界面)
3.2.4說明
3.3Java小應用HelloWorld
3.3.1創(chuàng)建Java源程序
3.3.2創(chuàng)建包含Java小應用的HTML文件
3.3.3編譯Java小應用HelloWorld.java
3.3.4運行HelloWorld小應用
3.3.5說明
3.4常見的錯誤
3.4.1源程序是否正確
3.4.2版本問題
3.4.3路徑設置及類搜尋路徑序列
3.4.4Bug
3.5小結
第四章Java基本程序結構
4.1數據類型
4.1.1整型
4.1.2浮點型
4.1.3字符型
4.1.4布爾型
4.2變量
4.2.1變量的聲明
4.2.2變量的命名原則
4.2.3變量的作用域
4.2.4初始化變量
4.2.5常數
4.3運算符
4.3.1數學運算符
4.3.2位運算
4.3.3關系運算符和邏輯運算符
4.3.4賦值運算符
4.3.5三元條件運算符
4.3.6實例運算符
4.3.7類型轉換
4.3.8運算符的優(yōu)先級
4.4表達式
4.4.1表達式的構成
4.4.2逗號表達式
4.5字符串
4.5.1字符串變量的聲明
4.5.2字符串變量的創(chuàng)建
4.5.3字符串的連接
4.5.4字符串的比較
4.5.5字符串子串操作
4.5.6查找字符串中的字符和子串
4.5.7其他串操作
4.6數組
4.6.1數組的創(chuàng)建
4.6.2初始化和賦值
4.6.3訪問數組
4.7注釋
4.8流程控制語句
4.8.1選擇語句
4.8.2循環(huán)
4.8.3轉移語句
4.8.4異常處理語句
4.8.5返回語句
4.9小結
第五章面向對象的對象和類
5.1引論
5.1.1面向對象基本概念
5.1.2類和對象
5.1.3面向對象的分析方法
5.1.4類之間的關系
5.2對象
5.2.1對象變量
5.2.2對象的創(chuàng)建
5.2.3對象的使用
5.2.4對象的回收
5.3類
5.3.1類的創(chuàng)建
5.3.2類方法
5.3.3this對象
5.3.4類成員的訪問控制
5.3.5設計類的原則
5.4包PackaSe
5.4.1包的定義
5.4.2包的使用
5.4.3編譯器尋找包的機制
5.5內嵌類
5.6小結
第六章使用面向對象的繼承性
6.1繼承性
6.1.1子類
6.1.2多態(tài)性
6.1.3終止類
6.2子類與超類的關系
6.2.1子類和超類的關系
6.2.2對類型進行強制轉換
6.3抽象類
6.3.1聲明抽象類
6.3.2定義抽象方法
6.4接口
6.4.1接口
6.4.2接口的定義
6.4.3接口的使用
6.4.4接口的屬性
6.5Object基類
6.5.1equals()方法
6.5.2getClass()方法
6.5.3clone()方法
6.5.4toSbing()方法
6.5.5findize()方法
6.5.6其他的方法
6.6Class類
6.6.1getName()
6.6.2newInstance()
6.6.3forName()靜態(tài)方法
6.6.4getSuperClass()
6.6.5getInterfaces
6.6.6toString()方法
6.6.7isInterface
6.7繼承性設計原則
6.7.1盡量將公共從操作和變量放在超類中
6.7.2利用繼承實現(xiàn)問題模型中"…是…"的關系
6.7.3子類繼承超類的前提是超類中的方法對子類都是可用的
6.8小結
第七章異常及調試
7.1異常
7.1.1異常錯誤處理代碼分離
7.1.2異常處理把錯誤報告給方法調用堆棧
7.1.3異常處理把錯誤按照類型進行分類
7.2錯誤類型
7.2.1輸入值錯誤
7.2.2硬件錯誤
7.2.3設備容量問題
7.2.4程序編碼造成的問題
7.3拋出異常
7.3.1異常類型
7.3.2Throwable類
7.3.3聲明異常類型
7.3.4拋出異常
7.3.5創(chuàng)建異常類
7,4截獲和處理異常
7.4.1截獲和處理異常
7.4.2截獲多類異常
7.4.3重拋異常
7.4.4finally語句
7.5使用異常處理的原則
7.5.1能夠用條件判斷來識別和處理就不要用異常處理
7.5.2盡量合并try語句
7.5.3正確選擇try語句所包含語句內容
7.5.4對于很少發(fā)生的異常不必處理
7.6使用顯示語句來調試程序
7.6.1顯示變量的值
7.6.2顯示當前對象及所屬類的信息
7.6.3顯示異常的調用堆棧
7.6.4使用main()方法調試類
7.7使用JDB調試程序
7.8小結
第八章輸入和輸出
8.1流
8.1.1流的概念
8.1.2流族
8.1.3InputStream流和OutputStream流
8.2基本的輸入/輸出流
8.2.1管道流PipdStream
8.2.2文件流fileStream
8.2.3字節(jié)緩沖區(qū)ByteArrayStream
8.2.4字符串緩沖區(qū)輸入流
8.2.5串行輸入流SequenceInputStream
8.3過濾流FilterStream
8.3.1打印流PrintStream
8.3.2數據流DataStream
8.3.3校驗流CheckedStream
8.4隨機存取文件流Random-AccessFileStream
8.5字符流Reader/Writer
8.5.1InputStreamReader和OutputStreamWriter
8.5.2BufferedReader和BufferedWriter
8.5.3FileReader和FileWriter
8.5.4StringReader和StringWriter
8.6帶分隔符數據的輸入/輸出
8.6.1StringTokeniaer類
8.6.2帶分隔符的文本輸入
8.7小結
第九章多線程程序設計
9.1理解線程
9.1.1什么是線程
9.1.2線程與進程
9.1.3線程的執(zhí)行與并發(fā)性
9.1.4線程的調度
9.1.5多線程編程的優(yōu)點
9.2生成線程
9.2.1繼承Thread類
9.2.2實現(xiàn)Runnable接口
9.2.3總結
9.3線程的生命周期
9.3.1新生態(tài)
9.3.2可執(zhí)行態(tài)
9.3.3執(zhí)行態(tài)
9.3.4阻塞態(tài)
9.3.5死亡態(tài)
9.3.6狀態(tài)轉移的例子
9.4線程的優(yōu)先級
9.5線程的同步
9.5.1訂票程序
9.5.2關鍵字synchroniaed
9.5.3管程(monitor)
9.5.4死鎖
9.5.5消息通信
9.6線程組
9.6.1創(chuàng)建線程組
9.6.2線程組的管理
9.6.3線程組的屬性
9.6.4操作組內所有線程的方法
9.7計時器線程
9.8線程的使用條件
9.9小結
第十章AWT圖形界面編程(一)
10.1第一個圖形界面程序
10.2Graphics類簡介
10.3在窗口顯示文本
10.4字體
10.5顏色
10.6繪制圖形
10.6.1繪制直線
10,6.2繪制矩形
10.6.3繪制圓角矩形
10.6.4繪制立體矩形
10.6.5繪制圓弧
10.6.6繪制橢圓
10.6.7繪制多邊形
10.7填充圖形
10.7.1填充矩形
10.7.2填充圓角矩形
10.7.3填充立體矩形
10.7.4填充圓弧
10.7.5填充橢圓
10.7.6填充多邊形
10.8Graphics類的其他方法
10.8.1清除繪圖區(qū)域
10.8.2限定繪圖區(qū)域
10.8.3新建圖形環(huán)境對象
10.8.4拷貝繪圖區(qū)域
10.8.5設置繪圖模式
10.8.6設置繪圖原點
10.9圖片
10.9.1裝載圖片
10.9.2顯示圖片
10.9.3加快圖片顯示
10.10小結
第十一章AWT圖形界面編程(二)
11.1圖形用戶界面的基本元素--組件和容器
11.2按鈕(Button)
11.3事件處理簡介
11.4面板(Panel)
11.5畫布(Canvas)
11.6標簽(Lakl)
11.7文本域(TextField和TextArea)
11.7.1單行文本域(TextField)
11.7.2多行文本域(TextArea)
11.8選擇框
11.8.1復選框(Checkbx)
11.8.2單選框
11.8.3下拉列表(Choice)
11.8.4列表(List)
11.9滾動條
11.10帶滾動條的面板(ScrollPane)
11.11布局管理
11.11.1使用布局管理器的基本原則
11.11.2FlowLayout
11.11.3BorderLayout
11.11.4CardLayout
11.11.5GridLayout
11.11.6GridBagLayout
11.11.7無布局管理
11.12對話框
11.13菜單
11.14事件處理
11.14.1事件代表模型
11.14.2Adapter類和Inner類
11.14.3標準的AWT事件
11.14.4鍵盤事件的處理
11.14.5鼠標事件的處理
11.14.6JDK1.0的事件處理方法
11.15小結
第十二章Internet與Java
12.1Internet技術簡介
12.1.1Internet歷史介紹
12.1.2什么是協(xié)議
12.1.3什么是TCP/IP
12.1.4什么是IP協(xié)議
12.1.5什么是TCP和UDP協(xié)議
12.1.6TCP和UDP的區(qū)別
12.1.7協(xié)議編號.端口號.套接口
12.1.8什么是IP地址
12.1.9TCP/IP上常用的運行模式(客戶機/服務器模式)
12.1.10什么是瀏覽器
12.1.11什么是URL
12.2Internet和Java編程
12.2.1頭號功臣--小應用
12.2.2HotJava瀏覽器
12.3Java及網絡應用的發(fā)展趨勢
12.3.1Java在Intranet中的應用
12.3.2Java與新一代的計算模式
124小結
第十三章Applet編程
13.1Applet基礎
13.1.1一個簡單的Applet程序
13.1.2Applet與HTML
13.1.3Applet類及Applet程序的生命周期
13.2Applet應用編程
13.2.1創(chuàng)建圖形用戶界面(GUI)
13.2.2播放聲音
13.2.3動畫
13.2.4多媒體應用
13.3Appld與其他程序的通信
13.3.1與瀏覽器通信
13.3.2與同一頁面的其他Applet程序通信
13.3.3與服務器一端的Application程序通信
13.4其他
13.4.1讀取系統(tǒng)參數
13.4.2把Application轉換成Applet
13.4.3Applet與Application混合編程
13.5綜合評說Applet
13.5.1Applet能干什么
13.5.2安全性限制
13.6小結
第十四章一個關子AWT和多線程例子
14.1游戲規(guī)則
14.2程序清單
14.3程序設計思想
14.3.1GameCanvas類
14.3.2Block類
14.3.3MyTimer類
14.4編程技巧
14.4.1事件處理
14.4.2布局
14.4.3畫布
14.4.4雙緩存
14.4.5定時線程
14.4.6同步問題
14.5小結
第十五章JavaBean介紹
15.1JavaBean概述
15.1.1可重用軟件組件
15.1.2什么是JavaBean?
15.1.3應用構造工具
15.2構造JavaBean
15.2.1第一步:最簡單的Bean
15.2.2第二步:加入屬性
15.2.3第三步:Bean和包
15.2.4第四步:具有標簽屬性的Bean
15.2.5第五步:自動伸縮的Bean
15.2.6第六步:帶有事件處理器的Bean
15.2.7第七步:從Bean中激活一個事件
15.3BeanBox介紹
15.3.1啟動BeanBox
15.3.2使用BeanBox
15.4手寫編碼的JavaBean應用程序
15.4.1手寫的JavaBean的問題與一般過程
15.4.2構造一個應用程序
15.5小結
第十六章Java的未來
16.1Java與分布式編程
16.1.1JavaIDL網絡計算
16.1.2組件成份
16.2Java與網絡計算機
16.2.1主機系統(tǒng)
16.2.2"胖"客戶機/服務器模式,聯(lián)網的計算機
16.2.3"瘦"客戶機/服務器模式,基于Web的協(xié)作式計算
16.3Java智能卡
16.4JDK1.2預覽
16.5JavaAPl
16.5.1Java多媒體和通信API
16.5.2JDBCAPI
16.6小結
附錄AJavaDevelopmentKitJDK1.1.5
A.1基本情況
A.2主要工具和功能
A.2.1Javac--Java編譯器(TheJavaCompiler)
A.2.2Java--Java解釋器(TheJavaInterpreter)
A.2.3Jdb--Java調試器(TheJavaDebugger)
A.2.4Jre--TheJavaRuntimeInterpreter(Win32)
A.2.5Javah--C頭文件及存根文件生成器(CHeaderandStrbFileGenelator)
A.2.6Javap--Java字節(jié)碼的反編譯器(TheJavaClassFileDisassembler)
A.2.7Javadoc--API文檔生成器(TheJavaAPIDocumentationGenerator)
A.2.8Appletviewer--小應用瀏覽器(Theapplctviewer)
A.2.9native2ascii--代碼轉化器(Native-to-ASCIIConverter)
A.2.10jar-Java文檔壓縮工具(TheJavaArchiveTool)
A.2.11環(huán)境變量CLASSPATH
附錄BJDK1.1的新功能和兼容性
B.1新增功能
B.1.1國際化支持(Internationalization)
B.1.2安全性與簽名的Applets(SecurityandSignedApplets)
B.1.3AWT(AbstractWindowToolkit)的加強
B.1.4JavaBeans
B.1.5JAR文件(JARfileformat)
B.1.6加強的網絡功能
B.1.7I/O功能上的工具
B.1.8新增的java.math包
B.1.9遠程方法調用(RMI:RemoteMethodInvocation)
B.1.10對象串行化(ObjectSelidimtion)
B.1.11映像(Renection)
B.1.12Java數據庫連接(JDBC:JavaDatabaseConnectivity)
B.1.13內嵌類(InnerClasses)
B.1.14Java本地接口(JavaNativeInterface)
B.1.15性能的增強(PerformanceEnhancements)
B.1.16其他
B.2兼容性
B.2.1二進制兼容性(BinaryCompatibility)
B.2.2源代碼兼容性(SourceCompatibility)
附錄CInternet上的Java資源
C.1Sun公司站點上的資源
C.2Internet上的其他Java資源
C.3新聞討論組
C.4Java示例資源
附錄D詞匯表