?? 3.html
字號:
<HTML><HEAD><TITLE>黃金書屋</TITLE><META content="text/html; charset=gb2312" http-equiv=Content-Type><link rel="stylesheet" href="/cssset.css"></HEAD><BODY bgColor=#ffffff leftMargin=0 link=#000000 topMargin=0 vLink=#000000><center> <script language="JavaScript" src="/top.js"></script></center><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="12%"></TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <center> <iframe width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no bordercolor="#000000" src="/banner3.html"></iframe> </center> <br> </TD> <TD bgColor=#c6bba4 vAlign=top width="12%"></TD> </TR></TABLE><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="11%" align="right"> <br><br><br> <b><a href="/index.html">回首頁</a><br><br><a href='2.html'>上一頁</a><br><br><a href='4.html'>下一頁</a><br><br><a href='http://pub.goldnets.com:81/bbs/post.php?job=new&topic=12210' target=_blank> 我有話說 </a><br><br><a href='http://pub.goldnets.com:81/bbs/bbslist.php?topic=12210' target=_blank> 評論一覽 </a></center><br><!--title_end--></b> </TD> <TD bgColor=#c6bba4 vAlign=top width="1%"></TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <br> <hr align="center" width="98%" size="1"> <br> <font color="blue">Java語言入門</font> >> <font color=red>第 三 章 Java程 序 設(shè) 計 基 礎(chǔ)</font><hr width=90% color=#7A7A71><table width=88% border=0 align=center><tr><td><div style=font-size:12pt><pre> Java語言入門
第 三 章 Java程 序 設(shè) 計 基 礎(chǔ)
3.1 Java編 程 概 況
現(xiàn) 在 你 可 以 復 習 一 下Java語 言 的 背 景 材 料, 它 的 基 本 結(jié)
構(gòu) 象C/C++, 但 任 何 用 面 向 過 程 語 言 編 寫 過 程 序 的 人 都 可
以 了 解Java語 言 的 大 部 分 結(jié) 構(gòu).
3.1.1 程 序 結(jié) 構(gòu)
Java語 言 的 源 程 序 代 碼 由 一 個 或 多 個 編 譯 單 元
(compilation unit)組 成, 每 個 編 譯 單 元 只 能 包 含 下 列 內(nèi) 容(空
格 和 注 釋 除 外): * 一 個 程 序 包 語 句(package statement ) * 入 口
語 句(import statements) * 類 的 聲 明(class declarations) * 界 面 聲
明(interface declarations) 每 個Java的 編 譯 單 元 可 包 含 多 個 類
或 界 面, 但 是 每 個 編 譯 單 元 最 多 只 能 有 一 個 類 或 者 界 面
是 公 共 的。 Java 的 源 程 序 代 碼 被 編 譯 ?reg; 后, 便 產(chǎn) 生 了
Java字 節(jié) 代 碼。Java的 字 節(jié) 代 碼 由 一 ?copy; 不 依 賴 于 機 器 的
指 令 組 成, 這 ?copy; 指 令 能 被Java的 運 行 系 統(tǒng)(runtime system)
有 效 地 解 釋。Java的 運 行 系 統(tǒng) 工 作 起 來 如 同 一 臺 虛 擬 機。
在 當 前 的Java實 現(xiàn) 中, 每 個 編 譯 單 元 就 是 一 個 以.java為 后
綴 的 文 件。 每 個 編 譯 單 元 有 若 干 個 類, 編 譯 后, 每 個 類 生
成 一 個.class文 件。.class文 件 是Java虛 擬 機 能 夠 識 別 的 代 碼。
3.1.2 注 釋
三 種 類 型 如 下: //注 釋 一 行 /*一 行 或 多 行 注 釋*/ /**文 檔 注
釋**/
文 檔 注 釋 一 般 放 在 一 個 變 量 或 函 數(shù) 定 義 ?reg; 前,指 示 在
任 何 自 動 生 成 文 檔 系 統(tǒng) 中 調(diào) 入。 這 ?copy; 注 釋 都 是 聲 明
條 目 的 描 述.。
3.1.3 標 識 符
變 量, 函 數(shù), 類 和 對 象 的 名 稱 都 是 標 識 符, 程 序 員 需 要 標
識 和 使 用 的 東 西 都 需 要 標 識 符。 在Java語 言 里,標 識 符 以
字 符 或_,$開 頭,后 面 可 以 包 含 數(shù) 字, 標 識 符 是 大 小 寫 有 區(qū)
別 的,沒 有 長 度 限 制。
有 效 的 標 識 符 myname ict_network Hello _sys_path $bill
例 子: int a_number; char _onechar; float $bill;
關(guān) 鍵 詞 abstract continue for new switch
boolean default goto null synchronized
break do if package this
byte double implements private threadsafe
byvalue else import protected throw
case extends instanceof public transient
catch false int return true
char final interface short try
class finally long static void
const float native super while
其 它 保 留 詞 以 下 單 詞 被 保 留 使 用: cast future generic inner
operator outer rest var
3.1.4 數(shù) 據(jù) 類 型
Java使 用 五 種 基 本 類 型:integer(整 數(shù)),floating(浮點
數(shù)),point(指 針),Boolean(布 爾 變 量),Character or String(字 符 或 字
符 ?reg;)。 integer 整 數(shù) 下 邊 給 出 的 數(shù) 據(jù) 表 示 都 是 整 數(shù) 的 例
子: 4 , 15 , 089 , 0xAD00
整 數(shù) 長 度 數(shù) 據(jù) 類 型 表 示
8 bits byte
16 bits short
32 bits int
64 bits long
floating 浮點 數(shù) 下 邊 給 出 的 數(shù) 據(jù) 表 示 都 是浮點 數(shù) 的 例 子:
6.37 , 3.7E15 , 3e8
浮點 數(shù) 長 度 數(shù) 據(jù) 類 型 表 示
32 bits float
64 bits double
Boolean 布 爾 變 量 下 邊 是 布 爾 變 量 的 兩 種 可 能 取 值: true
false
Character 字 符 下 邊 給 出 的 都 是 字 符 的 例 子: a \t (tab)
\u????(unicode)
String 字 符 ?reg; 下 邊 給 出 的 都 是 字 符 ?reg; 的 例 子: "This
is a string literal" "中 國 科 學 院 計 算 所"
數(shù) 組 你 可 以 定 義 任 意 類 型 的 數(shù) 組. char s[]; 這 是 字 符 型 數(shù)
組; int [] array; 這 是 整 型 數(shù) 組; 你 還 可 以 定 義 數(shù) 組 的 數(shù) 組.
int block[][]=new int [2][3]; 數(shù) 組 邊 界 在 運 行 時 被 檢 測,避 免
堆 棧 溢 出 和 內(nèi) 存 崩 潰.
在Java里,數(shù) 組 實 際 上 是 一 個 對 象,數(shù) 組 有 一 個 成 員 變 量:
length。 你 可 以 用 這 個 成 員 函 數(shù) 來 查 看 任 意 數(shù) 組 的 長 度.
int a[][] = new int [10][3] a.length /* 10 */ a[0].length /* 3 */
創(chuàng) 建 數(shù) 組 在Java里 創(chuàng) 建 數(shù) 組,你 可 使 用 兩 種 基 本 方 法 ?reg;
一。 創(chuàng) 建 一 個 空 數(shù) 組: int list[]=new int[50]; 或 你 可 以 用 初 始
數(shù) 值 填 充 數(shù) 組. String names[] = { "Chenji","Yuan","Chun","Yang" };
相 當 于 下 面 功 能: String names[]; names = new String[4];
names[0]=new String("Chenji"); names[1]=new String("Yuan");
names[2]=new String("Chun"); names[3]=new String("Yang");
在 編 譯 時 你 不 能 象 下 例 那 樣 創(chuàng) 建 靜 態(tài) 數(shù) 組。 int
name[50];//將 產(chǎn) 生 一 個 編 譯 錯 誤
你 也 不 能 用new操 作 去 填 充 一 個 沒 定 義 大 小 的 數(shù) 組。 int
name[]; for (int i=0;i<9;i++) { name[i] = i; }
3.1.5 表 達 式
Java語 言 的 表 達 式 和C語 言 非 常 類 似。
運 算 符 運 算 符(operator)優(yōu) 先 級 從 高 到 底 排 列 如 下: . [ ] ()
++ -- ! ~ instanceof * / % + - << >> >>> < > <= >\ == ! = & ^ && || ? :
= op = ,
整 數(shù) 運 算 符 在 整 數(shù) 運 算 時, 如 果 操 作 數(shù) 是long類 型, 則 運
算 結(jié) 果 是long類 型, 否 則 為int類 型, 絕 不 會 是byte,short或
char型。 這 樣, 如 果 變 量i被 聲 明 為short或byte,i+1的 結(jié) 果 會
是int。 如 果 結(jié) 果 超 過 該 類 型 的 取 值 范 圍, 則 按 該 類 型 的
最 大 值 取 模。 單 目 整 數(shù) 運 算 符 是:
運 算 符 操 作 - 單 目 非 ~ 位 補 碼 ++ 加1 -- 減1
++運 算 符 用 于 表 示 直 接 加1操 作。 增 量 操 作 也 可 以 用 加 運
算 符 和 賦 值 操 作 間 接 完 成。++ lvalue (左 值?copy; 表 示
lvalue+=1, ++lvalue 也 表 示lvalue =lvalue +1 (只 要lvalue沒 有 副 作
用)。--運 算 符 用 于 表 示 減1操 作。++和--運 算 符 既 可 以 作 為 前
綴 運 算 符, 也 可 以 做 為 后 綴 運 算 符。 雙 目 整 數(shù) 運 算 符 是:
運 算 符 操 作** + 加 - 減 * 乘 / 除 % 取 模 & 位 與 | 位 或 ^ 位 異
或 << 左 移 >> 右 移(帶 符 號) >>> 添 零 右 移
整 數(shù) 除 法 按 零 舍 入。 除 法 和 取 模 遵 守 以 下 等 式: ( a/b ) *
b + ( a%b ) == a 整 數(shù) 算 術(shù) 運 算 的 異 常 是 由 于 除 零 或 按 零 取
模 造 成 的。 它 將 引 發(fā) 一 個 算 術(shù) 異 常。 下 溢 產(chǎn) 生 零, 上 溢 導
致 越 界。 例 如: 加1超 過 整 數(shù) 最 大 值, 取 模 后, 變 成 最 小 值。
一 個op=賦 值 運 算 符, 和 上 表 中 的 各 雙 目 整 數(shù) 運 算 符 聯(lián)
用, 構(gòu) 成 一 個 表 達 式。 整 數(shù) 關(guān) 系 運 算 符<, >,<=,>=,==和!=
產(chǎn) 生boolean類 型 的 數(shù) 據(jù)。
布 爾 運 算 符 布 爾(boolean)變 量 或 表 達 式 的 組 合 運 算 可 以
產(chǎn) 生 新 的boolean值。 單 目 運 算 符!是 布 爾 非。 雙 目 運 算 符
&, | 和^是 邏 輯AND,OR和XOR運 算 符, 它 們 強 制 兩 個 操 作 數(shù)
求 布 爾 值。 為 避 免 右 側(cè) 操 作 數(shù) 冗 余 求 值, 用 戶 可 以 使 用
短 路 求 值 運 算 符 & & 和 | |。 用 戶 可 以 使 用==和!=, 賦 值
運 算 符 也 可 以 用 &=、|=、^=。 三 元 條 件 操 作 符? : 和C語 言 中
的 一 樣。
浮點 運 算 符 浮點 運 算 符 可 以 使 用 常 規(guī) 運 算 符 的 組 合: 如
單 目 運 算 符++、--, 雙 目 運 算 符+、-、* 和/, 以 及 賦 值 運 算 符
+=,-=,*=, 和/=。 此 外, 還 有 取 模 運 算: %和%=也 可 以 作 用 于
浮點 數(shù), 例 如: a%b和a-((int) (a/b)*b)的 語 義 相 同。 這 表 示a%b
的 結(jié) 果 是 除 完 后 剩 下 的浮點 數(shù) 部 分。 只 有 單 精 度 操 作 數(shù)
的浮點 表 達 式 按 照 單 精 度 運 算 求 值, 產(chǎn) 生 單 精 度 結(jié) 果。 如
果浮點 表 達 式 中 含 有 一 個 或 一 個 以 上 的 雙 精 度 操 作 數(shù),
則 按 雙 精 度 運 算, 結(jié) 果 是 雙 精 度浮點 數(shù)。
數(shù) 組 運 算 符 數(shù) 組 運 算 符 形 式 如 下: <expression> [ <expression>]
可 給 出 數(shù) 組 中 某 個 元 素 的 值。 合 法 的 取 值 范 圍 是 從0到
數(shù) 組 的 長 度 減1。 取 值 范 圍 的 檢 查 只 在 運 行 時 刻
實 ?copy;。
?reg; 運 算 符 ?reg; 以String對 象 實 現(xiàn)。 運 算 符"+"完 成 并 ?reg;
操 作, 如 果 必 要 則 自 動 把 操 作 數(shù) 轉(zhuǎn) 換 為String型。 如 果 操
作 數(shù) 是 一 個 對 象, 它 可 定 義 一 個 方 法toString ( ) 返 回 該 對
象 的String方 式, 例 如 float a = 1.0 print ("The value of a is"+ a
+"\n"); +運 算 符 用 到 ?reg; 上 的 例 子 String s="a="+ a; +=運 算
符 也 可 以 用 于String。 注 意, 左 邊(下 例 中 的s1)僅 求 值 一 次。
s1+=a; //s1=s1+a //若a非String型, 自 動 轉(zhuǎn) 換 為String型。
對 象 運 算 符 雙 目 運 算 符instanceof 測 試 某 個 對 象 是 否 是
指 定 類 或 其 子 類 的 實 例。 例 如: if (myObject instanceof MyClass)
{ MyClass anothermyObject=( MyClass) myObject; … } 是 判 定myObject
是 否 是MyClass的 實 例 或 是 其 子 類 的 實 例。
強 制 和 轉(zhuǎn) 換 Java語 言 和 解 釋 器 限 制 使 用 強 制 和 轉(zhuǎn) 換, 以
防 止 出 錯 導 致 系 統(tǒng) 崩 潰。 整 數(shù) 和浮點 數(shù) ?reg; 間 可 以 來 回
強 制 轉(zhuǎn) 換, 但 整 數(shù) 不 能 強 制 轉(zhuǎn) 換 成 數(shù) 組 或 對 象。 對 象 不
能 被 強 制 為 基 本 類 型。
3.1.6 Java流 控 制
下 面 幾 個 控 制 結(jié) 構(gòu) 是 從C語 言 借 鑒 的。
分 支 結(jié) 構(gòu)
if/else分 支 結(jié) 構(gòu)
if (Boolean) { statemanets; } else { statements; }
switch分 支 結(jié) 構(gòu)
switch(expr1) { case expr2: statements; break; case expr3: statements;
break; default: statements; break; }
循 環(huán) 結(jié) 構(gòu) for循 環(huán) 結(jié) 構(gòu)
for (init expr1;test expr2;increment expr3) { statements; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -