发信人: 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毫秒