发信人: vivian (vivid), 信区: Training
标 题: JAVA语言入门(三)
发信站: 紫 丁 香 (Sun Jan 17 18:15:03 1999), 转信
第 三 章 Java程 序 设 计 基础
3.1 Java编 程 概 况
现 在 你 可 以 复 习 一 下Java语 言 的 背 景 材 料, 它 的 基 本 结 构 象C/C++, 但 任 何 用 面 向 过 程 语 言 编 写
过 程 序 的 人 都 可 以 了 解Java语 言 的 大 部 分 结 构.
3.1.1 程 序 结 构
Java语 言 的 源 程 序 代 码 由 一 个 或 多 个 编 译 单 元(compilation unit)组 成, 每 个 编 译 单 元 只 能 包 含 下 列 内
容(空 格 和 注 释 除 外): * 一 个 程 序 包 语 句(package statement ) * 入 口 语 句(import statements) * 类 的 声 明(class
declarations) * 界 面 声 明(interface declarations) 每 个Java的 编 译 单 元 可 包 含 多 个 类 或 界 面, 但 是 每 个 编 译
单 元 最 多 只 能 有 一 个 类 或 者 界 面 是 公 共 的。 Java 的 源 程 序 代 码 被 编 译 之 后, 便 产 生 了Java字 节
代 码。Java的 字 节 代 码 由 一 些 不 依 赖 于 机 器 的 指 令 组 成, 这 些 指 令 能 被Java的 运 行 系 统(runtime
system)有 效 地 解 释。Java的 运 行 系 统 工 作 起 来 如 同 一 台 虚 拟 机。 在 当 前 的Java实 现 中, 每 个 编 译 单
元 就 是 一 个 以.java为 后 缀 的 文 件。 每 个 编 译 单 元 有 若 干 个 类, 编 译 后, 每 个 类 生 成 一 个.class文
件。.class文 件 是Java虚 拟 机 能 够 识 别 的 代 码。
3.1.2 注 释
三 种 类 型 如 下: //注 释 一 行 /*一 行 或 多 行 注 释*/ /**文 档 注 释**/
文 档 注 释 一 般 放 在 一 个 变 量 或 函 数 定 义 之 前,指 示 在 任 何 自 动 生 成 文 档 系 统 中 调 入。 这 些 注 释
都 是 声 明 条 目 的 描 述.。
3.1.3 标 识 符
变 量, 函 数, 类 和 对 象 的 名 称 都 是 标 识 符, 程 序 员 需 要 标 识 和 使 用 的 东 西 都 需 要 标 识 符。
在Java语 言 里,标 识 符 以 字 符 或_,$开 头,后 面 可 以 包 含 数 字, 标 识 符 是 大 小 写 有 区 别 的,没 有 长 度 限
制。
有 效 的 标 识 符 myname ict_network Hello _sys_path $bill
例 子: int a_number; char _onechar; float $bill;
关 键 词 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 数 据 类 型
Java使 用 五 种 基 本 类 型:integer(整 数),floating(浮点 数),point(指 针),Boolean(布 尔 变 量),Character or String(字 符 或
字 符 串)。 integer 整 数 下 边 给 出 的 数 据 表 示 都 是 整 数 的 例 子: 4 , 15 , 089 , 0xAD00
整 数 长 度 数 据 类 型 表 示
8 bits byte
16 bits short
32 bits int
64 bits long
floating 浮点 数 下 边 给 出 的 数 据 表 示 都 是浮点 数 的 例 子: 6.37 , 3.7E15 , 3e8
浮点 数 长 度 数 据 类 型 表 示
32 bits float
64 bits double
Boolean 布 尔 变 量 下 边 是 布 尔 变 量 的 两 种 可 能 取 值: true false
Character 字 符 下 边 给 出 的 都 是 字 符 的 例 子: a \t (tab) \u????(unicode)
String 字 符 串 下 边 给 出 的 都 是 字 符 串 的 例 子: "This is a string literal" "中 国 科 学 院 计 算 所"
数 组 你 可 以 定 义 任 意 类 型 的 数 组. char s[]; 这 是 字 符 型 数 组; int [] array; 这 是 整 型 数 组; 你 还 可 以
定 义 数 组 的 数 组. int block[][]=new int [2][3]; 数 组 边 界 在 运 行 时 被 检 测,避 免 堆 栈 溢 出 和 内 存 崩 溃.
在Java里,数 组 实 际 上 是 一 个 对 象,数 组 有 一 个 成 员 变 量:length。 你 可 以 用 这 个 成 员 函 数 来 查 看 任
意 数 组 的 长 度. int a[][] = new int [10][3] a.length /* 10 */ a[0].length /* 3 */
创 建 数 组 在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");
在 编 译 时 你 不 能 象 下 例 那 样 创 建 静 态 数 组。 int name[50];//将 产 生 一 个 编 译 错 误
你 也 不 能 用new操 作 去 填 充 一 个 没 定 义 大 小 的 数 组。 int name[]; for (int i=0;i<9;i++) { name[i] = i; }
3.1.5 表 达 式
Java语 言 的 表 达 式 和C语 言 非 常 类 似。
运 算 符 运 算 符(operator)优 先 级 从 高 到 底 排 列 如 下: . [ ] () ++ -- ! ~ instanceof * / % + - << >> >>> < > <= >\ ==
! = & ^ && || ? : = op = ,
整 数 运 算 符 在 整 数 运 算 时, 如 果 操 作 数 是long类 型, 则 运 算 结 果 是long类 型, 否 则 为int类 型, 绝 不
会 是byte,short或char型。 这 样, 如 果 变 量i被 声 明 为short或byte,i+1的 结 果 会 是int。 如 果 结 果 超 过 该 类
型 的 取 值 范 围, 则 按 该 类 型 的 最 大 值 取 模。 单 目 整 数 运 算 符 是:
运 算 符 操 作 - 单 目 非 ~ 位 补 码 ++ 加1 -- 减1
++运 算 符 用 于 表 示 直 接 加1操 作。 增 量 操 作 也 可 以 用 加 运 算 符 和 赋 值 操 作 间 接 完 成。++ lvalue (左
值) 表 示lvalue+=1, ++lvalue 也 表 示lvalue =lvalue +1 (只 要lvalue没 有 副 作 用)。--运 算 符 用 于 表 示 减1操
作。++和--运 算 符 既 可 以 作 为 前 缀 运 算 符, 也 可 以 做 为 后 缀 运 算 符。 双 目 整 数 运 算 符 是:
运 算 符 操 作** + 加 - 减 * 乘 / 除 % 取 模 & 位 与 | 位 或 ^ 位 异 或 << 左 移 >> 右 移(带 符 号) >>> 添 零 右 移
整 数 除 法 按 零 舍 入。 除 法 和 取 模 遵 守 以 下 等 式: ( a/b ) * b + ( a%b ) == a 整 数 算 术 运 算 的 异 常 是 由
于 除 零 或 按 零 取 模 造 成 的。 它 将 引 发 一 个 算 术 异 常。 下 溢 产 生 零, 上 溢 导 致 越 界。 例 如: 加1超
过 整 数 最 大 值, 取 模 后, 变 成 最 小 值。 一 个op=赋 值 运 算 符, 和 上 表 中 的 各 双 目 整 数 运 算 符 联
用, 构 成 一 个 表 达 式。 整 数 关 系 运 算 符<, >,<=,>=,==和!=产 生boolean类 型 的 数 据。
布 尔 运 算 符 布 尔(boolean)变 量 或 表 达 式 的 组 合 运 算 可 以 产 生 新 的boolean值。 单 目 运 算 符!是 布 尔
非。 双 目 运 算 符 &, | 和^是 逻 辑AND,OR和XOR运 算 符, 它 们 强 制 两 个 操 作 数 求 布 尔 值。 为 避 免
右 侧 操 作 数 冗 余 求 值, 用 户 可 以 使 用 短 路 求 值 运 算 符 & & 和 | |。 用 户 可 以 使 用==和!=, 赋 值
运 算 符 也 可 以 用 &=、|=、^=。 三 元 条 件 操 作 符? : 和C语 言 中 的 一 样。
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.243.11]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:6.574毫秒