<html>
<head>
<title></title>
<meta name="Author" content="">
<meta name="GENERATOR" content="Mozilla/3.0b4Gold (Win32)">
</head>
<body>
<h1 align=center>第 三 章 Java程 序 设 计 基础 </h1>
<h2 align=center>3.1 Java编 程 概 况 </h2>
<p>现 在 你 可 以 复 习 一 下Java语 言 的 背 景 材 料, 它 的 基 本 结
构 象C/C++, 但 任 何 用 面 向 过 程 语 言 编 写 过 程 序 的 人 都 可 以
了 解Java语 言 的 大 部 分 结 构. </p>
<h3 align=center>3.1.1 程 序 结 构 </h3>
<p>Java语 言 的 源 程 序 代 码 由 一 个 或 多 个 编 译 单 元(compilation
unit)组 成, 每 个 编 译 单 元 只 能 包 含 下 列 内 容(空 格 和 注 释 除
外): * 一 个 程 序 包 语 句(package statement ) * 入 口 语 句(import statements)
* 类 的 声 明(class declarations) * 界 面 声 明(interface declarations)
每 个Java的 编 译 单 元 可 包 含 多 个 类 或 界 面, 但 是 每 个 编 译
单 元 最 多 只 能 有 一 个 类 或 者 界 面 是 公 共 的。 Java 的 源 程 序
代 码 被 编 译 �® 后, 便 产 生 了Java字 节 代 码。Java的 字 节 代
码 由 一 �© 不 依 赖 于 机 器 的 指 令 组 成, 这 �© 指 令 能
被Java的 运 行 系 统(runtime system)有 效 地 解 释。Java的 运 行 系 统
工 作 起 来 如 同 一 台 虚 拟 机。 在 当 前 的Java实 现 中, 每 个 编 译
单 元 就 是 一 个 以.java为 后 缀 的 文 件。 每 个 编 译 单 元 有 若 干
个 类, 编 译 后, 每 个 类 生 成 一 个.class文 件。.class文 件 是Java虚
拟 机 能 够 识 别 的 代 码。 </p>
<h3 align=center>3.1.2 注 释 </h3>
<p>三 种 类 型 如 下: //注 释 一 行 /*一 行 或 多 行 注 释*/ /**文 档
注 释**/ </p>
<p>文 档 注 释 一 般 放 在 一 个 变 量 或 函 数 定 义 �® 前,指 示 在
任 何 自 动 生 成 文 档 系 统 中 调 入。 这 �© 注 释 都 是 声 明 条
目 的 描 述.。 </p>
<h3 align=center>3.1.3 标 识 符 </h3>
<p>变 量, 函 数, 类 和 对 象 的 名 称 都 是 标 识 符, 程 序 员 需 要
标 识 和 使 用 的 东 西 都 需 要 标 识 符。 在Java语 言 里,标 识 符 以
字 符 或_,$开 头,后 面 可 以 包 含 数 字, 标 识 符 是 大 小 写 有 区 别
的,没 有 长 度 限 制。 </p>
<p>有 效 的 标 识 符 myname ict_network Hello _sys_path $bill </p>
<p>例 子: int a_number; char _onechar; float $bill; </p>
<p> 关 键 词 abstract continue for new switch </p>
<p>boolean default goto null synchronized </p>
<p>break do if package this </p>
<p>byte double implements private threadsafe </p>
<p>byvalue else import protected throw </p>
<p>case extends instanceof public transient </p>
<p>catch false int return true </p>
<p>char final interface short try </p>
<p>class finally long static void </p>
<p>const float native super while </p>
<p> 其 它 保 留 词 以 下 单 词 被 保 留 使 用: cast future generic inner
</p>
<p>operator outer rest var </p>
<h3 align=center>3.1.4 数 据 类 型</h3>
<p>Java使 用 五 种 基 本 类 型:integer(整 数),floating(浮点 数),point(指
针),Boolean(布 尔 变 量),Character or String(字 符 或 字 符 �®)。 integer
整 数 下 边 给 出 的 数 据 表 示 都 是 整 数 的 例 子: 4 , 15 , 089 , 0xAD00
</p>
<p>整 数 长 度 数 据 类 型 表 示 </p>
<p>8 bits byte </p>
<p>16 bits short </p>
<p>32 bits int </p>
<p>64 bits long </p>
<p>floating 浮点 数 下 边 给 出 的 数 据 表 示 都 是浮点 数 的 例 子:
6.37 , 3.7E15 , 3e8 </p>
<p>浮点 数 长 度 数 据 类 型 表 示 </p>
<p>32 bits float </p>
<p>64 bits double </p>
<p>Boolean 布 尔 变 量 下 边 是 布 尔 变 量 的 两 种 可 能 取 值: true false
</p>
<p>Character 字 符 下 边 给 出 的 都 是 字 符 的 例 子: a \t (tab) \u????(unicode)
</p>
<p>String 字 符 �® 下 边 给 出 的 都 是 字 符 �® 的 例 子: "This
is a string literal" "中 国 科 学 院 计 算 所" </p>
<p>数 组 你 可 以 定 义 任 意 类 型 的 数 组. char s[]; 这 是 字 符 型
数 组; int [] array; 这 是 整 型 数 组; 你 还 可 以 定 义 数 组 的
数 组. int block[][]=new int [2][3]; 数 组 边 界 在 运 行 时 被 检 测,避
免 堆 栈 溢 出 和 内 存 崩 溃. </p>
<p>在Java里,数 组 实 际 上 是 一 个 对 象,数 组 有 一 个 成 员 变 量:length。
你 可 以 用 这 个 成 员 函 数 来 查 看 任 意 数 组 的 长 度. int a[][]
= new int [10][3] a.length /* 10 */ a[0].length /* 3 */ </p>
<p>创 建 数 组 在Java里 创 建 数 组,你 可 使 用 两 种 基 本 方 法 �®
一。 创 建 一 个 空 数 组: int list[]=new int[50]; 或 你 可 以 用 初
始 数 值 填 充 数 组. 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"); </p>
<p>在 编 译 时 你 不 能 象 下 例 那 样 创 建 静 态 数 组。 int name[50];//将
产 生 一 个 编 译 错 误 </p>
<p>你 也 不 能 用new操 作 去 填 充 一 个 没 定 义 大 小 的 数 组。 int name[];
for (int i=0;i<9;i++) { name[i] = i; } </p>
<h3 align=center>3.1.5 表 达 式 </h3>
<p>Java语 言 的 表 达 式 和C语 言 非 常 类 似。 </p>
<p>运 算 符 运 算 符(operator)优 先 级 从 高 到 底 排 列 如 下: . [ ]
() ++ -- ! ~ instanceof * / % + - << >> >>> <
> <= >\ == ! = & ^ && || ? : = op = , </p>
<p>整 数 运 算 符 在 整 数 运 算 时, 如 果 操 作 数 是long类 型, 则 运
算 结 果 是long类 型, 否 则 为int类 型, 绝 不 会 是byte,short或char型。
这 样, 如 果 变 量i被 声 明 为short或byte,i+1的 结 果 会 是int。 如 果
结 果 超 过 该 类 型 的 取 值 范 围, 则 按 该 类 型 的 最 大 值 取 模。
单 目 整 数 运 算 符 是: </p>
<p>运 算 符 操 作 - 单 目 非 ~ 位 补 码 ++ 加1 -- 减1 </p>
<p>++运 算 符 用 于 表 示 直 接 加1操 作。 增 量 操 作 也 可 以 用 加 运
算 符 和 赋 值 操 作 间 接 完 成。++ lvalue (左 值�© 表 示lvalue+=1,
++lvalue 也 表 示lvalue =lvalue +1 (只 要lvalue没 有 副 作 用)。--运 算
符 用 于 表 示 减1操 作。++和--运 算 符 既 可 以 作 为 前 缀 运 算 符,
也 可 以 做 为 后 缀 运 算 符。 双 目 整 数 运 算 符 是: </p>
<p>运 算 符 操 作** + 加 - 减 * 乘 / 除 % 取 模 & 位 与 | 位 或
^ 位 异 或 << 左 移 >> 右 移(带 符 号) >>> 添 零 右
移 </p>
<p>整 数 除 法 按 零 舍 入。 除 法 和 取 模 遵 守 以 下 等 式: ( a/b )
* b + ( a%b ) == a 整 数 算 术 运 算 的 异 常 是 由 于 除 零 或 按 零 取
模 造 成 的。 它 将 引 发 一 个 算 术 异 常。 下 溢 产 生 零, 上 溢 导
致 越 界。 例 如: 加1超 过 整 数 最 大 值, 取 模 后, 变 成 最 小 值。
一 个op=赋 值 运 算 符, 和 上 表 中 的 各 双 目 整 数 运 算 符 联 用,
构 成 一 个 表 达 式。 整 数 关 系 运 算 符<, >,<=,>=,==和!=产
生boolean类 型 的 数 据。 </p>
<p>布 尔 运 算 符 布 尔(boolean)变 量 或 表 达 式 的 组 合 运 算 可 以
产 生 新 的boolean值。 单 目 运 算 符!是 布 尔 非。 双 目 运 算 符 &,
| 和^是 逻 辑AND,OR和XOR运 算 符, 它 们 强 制 两 个 操 作 数 求 布 尔
值。 为 避 免 右 侧 操 作 数 冗 余 求 值, 用 户 可 以 使 用 短 路 求 值
运 算 符 & & 和 | |。 用 户 可 以 使 用==和!=, 赋 值 运 算 符 也 可
以 用 &=、|=、^=。 三 元 条 件 操 作 符? : 和C语 言 中 的 一 样。 </p>
<p>浮点 运 算 符 浮点 运 算 符 可 以 使 用 常 规 运 算 符 的 组 合: 如
单 目 运 算 符++、--, 双 目 运 算 符+、-、* 和/, 以 及 赋 值 运 算 符+=,-=,*=,
和/=。 此 外, 还 有 取 模 运 算: %和%=也 可 以 作 用 于浮点 数, 例 如:
a%b和a-((int) (a/b)*b)的 语 义 相 同。 这 表 示a%b的 结 果 是 除 完 后
剩 下 的浮点 数 部 分。 只 有 单 精 度 操 作 数 的浮点 表 达 式 按 照 单
精 度 运 算 求 值, 产 生 单 精 度 结 果。 如 果浮点 表 达 式 中 含 有
一 个 或 一 个 以 上 的 双 精 度 操 作 数, 则 按 双 精 度 运 算, 结 果
是 双 精 度浮点 数。 </p>
<p>数 组 运 算 符 数 组 运 算 符 形 式 如 下: <expression> [ <expression>]
可 给 出 数 组 中 某 个 元 素 的 值。 合 法 的 取 值 范 围 是 从0到 数
组 的 长 度 减1。 取 值 范 围 的 检 查 只 在 运 行 时 刻 实 �©。 </p>
<p>�® 运 算 符 �® 以String对 象 实 现。 运 算 符"+"完
成 并 �® 操 作, 如 果 必 要 则 自 动 把 操 作 数 转 换 为String型。
如 果 操 �
评论0