![[計算機軟件及應用]JAVA程序設計基礎_第1頁](http://file4.renrendoc.com/view/d9c040bc746f574c50a300a627de0358/d9c040bc746f574c50a300a627de03581.gif)
![[計算機軟件及應用]JAVA程序設計基礎_第2頁](http://file4.renrendoc.com/view/d9c040bc746f574c50a300a627de0358/d9c040bc746f574c50a300a627de03582.gif)
![[計算機軟件及應用]JAVA程序設計基礎_第3頁](http://file4.renrendoc.com/view/d9c040bc746f574c50a300a627de0358/d9c040bc746f574c50a300a627de03583.gif)
![[計算機軟件及應用]JAVA程序設計基礎_第4頁](http://file4.renrendoc.com/view/d9c040bc746f574c50a300a627de0358/d9c040bc746f574c50a300a627de03584.gif)
![[計算機軟件及應用]JAVA程序設計基礎_第5頁](http://file4.renrendoc.com/view/d9c040bc746f574c50a300a627de0358/d9c040bc746f574c50a300a627de03585.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄 TOC o 1-3 h z u HYPERLINK l _Toc196903946 第1章 引言 PAGEREF _Toc196903946 h 5 HYPERLINK l _Toc196903947 1.1 程序設計語言的分類 PAGEREF _Toc196903947 h 6 HYPERLINK l _Toc196903948 1.2 Java的發展過程(網絡咖啡) PAGEREF _Toc196903948 h 7 HYPERLINK l _Toc196903949 1.3 Java程序的類型 PAGEREF _Toc196903949 h 7 HYPERLINK l _Toc19
2、6903950 1.4 編譯和執行Java程序 PAGEREF _Toc196903950 h 8 HYPERLINK l _Toc196903951 第2章 JAVA2介紹 PAGEREF _Toc196903951 h 9 HYPERLINK l _Toc196903952 21 什么是JAVA PAGEREF _Toc196903952 h 9 HYPERLINK l _Toc196903953 22選擇JAVA的原因 PAGEREF _Toc196903953 h 9 HYPERLINK l _Toc196903954 23 Java 程序的運行環境 PAGEREF _Toc19690
3、3954 h 10 HYPERLINK l _Toc196903955 24與平臺(CPU、OS類型)無關性 PAGEREF _Toc196903955 h 10 HYPERLINK l _Toc196903956 25“一次編譯,到處運行”的原理 PAGEREF _Toc196903956 h 11 HYPERLINK l _Toc196903957 26通過在不同的平臺上安裝對應的Java 虛擬機,可以實現平臺無關。 PAGEREF _Toc196903957 h 11 HYPERLINK l _Toc196903958 27 Java虛擬機介紹 PAGEREF _Toc196903958
4、 h 11 HYPERLINK l _Toc196903959 28 Java2類庫的版本和主要應用領域 PAGEREF _Toc196903959 h 12 HYPERLINK l _Toc196903960 2.8.1 Java2類庫的版本類型 PAGEREF _Toc196903960 h 12 HYPERLINK l _Toc196903961 2.8.2 Java2主要應用領域 PAGEREF _Toc196903961 h 12 HYPERLINK l _Toc196903962 29 實時編譯器 PAGEREF _Toc196903962 h 12 HYPERLINK l _To
5、c196903963 210 Java 運行時環境 PAGEREF _Toc196903963 h 12 HYPERLINK l _Toc196903964 211 選擇Java開發工具 PAGEREF _Toc196903964 h 13 HYPERLINK l _Toc196903965 212 Java Application程序基本結構 PAGEREF _Toc196903965 h 13 HYPERLINK l _Toc196903966 213第一個JAVA例程 PAGEREF _Toc196903966 h 13 HYPERLINK l _Toc196903967 214 Jav
6、a API 文檔 PAGEREF _Toc196903967 h 13 HYPERLINK l _Toc196903968 第3章Java語言基礎 PAGEREF _Toc196903968 h 14 HYPERLINK l _Toc196903969 31 Java的基本語法 PAGEREF _Toc196903969 h 14 HYPERLINK l _Toc196903970 32 Java中的常量 PAGEREF _Toc196903970 h 15 HYPERLINK l _Toc196903971 33 變量的概念與作用 PAGEREF _Toc196903971 h 16 HYP
7、ERLINK l _Toc196903972 34 Java中的數據類型 PAGEREF _Toc196903972 h 16 HYPERLINK l _Toc196903973 3.4.1數據類型種類 PAGEREF _Toc196903973 h 16 HYPERLINK l _Toc196903974 3.4.2 Java中數據類型的轉換規則: PAGEREF _Toc196903974 h 16 HYPERLINK l _Toc196903975 3.4.3 數據類型轉換必須滿足如下規則 PAGEREF _Toc196903975 h 17 HYPERLINK l _Toc196903
8、976 35 Java中的運算符與表達式 PAGEREF _Toc196903976 h 17 HYPERLINK l _Toc196903977 3.5.1 主要的類型 PAGEREF _Toc196903977 h 17 HYPERLINK l _Toc196903978 3.5.2 特點 PAGEREF _Toc196903978 h 17 HYPERLINK l _Toc196903979 3.5.3 幾個常用的操作符在應用時所應該注意點 PAGEREF _Toc196903979 h 18 HYPERLINK l _Toc196903980 3.5.4 引用型變量只支持有限的邏輯判斷
9、 PAGEREF _Toc196903980 h 18 HYPERLINK l _Toc196903981 3.5.5 運算符的優先次序 PAGEREF _Toc196903981 h 18 HYPERLINK l _Toc196903982 3.5.6 格式化輸出 PAGEREF _Toc196903982 h 18 HYPERLINK l _Toc196903983 36 Java中的語句及控制流 PAGEREF _Toc196903983 h 19 HYPERLINK l _Toc196903984 3.6.1 主要的語句 PAGEREF _Toc196903984 h 19 HYPER
10、LINK l _Toc196903985 3.6.2 特點 PAGEREF _Toc196903985 h 19 HYPERLINK l _Toc196903986 38數組 PAGEREF _Toc196903986 h 27 HYPERLINK l _Toc196903987 3.8.1 數組初始化和匿名數組 PAGEREF _Toc196903987 h 27 HYPERLINK l _Toc196903988 3.8.2 拷貝數組 PAGEREF _Toc196903988 h 27 HYPERLINK l _Toc196903989 3.8.3 命令行參數 PAGEREF _Toc1
11、96903989 h 28 HYPERLINK l _Toc196903990 3.8.4 對數組排序 PAGEREF _Toc196903990 h 28 HYPERLINK l _Toc196903991 3.8.5多維數組 PAGEREF _Toc196903991 h 29 HYPERLINK l _Toc196903992 3.8.6 不規則數組 PAGEREF _Toc196903992 h 30 HYPERLINK l _Toc196903993 39 Java中的注釋方式 PAGEREF _Toc196903993 h 31 HYPERLINK l _Toc196903994
12、310 JAVA的健壯的體現 PAGEREF _Toc196903994 h 31 HYPERLINK l _Toc196903995 311 JAVA與C+在語言上的差別 PAGEREF _Toc196903995 h 31 HYPERLINK l _Toc196903996 第4章 類的基本架構 PAGEREF _Toc196903996 h 32 HYPERLINK l _Toc196903997 41認識類 PAGEREF _Toc196903997 h 32 HYPERLINK l _Toc196903998 411類的基本概念 PAGEREF _Toc196903998 h 32
13、HYPERLINK l _Toc196903999 412類的聲明 PAGEREF _Toc196903999 h 33 HYPERLINK l _Toc196904000 413 創建新的對象 PAGEREF _Toc196904000 h 34 HYPERLINK l _Toc196904001 414 使用類來設計完整的程序 PAGEREF _Toc196904001 h 36 HYPERLINK l _Toc196904002 415 同時創建多個對象 PAGEREF _Toc196904002 h 36 HYPERLINK l _Toc196904003 42 有關方法的使用 PAG
14、EREF _Toc196904003 h 36 HYPERLINK l _Toc196904004 421 定義與使用方法 PAGEREF _Toc196904004 h 36 HYPERLINK l _Toc196904005 422 數據成員的訪問方式 PAGEREF _Toc196904005 h 37 HYPERLINK l _Toc196904006 423 在類定義的內部調用方法 PAGEREF _Toc196904006 h 37 HYPERLINK l _Toc196904007 43 參數的傳遞 PAGEREF _Toc196904007 h 38 HYPERLINK l _
15、Toc196904008 431 調用方法并傳遞參數 PAGEREF _Toc196904008 h 38 HYPERLINK l _Toc196904009 432 傳遞多個參數 PAGEREF _Toc196904009 h 38 HYPERLINK l _Toc196904010 44 方法的返回值 PAGEREF _Toc196904010 h 38 HYPERLINK l _Toc196904011 441 沒有返回值的方法 PAGEREF _Toc196904011 h 38 HYPERLINK l _Toc196904012 442 有返回值的方法 PAGEREF _Toc196
16、904012 h 39 HYPERLINK l _Toc196904013 45 公有成員與私有成員 PAGEREF _Toc196904013 h 39 HYPERLINK l _Toc196904014 451 創建私有成員 PAGEREF _Toc196904014 h 39 HYPERLINK l _Toc196904015 452 創建公有成員 PAGEREF _Toc196904015 h 39 HYPERLINK l _Toc196904016 453 數據的封裝 PAGEREF _Toc196904016 h 39 HYPERLINK l _Toc196904017 454 省
17、略public與private PAGEREF _Toc196904017 h 40 HYPERLINK l _Toc196904018 第5章 類的其它功能 PAGEREF _Toc196904018 h 40 HYPERLINK l _Toc196904019 51 函數成員(方法)的重載 PAGEREF _Toc196904019 h 41 HYPERLINK l _Toc196904020 511 重載 PAGEREF _Toc196904020 h 41 HYPERLINK l _Toc196904021 512 使用重載常犯的錯誤 PAGEREF _Toc196904021 h 4
18、3 HYPERLINK l _Toc196904022 52 構造函數 PAGEREF _Toc196904022 h 43 HYPERLINK l _Toc196904023 521 構造函數的基本認識 PAGEREF _Toc196904023 h 43 HYPERLINK l _Toc196904024 522 構造函數的調用時機 PAGEREF _Toc196904024 h 43 HYPERLINK l _Toc196904025 523 構造函數的重載 PAGEREF _Toc196904025 h 44 HYPERLINK l _Toc196904026 524 從某一構造函數調
19、用另一構造函數 PAGEREF _Toc196904026 h 44 HYPERLINK l _Toc196904027 525 構造函數的公有與私有 PAGEREF _Toc196904027 h 44 HYPERLINK l _Toc196904028 526 構造函數的省略 PAGEREF _Toc196904028 h 44 HYPERLINK l _Toc196904029 5.2.7 初始化塊 PAGEREF _Toc196904029 h 45 HYPERLINK l _Toc196904030 53 類變量與類方法 PAGEREF _Toc196904030 h 46 HYPE
20、RLINK l _Toc196904031 531 實例變量與實例方法 PAGEREF _Toc196904031 h 46 HYPERLINK l _Toc196904032 532 類變量 PAGEREF _Toc196904032 h 46 HYPERLINK l _Toc196904033 533 類方法 PAGEREF _Toc196904033 h 47 HYPERLINK l _Toc196904034 534 “類方法”使用的限制 PAGEREF _Toc196904034 h 47 HYPERLINK l _Toc196904035 54 類類型的變量 PAGEREF _To
21、c196904035 h 47 HYPERLINK l _Toc196904036 541 賦值給類類型的變量 PAGEREF _Toc196904036 h 47 HYPERLINK l _Toc196904037 542 以類類型的變量傳遞參數 PAGEREF _Toc196904037 h 48 HYPERLINK l _Toc196904038 543 由方法返回類類型的變量 PAGEREF _Toc196904038 h 48 HYPERLINK l _Toc196904039 544 對象析構和finalize方法 PAGEREF _Toc196904039 h 48 HYPERL
22、INK l _Toc196904040 55 利用數組來保存對象 PAGEREF _Toc196904040 h 49 HYPERLINK l _Toc196904041 551 創建對象數組的范例 PAGEREF _Toc196904041 h 49 HYPERLINK l _Toc196904042 552 傳遞數組到方法里 PAGEREF _Toc196904042 h 50 HYPERLINK l _Toc196904043 56 內部類 PAGEREF _Toc196904043 h 50 HYPERLINK l _Toc196904044 561 內部類的編寫 PAGEREF _T
23、oc196904044 h 51 HYPERLINK l _Toc196904045 562 匿名內部類 PAGEREF _Toc196904045 h 52 HYPERLINK l _Toc196904046 第6章 繼承 PAGEREF _Toc196904046 h 54 HYPERLINK l _Toc196904047 60類之間的關系 PAGEREF _Toc196904047 h 54 HYPERLINK l _Toc196904048 61 繼承的基本概念 PAGEREF _Toc196904048 h 54 HYPERLINK l _Toc196904049 611 簡單的繼
24、承范例 PAGEREF _Toc196904049 h 55 HYPERLINK l _Toc196904050 612 調用父類中特定的構造函數 PAGEREF _Toc196904050 h 56 HYPERLINK l _Toc196904051 6.1.3 使用構造函數常見的錯誤 PAGEREF _Toc196904051 h 57 HYPERLINK l _Toc196904052 62 由子類訪問父類的成員 PAGEREF _Toc196904052 h 58 HYPERLINK l _Toc196904053 63 覆蓋 PAGEREF _Toc196904053 h 58 HY
25、PERLINK l _Toc196904054 631 覆蓋父類的方法 PAGEREF _Toc196904054 h 58 HYPERLINK l _Toc196904055 632 以父類的變量訪問子類的成員 PAGEREF _Toc196904055 h 58 HYPERLINK l _Toc196904056 64 再談super()與this() PAGEREF _Toc196904056 h 58 HYPERLINK l _Toc196904057 65 終止繼承 PAGEREF _Toc196904057 h 59 HYPERLINK l _Toc196904058 66 類之源
26、Object類 PAGEREF _Toc196904058 h 59 HYPERLINK l _Toc196904059 第7章 抽象類 接口 包 PAGEREF _Toc196904059 h 60 HYPERLINK l _Toc196904060 71 抽象類 PAGEREF _Toc196904060 h 60 HYPERLINK l _Toc196904061 711 定義抽象類 PAGEREF _Toc196904061 h 60 HYPERLINK l _Toc196904062 712 抽象類的實現 PAGEREF _Toc196904062 h 61 HYPERLINK l
27、_Toc196904063 713 用抽象類類型的變量來創建對象 PAGEREF _Toc196904063 h 61 HYPERLINK l _Toc196904064 714 使用抽象類的注意事項 PAGEREF _Toc196904064 h 61 HYPERLINK l _Toc196904065 72 接口的使用 PAGEREF _Toc196904065 h 61 HYPERLINK l _Toc196904066 73 接口的擴展 PAGEREF _Toc196904066 h 63 HYPERLINK l _Toc196904067 74 包 PAGEREF _Toc19690
28、4067 h 64 HYPERLINK l _Toc196904068 7.4.1 文件的分割 PAGEREF _Toc196904068 h 64 HYPERLINK l _Toc196904069 7.4.2 定義包 PAGEREF _Toc196904069 h 64 HYPERLINK l _Toc196904070 7.4.3 理解類路徑(classpath) PAGEREF _Toc196904070 h 65 HYPERLINK l _Toc196904071 7.4.4 一個簡單的例子 PAGEREF _Toc196904071 h 65 HYPERLINK l _Toc196
29、904072 7.4.5 訪問保護 PAGEREF _Toc196904072 h 66 HYPERLINK l _Toc196904073 7.4.6 一個訪問的例子 PAGEREF _Toc196904073 h 67 HYPERLINK l _Toc196904074 7.4.7 引入包 PAGEREF _Toc196904074 h 69 HYPERLINK l _Toc196904075 第8章 常用類庫、集合類 PAGEREF _Toc196904075 h 70 HYPERLINK l _Toc196904076 81有關字符串的類庫 PAGEREF _Toc196904076
30、h 71 HYPERLINK l _Toc196904077 82 StringBuffer類庫 PAGEREF _Toc196904077 h 72 HYPERLINK l _Toc196904078 8 wrapper class PAGEREF _Toc196904078 h 72 HYPERLINK l _Toc196904079 8 使用math類 PAGEREF _Toc196904079 h 73 HYPERLINK l _Toc196904080 8日期類 PAGEREF _Toc196904080 h 74 HYPERLINK l _Toc196904081 8隨機數類 Ra
31、ndom PAGEREF _Toc196904081 h 75 HYPERLINK l _Toc196904082 87 向量類Vector PAGEREF _Toc196904082 h 75 HYPERLINK l _Toc196904083 88 Class類與Runtime類 PAGEREF _Toc196904083 h 76 HYPERLINK l _Toc196904084 89常用集合類 PAGEREF _Toc196904084 h 77 HYPERLINK l _Toc196904085 8.9.1集合(Set) PAGEREF _Toc196904085 h 78 HYP
32、ERLINK l _Toc196904086 8.9.2列表(List) PAGEREF _Toc196904086 h 79 HYPERLINK l _Toc196904087 8.9.3Map PAGEREF _Toc196904087 h 80 HYPERLINK l _Toc196904088 8.10 Java規則表達式 PAGEREF _Toc196904088 h 81 HYPERLINK l _Toc196904089 第9章 異常處理 PAGEREF _Toc196904089 h 82 HYPERLINK l _Toc196904090 91 異常 PAGEREF _Toc
33、196904090 h 83 HYPERLINK l _Toc196904091 9.1.1 異常的基本概念 PAGEREF _Toc196904091 h 83 HYPERLINK l _Toc196904092 9.1.2 引起異常的原因: PAGEREF _Toc196904092 h 83 HYPERLINK l _Toc196904093 9.1.3 實例 PAGEREF _Toc196904093 h 84 HYPERLINK l _Toc196904094 9.1.4 異常的分類 PAGEREF _Toc196904094 h 84 HYPERLINK l _Toc1969040
34、95 9.1.5 Java編程語言提供幾種預定義的異常,最常見的異常描述: PAGEREF _Toc196904095 h 84 HYPERLINK l _Toc196904096 9.1.6 為何需要異常處理 PAGEREF _Toc196904096 h 85 HYPERLINK l _Toc196904097 92異常的處理 PAGEREF _Toc196904097 h 85 HYPERLINK l _Toc196904098 9.2.1 簡單的異常范例 PAGEREF _Toc196904098 h 85 HYPERLINK l _Toc196904099 9.2.2 常規的異常處理
35、范例 PAGEREF _Toc196904099 h 85 HYPERLINK l _Toc196904100 9.2.3 異常處理機制的回顧 PAGEREF _Toc196904100 h 91 HYPERLINK l _Toc196904101 9.2.4 一個非常實用的異常處理程序 PAGEREF _Toc196904101 h 91 HYPERLINK l _Toc196904102 93異常類的繼承架構 PAGEREF _Toc196904102 h 92 HYPERLINK l _Toc196904103 94聲明異常 PAGEREF _Toc196904103 h 93 HYPE
36、RLINK l _Toc196904104 95 拋出異常 PAGEREF _Toc196904104 h 95 HYPERLINK l _Toc196904105 96 自己編寫異常類(用戶自定義定義異常) PAGEREF _Toc196904105 h 97 HYPERLINK l _Toc196904106 97 IOException異常類的使用 PAGEREF _Toc196904106 h 101 HYPERLINK l _Toc196904107 98調用機制 PAGEREF _Toc196904107 h 102 HYPERLINK l _Toc196904108 第10章 I
37、O輸入/輸出 PAGEREF _Toc196904108 h 102 HYPERLINK l _Toc196904109 101 流 PAGEREF _Toc196904109 h 102 HYPERLINK l _Toc196904110 10.1.1 什么是數據流 PAGEREF _Toc196904110 h 102 HYPERLINK l _Toc196904111 10.1.2 數據流的分類 PAGEREF _Toc196904111 h 103 HYPERLINK l _Toc196904112 10.1.3 管道流 PAGEREF _Toc196904112 h 104 HYPE
38、RLINK l _Toc196904113 10.1.4 對象流 PAGEREF _Toc196904113 h 106 HYPERLINK l _Toc196904114 10.2 文件 PAGEREF _Toc196904114 h 109 HYPERLINK l _Toc196904115 10.2.1 文件I/O PAGEREF _Toc196904115 h 109 HYPERLINK l _Toc196904116 10.2.2 文件的輸入/輸出 PAGEREF _Toc196904116 h 112 HYPERLINK l _Toc196904117 10.2.3 隨機存取文件
39、PAGEREF _Toc196904117 h 119 HYPERLINK l _Toc196904118 10.2.4 串行化 PAGEREF _Toc196904118 h 120 HYPERLINK l _Toc196904119 10.3 補充 PAGEREF _Toc196904119 h 122 HYPERLINK l _Toc196904120 10.3.1 關于IO的根類 PAGEREF _Toc196904120 h 122 HYPERLINK l _Toc196904121 10.3.2 從鍵盤讀 PAGEREF _Toc196904121 h 119 HYPERLINK
40、l _Toc196904122 10.3.3 持久性和序列化的概念 PAGEREF _Toc196904122 h 123 HYPERLINK l _Toc196904123 第11章 線程 PAGEREF _Toc196904123 h 121 HYPERLINK l _Toc196904124 11.1 簡介 PAGEREF _Toc196904124 h 121 HYPERLINK l _Toc196904125 11.1.1 什么是進程與線程 PAGEREF _Toc196904125 h 124 HYPERLINK l _Toc196904126 11.1.2 線程與進程的區別 PA
41、GEREF _Toc196904126 h 124 HYPERLINK l _Toc196904127 11.1.3 線程的優勢 PAGEREF _Toc196904127 h 124 HYPERLINK l _Toc196904128 11.1.4 線程的模型 PAGEREF _Toc196904128 h 125 HYPERLINK l _Toc196904129 11.2 線程的實現 PAGEREF _Toc196904129 h 126 HYPERLINK l _Toc196904130 11.2.1 創建線程的方式 PAGEREF _Toc196904130 h 126 HYPERL
42、INK l _Toc196904131 11.2.2 線程狀態 PAGEREF _Toc196904131 h 129 HYPERLINK l _Toc196904132 11.2.3 線程的基本控制 PAGEREF _Toc196904132 h 131 HYPERLINK l _Toc196904133 11.2.4 線程的調度 PAGEREF _Toc196904133 h 140 HYPERLINK l _Toc196904134 11.2.5 同步和死鎖 PAGEREF _Toc196904134 h 140 HYPERLINK l _Toc196904135 11.2.6 Thre
43、ad類的重要方法 PAGEREF _Toc196904135 h 148 HYPERLINK l _Toc196904136 11.2.12 優先級 PAGEREF _Toc196904136 h 156 HYPERLINK l _Toc196904137 11.2.8 線程同步 PAGEREF _Toc196904137 h 157 HYPERLINK l _Toc196904138 11.2.9線程間通信 PAGEREF _Toc196904138 h 158 HYPERLINK l _Toc196904139 第12章 常用修飾詞 PAGEREF _Toc196904139 h 161
44、HYPERLINK l _Toc196904140 121 instanceof PAGEREF _Toc196904140 h 163 HYPERLINK l _Toc196904141 12.2 transient修飾符 PAGEREF _Toc196904141 h 163 HYPERLINK l _Toc196904142 12.3 strictfp關鍵字 PAGEREF _Toc196904142 h 163 HYPERLINK l _Toc196904143 12.4 native修飾符 PAGEREF _Toc196904143 h 164 HYPERLINK l _Toc196
45、904144 12.5 Volatile修飾符 PAGEREF _Toc196904144 h 164 HYPERLINK l _Toc196904145 附錄1:Java文檔注釋 PAGEREF _Toc196904145 h 164 HYPERLINK l _Toc196904146 13.1如何插入注釋 PAGEREF _Toc196904146 h 164 HYPERLINK l _Toc196904147 13.3 方法注釋 PAGEREF _Toc196904147 h 165 HYPERLINK l _Toc196904148 13.4字段注釋 PAGEREF _Toc19690
46、4148 h 165 HYPERLINK l _Toc196904149 13.5通用注釋 PAGEREF _Toc196904149 h 165 HYPERLINK l _Toc196904150 13.6包和概述注釋 PAGEREF _Toc196904150 h 166 HYPERLINK l _Toc196904151 13.7如何提取注釋 PAGEREF _Toc196904151 h 166第1章 引言本章內容:程序設計語言的分類Java的發展過程Java程序的類型編譯和執行Java程序1.1 程序設計語言的分類 程序設計語言是學習計算機技術的基礎,它經歷了較長的發展過程,有許多不
47、同的分類方法。 1.按發展過程分類: a.機器語言:是以二進制代碼的形式組成的機器指令集合,不同的機器有不同的機器語言。這種語言編制的程序運行效率極高,但程序很不直觀,編寫很簡單的功能就需要大量代碼,重用性差,而且編寫起來效率比較低,很容易出現錯誤。 b.匯編語言:比機器語言直觀,它將機器指令進行了符號化,并增加了一些功能,如宏,符號地址等,存儲空間的安排由機器完成,編程工作相對進行了極大的簡化,使用起來方便了很多,錯誤也相對減少。但不同的指令集的機器仍有不同的匯編語言,程序重用性也很低。 c.高級語言:高級語言是與機器不相關的一類程序設計語言,讀寫起來更接近人類的自然語言,因此,用高級語言開
48、發的程序可讀性較好,便于維護。同時,由于高級語言并不直接和硬件相關,其編制出來的程序可移植性也要好得多。常見的高級語言Pascal,c,c+,Basic.Java就是高級語言的一種。 d.第四代語言(4GL) 具有一定的智能,更接近于日常語言,它對語言的概括更為抽象,從而使語言也更為簡潔,如SQL,VB,PB等。2.按執行方式分類a.編譯執行的語言通過工具軟件將源代碼經過目標代碼轉換成機器代碼,即可執行程序,然后直接交操作系統執行。這類程序語言的優點是執行速度比較快,缺點是編譯器與機器之間存在一定的依賴性,不同操作系統需要的編譯器可能不同,另外,在一個系統上編譯的程序到另一系統上不一定正確運行
49、。如C+,Pascal. b.解釋執行的語言 解釋執行是程序讀入一句執行一句,而不需要整體編譯鏈接,這樣的語言與操作系統的相關性相對較小,但運行效率低,而且需要一定的軟件環境來做源代碼的解釋器。當然,有些解釋執行的程序并不是使用源代碼來執行的,而是需要預先編譯成一種解釋器能夠識別的格式,再解釋執行。如Java。 3.按思維模式分類用計算機處理問題是個復雜的過程。需要許多設想,小心規劃,邏輯的精度和細節的考慮。另一方面,他又具有挑戰性,令人振奮,為個人的創造力和表達能力提供了令人滿意的空間。 程序設計語言總是需要以某種思維方式進行設計和實現,因此不同的語言可能有不同的思維方式。目前存在兩種思維方
50、式。 a.面向過程的程序設計語言 過程化的解決問題的方法是把它分裂成幾個小部分,然后再求解每個較小的問題。最后,匯總這些方案來求解整個問題。這種方法的缺點是模塊間互相依賴,難以升級,而且互用性差,解決的方法是使用面向對象的程序設計模型。 b.面向對象的程序設計語言 OOP(面向對象程序設計)的設計思想: 現實世界由對象組成,這些對象被分成類,對象是類的一個特例。OOP根據現實世界的對象來描述軟件系統。考察一個公司的職員,他是一個對象,它包含了某些屬性:姓名,年齡,家庭住址, 號碼他也包含了某些行為:允許用戶輸入或者顯示職員的這些屬性。OOP的好處是逼真地建模,并且對變動有彈性。Java是一種純
51、面向對象的編程語言。1.2 Java的發展過程(網絡咖啡)Java的誕生需追溯到1991年。當時,在Sun公司內,有一個稱為Green的項目,這個項目的工程師受命設計一種小型的計算機語言,用于機頂盒、家電控制芯片等消費類設備。由于這些設備功能有限、內存較小,所以這種語言必須盡可能地小,而且應能生成非常緊湊的代碼,最重要的一點是,這些設備所采用的處理芯片多種多樣,要使這個語言有強大的生命力,就絕不能夠受限于任何一種體系結構。 為了實現這一目標,項目組準備嘗試一種古老的模型:設計出一種“可移植”的語言。在執行前,生成一個“中間碼”,在任何一種機器上安裝了特定的解釋器,就可以運行這個“中間碼”。 這
52、樣“中間碼”一定會非常小,而解釋器也不大,就可以達到這個目標。 這個小組大部分員工都熟悉C+語言,使得這個新語言走向了“面向對象”的道路。這個語言原來的名字是“Oak“(項目組領導辦公室窗外的橡樹名),但后來由于“Oak”這一名字己被占用,所以選用“Java”一種咖啡的名字作為新語言的名字,所以現在說到Java語言,大家都會想到那杯熱氣騰騰的咖啡!也許,Sun公司希望Java語言能夠象咖啡一樣被人們接受、喜愛吧! 然而Java語言并未被Sun公司和消費類家電公司所接受。接著該小組又開始了許多其它方面的嘗試,均慘遭失敗,不得不在1994年解散。 而此時,Internet上的www服務越來越普遍,
53、人們需要一個好用的瀏覽器,以便更好地閱讀Web頁面。這時Green項目組的舊部意識到可用Java語言寫一個瀏覽器。這個最終發展成目前的HotJava瀏覽器。 HotJava這個試驗品在1995年5月召開的SunWorld大會上首次亮相,從而引起了遍及全球、至今未衰的Java熱。 1995年秋NetScape決定讓其瀏覽器支持Java,并在1996年初發布了支持Java的版本。這意味著Java語言開始大流行,后來,IBM等許多著名IT公司都注冊了Java使用許可證,而且視Sun公司為敵的微軟公司也在IE中提供了對Java的支持,并在Window中提供了Java虛擬機。 Java語言的初露鋒芒,讓
54、Sun公司意識到它的價值,于是在1996年初發布了Java的第一個版本。幾個月后,又發布了Java1.02版,但該版本的Java語言并不是十分完備,不適合用于正規的應用程序的開發。但僅過了一小段時間,Sun公司就發布了令人滿意的Java1.1版,它實現了絕大部分目標。在1998年召開的JavaOne大會上,Sun公司發布了Java1.2版,這就是Java 2. 注:JavaScript是網景公司發明的,原名LiveScript1.3 Java程序的類型Java程序有二類:應用程序和小應用程序(applications和applets)。應用程序是可在任何操作系統提示下執行的程序。單獨的應用程序
55、可以是基于窗口的應用程序或是控制臺應用程序。基于窗口的應用程序有圖形用戶界面,而控制臺應用程序是基于字符的應用程序,沒有圖形用戶界面。單機的應用程序使用單機的資源。網絡應用程序可使用網上資源。分布式應用可訪問網上跨許多計算機執行的對象。允許應用在本地計算機上讀入和寫出文件。單獨應用程序駐留在本地機器的硬盤上。當需要執行此應用程序時,把它從硬盤裝入到內存,并執行之。小應用程序是在Web頁面內執行的Java程序。因此,不象應用程序,小應用程序需要Java使能的瀏覽器,如:Microsoft Internet Explorer4.0或以上版本、Netscape Navigator4.0或以上版本、或
56、HotJava。小應用程序在用戶通過Web瀏覽器裝入Web頁面時被裝入和執行。當包含小應用程序的Web頁面被顯示時,用戶與此小應用程序交互。Applet使用簡單,因為用戶啟動applet必須做的所有事是訪問Web頁面。另一方面,應用程序必須在執行它之前下載到本地計算機。Applets有圖形用戶界面。Applets的安全特權比應用程序差。Applet只可訪問宿主機上資源,他不可訪問被下載計算機上的文件。與應用程序相反,小應用程序可以駐留在遠程計算機上。當本地機器需要執行applet時,applet從遠程系統被裝入到本地機計算機的內存。一旦本地機計算機可用時,由瀏覽器解釋此applet,并與本地提
57、供的庫資源鏈接起來,然后執行之。1.4 編譯和執行Java程序有兩種方法可以編譯和執行Java程序:使用命令行或其他程序,如集成開發環境或者文本編輯器。(1)使用命令行(a)用記事本寫一源文件并保存為.java文件,例hello.java (b)設置環境變量path和classpath(可設置系統變量,以便以任何用戶身份登錄都能使用 我的電腦|屬性|高級|環境變量) 例 path: d:jdk1.3.1_07bin; classpath: .; d: jdk1.3.1_07lib;(c)javac hello.java /javac程序是Java的編譯器。它把hello.java文件編譯成he
58、llo.class文件(d)java welcome/java程序是Java解釋器,它負責解釋執行編譯器生成到class文件中的字節碼。(2)使用集成開發環境 如果有一個Java集成開發環境,就不需要做上面這些繁瑣的事情了。集成開發環境不僅可以提供一個能夠識別Java語法的編輯器,使讀者簡單地編譯和執行Java程序,還可以建立應用程序或者小程序的框架。并調試程序,將做好的程序打包成可執行文件等等。即集成開發環境集成了編輯、編譯、跟蹤調試、執行及打包Java應用程序的一切工具,如Microsoft公司出品的Visual J+及Borland公司出品的JBuilder,它們對系統資源的侵占非常大,
59、通常建議用戶有256MB內存,目前流行的IDE開發工具為eclipse。 初學階段,不需要編寫很復雜的Java程序,對調試方面的需求也并不迫切,使用文本編輯器和JDK就足夠了。(3)從文本編輯器中編譯和運行程序JCreator,FreeJava是Java開發環境的一個圖形用戶界面。第2章 JAVA2介紹本章內容:了解Java及其發展過程了解 Java 的特點和優點了解 Java 的運行機制了解 Java 程序的基本結構掌握如何編譯和運行 Java 程序21 什么是JAVAJava 完全面向對象的編程語言。Java 可用來生成兩類程序:應用程序、小應用程序( Applet ) 。Java 既是一
60、種解釋執行的語言,也是一種編譯執行的語言。211 JAVA語言的版本Java 1.0小型版本Java 1.11997年,改進了用戶界面Java 1.2 1998年,改進圖形用戶界面,數據庫連接Java 1.3 2000年,增加新的核心功能Java 1.4 2002年,安全性的改進,對COBRA的支持等22選擇JAVA的原因面向對象在 Java 中任何東西都是對象,因此,重點集中在數據以及應用程序中的數據操作方法。 易于學習Java的風格類似于C+,因而對C+程序員而言非常容易掌握Java編程技術; Java摒棄了C+中容易引發程序錯誤的地方,如指針操作和內存管理; 平臺無關性Java 程序被編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市公共交通信息化建設與應用考核試卷
- 管道工程標準化戰略實施展望與挑戰應對考核試卷
- 港口及航運設施工程合同管理考核試卷
- 租賃市場客戶關系維護與管理考核試卷
- 深海打撈裝備的作業安全標準制定與實施考核試卷
- 滌綸纖維在高端運動品牌的技術創新與市場應用趨勢考核試卷
- 海洋石油鉆探的鉆井工程優化考核試卷
- 生物質能源項目風險評估與管理考核試卷
- 江漢藝術職業學院《數碼圖形處理》2023-2024學年第二學期期末試卷
- 江西旅游商貿職業學院《運動解剖學》2023-2024學年第二學期期末試卷
- 供應商年度評價內容及評分表
- 公務車輛定點加油服務投標方案(技術標)
- 強化學習與聯邦學習結合
- 泵檢驗標準及方法
- 水土保持學試卷 答案
- 變電站工程施工危險點辨識及預控措施(匯編)
- 關于新能源汽車的論文10000字
- 停車場建設工程監理規劃
- 口腔檢查-口腔一般檢查方法(口腔科課件)
- 中型水力發電廠電氣部分初步設計
- 魚臺工程運河杯匯報材料
評論
0/150
提交評論