ML

Similar documents
《C语言基础入门》课程教学大纲

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

电信系教学大纲的基本规范

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单


2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院


龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

Microsoft Word - 文件汇编.doc

学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 8:10-9:50 第 二 公 共 教 学 楼 A 区 A 高 等 数 学 ( 理 二 2) 复 材 材 料 科 学 与 工 程

中 国 软 科 学 年 第 期!!!

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

深圳市新亚电子制程股份有限公司

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

002 电 子 科 学 与 工 程 学 院 拟 招 生 150 人 联 系 人 : 周 老 师, 电 话 物 理 电 子 学 电 路 分 析 电 磁 场 理 论 01 电 磁 物 理 与 微 波 电 子 学 02 光 子 学 与 光 电 技 术 03 微 纳

第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系

国家职业标准:网络课件设计师

修改版-操作手册.doc

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

 编号:

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

I

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

课程类 别


珠江钢琴股东大会


untitled

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

2006年顺德区高中阶段学校招生录取分数线

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

思 想 政 治 理 论 经 核 查 无 误 思 想 政 治 理 论 经 核 查 无 误 思 想 政 治 理 论 经 核 查 无 误 思 想

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

ETF、分级基金规模、份额变化统计

2014年中央财经大学研究生招生录取工作简报

第2章 数据类型、常量与变量

教师上报成绩流程图

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>



2009—2010级本科课程教学大纲与课程简介格式

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 ( 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开


抗 日 战 争 研 究 年 第 期

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

( 此 页 无 正 文, 为 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 之 签 署 页 ) 广 东 东 方 精 工 科 技 股 份 有 限 公 司 法 定 代 表 人 : 唐 灼 林 2016 年 7 月 28 日

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

浙 江 海 洋 学 院 417 普 通 生 态 学 与 鱼 类 学 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 基 础 生 态 学 笔 记, 此 笔 记 为 高 分 研 究 生 复 习 所 用, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效 率, 把 握 报

内 容 二 : 建 立 并 完 善 了 三 点 的 网 络 教 学 管 理 体 系 内 容 三 : 注 重 培 养 学 生 的 听 说 能 力 14

<4D F736F F D20C6F3D2B5C5E0D1B5CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

简 报 要 点 ESI 共 有 22 个 学 科 门 类, 江 苏 高 校 目 前 只 有 16 个 学 科 门 类 进 入 了 世 界 1%, 分 别 是 一 般 社 会 科 学 临 床 医 学 农 业 科 学 分 子 生 物 学 和 遗 传 学 动 植 物 科 学 化 学 地 球 科 学 工 程


3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

上海工程技术大学教学管理工作流

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

金融全渠道银行彩页中文版0702

《应用数学Ⅰ》教学大纲

资 料 来 源 延 边 中 级 人 民 法 院 小 野 和 子 指 出 年 实 施 婚 姻 法 后 的 年 间 中 国 有 万 人 因 婚 姻 问 题 自 杀 或 被 杀 离 婚 自 由 对 社 会 和 家 庭 稳 定 带 来 了 很 大 的 影 响 因 婚 姻 问 题 刑 事 案 件 频 发 已

(1) 连 续 从 事 本 职 业 工 作 2 年 以 上, 经 本 职 业 助 网 络 编 辑 师 正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 (2) 取 得 本 职 业 网 络 编 辑 员 职 业 资 格 证 书 后, 连 续 从 事 本 职 业 工 作 2 年

微 积 分 ( 二 ) 教 学 大 纲 2 (2010 版 ) 课 程 编 码 : 课 程 名 称 : 微 积 分 学 时 / 学 分 :36/2 先 修 课 程 : 初 等 数 学 立 体 几 何 平 面 解 析 几 何 微 积 分 ( 一 ) 适 用 专 业 : 人 力 资 源 管

Cybozu Garoon 3 管理员手册


国债回购交易业务指引

数 学 标 准 不 练 习 1.1 理 解 问 题 并 坚 持 解 决 这 些 问 题 1.2 以 抽 象 和 定 量 方 式 推 理 1.3 建 构 可 行 参 数 和 评 判 他 人 的 推 理 1.4 使 用 数 学 方 法 建 模 1.5 策 略 性 地 使 用 合 适 的 工 具 1.6

21 业 余 制 -- 高 起 专 (12 级 ) 75 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 江 西 化 校 工 科 22 业 余 制 -- 高 起 专 (12 级 ) 70 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 吉

四川省农村义务教育学生

证券代码: 证券简称:长城电脑 公告编号:

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品


<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

一、资质申请

三门峡市质量技术监督局清单公示

Microsoft Word - 工业品封面.doc

物 流 从 业 人 员 职 业 能 力 等 级 证 书 分 为 四 个 级 别, 分 别 为 初 级 助 理 级 中 级 和 高 级 ; 采 购 从 业 人 员 职 业 能 力 等 级 证 书 分 为 三 个 级 别, 分 别 为 中 级 高 级 和 注 册 级 请 各 有 关 单 位 按 照 通

境 外 上 市 外 资 股 股 东 持 有 股 份 总 数 (H 股 ) 489,157,907 3 出 席 会 议 的 股 东 所 持 有 表 决 权 股 份 数 占 公 司 有 表 决 权 股 份 总 数 的 其 中 :A 股 股 东 持 股 占 股 份 总 数 的

2016年南开大学MBA招生信息

附件1:

应用化学专业(服装安全与评价、纺织化学方向)

Transcription:

Java 语 言 程 序 设 计 汤 一 平 等 编 著 北 京

内 容 简 介 本 书 基 于 Java 语 言 介 绍 面 向 对 象 的 程 序 设 计, 全 书 共 12 章, 介 绍 了 计 算 机 系 统 的 硬 件 与 软 件 Java 程 序 入 门 Java 编 程 面 向 对 象 的 编 程 技 术 基 础 Applets 和 Graphics 高 级 的 Java 编 程 功 能 面 向 对 象 的 高 级 编 程 技 术 图 形 化 用 户 界 面 的 编 程 技 术 异 常 和 输 入 / 输 出 流 Java 的 服 务 器 端 组 件 技 术 和 Java 语 言 的 应 用 实 例 HelkCFG 书 中 有 大 量 的 应 用 实 例, 通 过 本 书 的 学 习, 读 者 可 独 立 开 发 一 些 Java 小 程 序 本 书 可 以 作 为 计 算 机 通 信 等 信 息 类 专 业 本 科 生 的 教 材, 也 可 以 作 为 广 大 教 学 科 研 和 工 程 技 术 人 员 的 参 考 书 图 书 在 版 编 目 (CIP) 数 据 Java 语 言 程 序 设 计 / 汤 一 平 等 编 著. 北 京 : 科 学 出 版 社,2006. 1 ( 面 向 21 世 纪 高 等 院 校 计 算 机 系 列 规 划 教 材 ) ISBN 7-03-016727-9 Ⅰ.J Ⅱ. 汤 Ⅲ.JAVA 语 言 - 程 序 设 计 - 高 等 学 校 - 教 材 Ⅳ. TP312 中 国 版 本 图 书 馆 CIP 数 据 核 字 (2005) 第 157900 号 责 任 编 辑 : 吕 建 忠 李 伟 / 责 任 校 对 : 刘 彦 妮 责 任 印 制 : 吕 春 珉 / 封 面 设 计 : 飞 天 创 意 北 京 东 黄 城 根 北 街 16 号 邮 政 编 码 :100717 http :/ / ww w. science p. com 出 版 印 刷 科 学 出 版 社 发 行 各 地 新 华 书 店 经 销 * 2006 年 1 月 第 一 版 开 本 :787 1092 1 / 16 2006 年 1 月 第 一 次 印 刷 印 张 :20 印 数 :1 3000 字 数 :453 000 定 价 :26. 00 元 ( 如 有 印 装 质 量 问 题, 我 社 负 责 调 换 ) 销 售 部 电 话 010-62136131 编 辑 部 电 话 010-62138978 - 8001 (HI09)

前 言 1991 年, 为 了 开 发 一 种 面 向 家 用 电 器 并 能 够 在 家 用 电 子 产 品 上 进 行 交 互 式 操 作 的 软 件 产 品,Sun 公 司 组 织 了 一 批 优 秀 的 工 程 师, 成 立 了 一 个 名 为 Green 的 计 算 机 语 言 项 目 开 发 小 组, 开 发 了 用 于 网 络 的 精 巧 而 安 全 的 软 件 Oak, 它 就 是 Java 语 言 的 前 身 WWW 浏 览 器 的 出 现 使 得 Internet 的 表 现 力 及 魅 力 陡 增,Oak 语 言 被 定 位 于 WWW 浏 览 器 的 应 用 上 1995 年 1 月,Oak 升 级 到 新 的 版 本 并 改 名 为 Java 1995 年 春,Sun 公 司 公 布 了 Java 的 完 整 技 术 规 范, 立 即 得 到 包 括 Netscape 公 司 在 内 的 各 WWW 厂 商 的 广 泛 支 持 由 于 Java 语 言 具 有 与 环 境 无 关 跨 平 台 等 特 点, 这 对 整 个 计 算 机 产 业 产 生 了 深 远 的 影 响, 对 传 统 的 计 算 模 型 提 出 了 新 的 挑 战, 很 快 就 引 起 了 一 场 软 件 革 命 目 前,Java 提 供 3 个 方 面 的 应 用 : J2SE: 用 于 编 写 桌 面 / 工 作 站 应 用 程 序 其 最 新 版 本 J2SE 1. 5 为 企 业 及 客 户 端 应 用 程 序 开 发 提 供 了 更 高 的 性 能 和 更 好 的 Web 部 署 J2ME: 是 致 力 于 消 费 产 品 和 嵌 入 式 设 备 的 最 佳 解 决 方 案, 特 别 是 在 移 动 通 信 设 备 移 动 计 算 设 备 小 型 家 电 消 费 产 品 上 得 到 了 广 泛 的 应 用 J2EE: 是 前 沿 的 Java 技 术 平 台, 为 服 务 器 的 计 算 提 供 了 所 有 范 围 的 企 业 级 功 能 此 平 台 的 设 计 使 它 能 够 为 创 建 企 业 级 n 层 Java 应 用 程 序 提 供 集 成 Java 应 用 程 序 环 境 从 Java 所 提 供 的 3 个 方 面 的 应 用 来 看,Java 已 经 渗 透 到 我 们 生 活 的 方 方 面 面, 小 到 我 们 所 携 带 的 手 机, 大 到 航 空 航 天 装 备 正 像 Java 当 时 作 出 的 最 重 要 的 承 诺 一 样,Java 成 为 了 一 种 万 能 胶, 将 用 户 同 信 息 连 接 到 一 起, 无 论 这 些 信 息 来 自 Web 服 务 器 数 据 库 信 息 供 应 商, 还 是 能 够 想 像 到 的 其 他 任 何 一 种 信 息 源 由 于 Java 拥 有 坚 强 的 工 程 技 术 力 量 这 个 后 盾, 它 获 得 了 世 界 上 IT 厂 商 的 广 泛 支 持 其 内 建 的 安 全 及 保 密 特 性 可 同 时 满 足 软 件 工 程 师 程 序 员 和 最 终 用 户 在 这 方 面 的 需 求 而 且,Java 语 言 已 经 内 置 了 对 许 多 高 级 编 程 任 务, 如 网 络 编 程 数 据 库 连 接 3D 编 程 以 及 多 线 程 等 的 支 持 目 前 市 场 上 介 绍 Java 的 书 籍 非 常 多, 引 进 的 国 外 教 材 和 参 考 书 也 很 多, 但 是 从 教 与 学 的 角 度 来 审 视 这 些 书 籍 总 感 到 有 些 不 足, 笔 者 感 到, 在 我 国 高 等 院 校 关 于 计 算 机 科 学 与 技 术 教 育 的 计 算 机 语 言 类 教 材 方 面 还 是 很 有 潜 力 可 挖 的, 这 就 是 编 写 本 书 的 出 发 点 和 目 的 通 过 本 书 的 课 堂 授 课 上 机 实 践 和 作 业 指 导, 读 者 能 达 到 以 下 目 标 : 1) 掌 握 面 向 对 象 程 序 设 计 的 基 本 概 念 原 理 和 特 征 2) 掌 握 基 于 Java 的 对 象 程 序 设 计 思 想 和 技 术 3) 掌 握 Java 语 言 及 工 具 ( 主 要 是 JDK) 的 使 用 方 法, 并 能 自 主 开 发 简 单 的 程 序 4) 把 在 本 课 程 之 前 学 过 的 关 于 计 算 机 科 学 方 面 的 知 识 通 过 Java 编 程 技 术 贯 通

ii Java 语 言 程 序 设 计 起 来 一 般 来 说, 学 习 Java 语 言 的 重 点 和 难 点 在 于 纯 对 象 式 设 计 本 书 的 主 要 内 容 是 基 于 Java 语 言 进 行 面 向 对 象 的 设 计, 目 的 是 使 读 者 掌 握 面 向 对 象 程 序 设 计 的 基 本 概 念 和 原 理, 并 基 于 Java 语 言 学 习 面 向 对 象 程 序 设 计 的 3 个 重 要 特 征, 即 封 装 性 继 承 性 和 多 态 性, 最 终 目 标 是 使 读 者 能 把 Java 作 为 进 行 面 向 对 象 程 序 设 计 的 一 种 强 有 力 开 发 工 具 本 书 的 特 点 之 一 是 既 注 重 理 论, 也 强 调 软 件 开 发 实 践 ; 特 点 之 二 是 便 于 教 与 学, 其 中 的 每 个 章 节 基 本 上 是 以 一 个 学 时 为 单 位 来 组 织 的 通 过 本 书 的 学 习, 读 者 将 了 解 应 用 程 序, 学 会 创 建 用 于 处 理 终 端 用 户 简 单 输 入 的 基 本 用 户 界 面, 从 文 件 和 数 据 库 中 读 取 数 据 及 向 文 件 和 数 据 库 写 入 数 据, 通 过 网 络 发 送 和 接 收 数 据 信 息 本 书 并 不 提 供 包 罗 万 象 的 Java 语 言 内 容, 而 只 提 供 一 些 重 要 的 基 础 性 入 门 指 示, 以 方 便 读 者 掌 握 Java 平 台 上 可 用 的 一 般 编 程 功 能 通 过 本 书 的 学 习, 读 者 基 本 能 开 发 一 些 Java 小 程 序, 以 满 足 IT 企 业 的 需 求 本 书 具 体 编 写 分 工 如 下, 第 1 2 10 11 章 由 浙 江 工 业 大 学 信 息 学 院 的 汤 一 平 编 写, 第 3 6 9 章 由 浙 江 林 学 院 的 莫 路 锋 编 写, 第 5 8 章 由 中 国 计 量 学 院 的 唐 文 彬 编 写, 第 4 7 章 由 浙 江 万 里 学 院 的 陈 智 罡 编 写 全 书 由 汤 一 平 统 一 策 划 与 设 计, 他 还 与 浙 江 林 学 院 莫 路 锋 做 了 最 后 的 校 对 完 善 与 统 稿 Java 编 程 语 言 是 一 种 内 容 广 泛 发 展 迅 速 的 计 算 机 语 言, 本 书 力 图 用 Java 来 介 绍 计 算 机 科 学, 这 是 一 种 新 的 教 学 尝 试, 以 便 读 者 能 将 有 关 计 算 机 科 学 方 面 的 知 识 通 过 Java 编 程 技 术 贯 通 起 来 由 于 笔 者 的 学 识 和 水 平 有 限, 本 书 难 免 存 在 不 足 之 处, 望 读 者 不 吝 赐 教, 以 利 再 版 修 订

目 录 第 1 章 计 算 机 系 统 的 硬 件 与 软 件 1 1. 1 计 算 机 系 统 2 1. 1. 1 硬 件 与 软 件 2 1. 1. 2 硬 件 的 组 成 部 分 2 1. 1. 3 存 储 器 3 1. 1. 4 辅 助 存 储 器 3 1. 1. 5 输 入 / 输 出 设 备 4 1. 1. 6 软 件 4 1. 1. 7 程 序 的 种 类 5 1. 1. 8 操 作 系 统 5 1. 1. 9 网 络 6 1. 2 模 拟 信 号 与 二 进 制 信 号 7 1. 2. 1 二 进 制 7 1. 2. 2 计 算 机 使 用 二 进 制 的 原 因 8 1. 2. 3 模 拟 信 号 8 1. 2. 4 二 进 制 信 号 9 1. 3 计 算 机 存 储 器 11 1. 3. 1 存 储 器 的 特 性 11 1. 3. 2 信 息 的 存 储 形 式 12 1. 3. 3 信 息 的 复 制 12 1. 3. 4 字 节 12 1. 3. 5 主 存 储 器 13 1. 3. 6 硬 盘 14 1. 3. 7 文 件 15 1. 3. 8 文 件 与 操 作 系 统 15 1. 3. 9 文 件 的 类 型 16 1. 4 处 理 器 16 1. 4. 1 处 理 器 的 电 子 操 作 16 1. 4. 2 机 器 指 令 16 1. 4. 3 不 同 的 处 理 器 18 1. 4. 4 高 级 编 程 语 言 18 1. 4. 5 源 程 序 19 1. 4. 6 程 序 的 编 译 20 1. 4. 7 可 移 植 性 20 1. 4. 8 解 释 程 序 21

iv Java 语 言 程 序 设 计 1. 4. 9 虚 拟 机 21 1. 4. 10 运 行 速 度 22 第 2 章 Java 程 序 入 门 24 2. 1 Java 简 介 25 2. 1. 1 安 装 Java 25 2. 1. 2 商 用 Java 工 具 软 件 25 2. 1. 3 Java 程 序 示 例 26 2. 1. 4 字 节 代 码 26 2. 1. 5 Java 虚 拟 机 27 2. 1. 6 Applet 27 2. 1. 7 Java 源 程 序 的 创 建 28 2. 1. 8 命 令 提 示 符 窗 口 30 2. 1. 9 用 记 事 本 进 行 编 辑 30 2. 1. 10 键 入 源 程 序 31 2. 1. 11 保 存 源 文 件 31 2. 1. 12 文 件 命 名 32 2. 1. 13 Java 程 序 的 运 行 32 2. 2 Java 小 程 序 34 2. 2. 1 示 例 源 程 序 35 2. 2. 2 语 法 错 误 35 2. 2. 3 修 改 语 法 错 误 36 2. 2. 4 编 辑 编 译 运 行 三 部 曲 37 2. 2. 5 程 序 漏 洞 37 2. 2. 6 稍 长 一 点 的 示 例 程 序 37 2. 2. 7 注 释 38 2. 2. 8 括 号 40 2. 3 运 行 示 例 程 序 40 2. 4 Java 语 言 的 特 性 46 2. 4. 1 Java 语 言 的 简 单 性 特 性 47 2. 4. 2 Java 语 言 的 面 向 对 象 特 性 47 2. 4. 3 Java 语 言 的 分 布 式 计 算 特 性 47 2. 4. 4 Java 语 言 的 健 壮 性 特 性 47 2. 4. 5 Java 语 言 的 结 构 中 立 特 性 47 2. 4. 6 Java 语 言 的 安 全 性 特 性 47 2. 4. 7 Java 语 言 的 可 移 植 特 性 48 2. 4. 8 Java 语 言 的 解 释 特 性 48 2. 4. 9 Java 语 言 的 多 线 程 功 能 特 性 48 2. 4. 10 Java 语 言 的 动 态 功 能 特 性 48 2. 4. 11 Java 语 言 与 C 和 C ++ 语 言 的 区 别 48

目 录 v 第 3 章 Java 编 程 51 3. 1 基 本 数 据 类 型 52 3. 1. 1 数 据 类 型 52 3. 1. 2 整 数 类 型 52 3. 1. 3 浮 点 类 型 52 3. 1. 4 字 符 类 型 53 3. 1. 5 布 尔 类 型 53 3. 1. 6 数 据 类 型 的 封 装 53 3. 2 变 量 与 常 量 54 3. 2. 1 变 量 54 3. 2. 2 变 量 的 声 明 54 3. 2. 3 变 量 的 命 名 54 3. 2. 4 赋 值 语 句 55 3. 2. 5 常 量 55 3. 3 表 达 式 和 算 术 操 作 符 55 3. 3. 1 表 达 式 55 3. 3. 2 算 术 运 算 符 56 3. 3. 3 数 值 运 算 57 3. 4 布 尔 表 达 式 59 3. 4. 1 布 尔 表 达 式 59 3. 4. 2 逻 辑 操 作 59 3. 5 简 单 的 if 语 句 60 3. 5. 1 two-way 判 定 60 3. 5. 2 if... else 语 句 63 3. 5. 3 单 个 块 if 语 句 63 3. 5. 4 多 个 分 支 选 择 64 3. 5. 5 if 语 句 的 多 样 性 66 3. 5. 6 if 语 句 的 嵌 套 66 3. 6 while 循 环 和 do 循 环 67 3. 6. 1 while 初 涉 67 3. 6. 2 while 的 工 作 过 程 67 3. 6. 3 while 语 句 的 语 法 68 3. 6. 4 while 语 句 的 语 义 69 3. 6. 5 循 环 控 制 变 量 69 3. 6. 6 do... while 语 句 70 3. 6. 7 3 件 要 注 意 的 事 情 71 3. 7 for 循 环 72 3. 7. 1 循 环 的 3 部 分 72 3. 7. 2 for 语 句 72

vi Java 语 言 程 序 设 计 3. 7. 3 for 语 句 中 的 循 环 计 数 73 3. 7. 4 等 效 的 for 和 while 循 环 73 3. 7. 5 循 环 控 制 变 量 的 作 用 域 74 3. 8 输 入 / 输 出 75 3. 8. 1 输 入 / 输 出 包 75 3. 8. 2 输 入 / 输 出 流 75 3. 8. 3 输 入 / 输 出 异 常 76 3. 8. 4 数 字 输 入 / 输 出 77 3. 8. 5 字 符 输 入 / 输 出 78 第 4 章 面 向 对 象 的 编 程 技 术 基 础 81 4. 1 在 Java 中 定 义 类 与 对 象 82 4. 1. 1 定 义 类 82 4. 1. 2 认 识 构 造 函 数 85 4. 2 类 的 封 装 与 继 承 87 4. 2. 1 封 装 87 4. 2. 2 类 的 继 承 90 4. 3 多 态 与 静 态 94 4. 3. 1 类 的 多 态 94 4. 3. 2 静 态 成 员 的 定 义 与 使 用 98 4. 4 面 向 对 象 的 基 本 概 念 100 4. 4. 1 类 与 对 象 100 4. 4. 2 成 员 101 4. 4. 3 继 承 101 4. 4. 4 多 态 102 4. 5 重 载 屏 蔽 与 覆 盖 102 4. 5. 1 重 载 102 4. 5. 2 屏 蔽 104 4. 5. 3 覆 盖 105 第 5 章 Applet 和 Graphics 110 5. 1 简 单 的 Applet 111 5. 1. 1 编 辑 Applet 111 5. 1. 2 编 译 Applet 111 5. 1. 3 运 行 Applet 112 5. 2 Applet 类 的 层 次 113 5. 3 Applet 的 生 命 周 期 113 5. 3. 1 Applet 的 生 命 周 期 举 例 113 5. 3. 2 Applet 的 方 法 114 5. 3. 3 Applet 的 生 命 周 期 和 对 应 的 方 法 115 5. 4 Applet 标 记 和 HTML 116

目 录 vii 5. 4. 1 Applet 标 记 的 语 法 116 5. 4. 2 Applet 标 记 描 述 116 5. 4. 3 HTML 117 5. 5 appletviewer 119 5. 6 绘 制 图 形 119 5. 6. 1 简 单 的 图 形 绘 制 119 5. 6. 2 着 色 120 5. 6. 3 绘 制 直 线 120 5. 6. 4 绘 制 矩 形 121 5. 6. 5 绘 制 圆 形 和 椭 圆 121 5. 7 Circle 类 122 5. 8 利 用 图 形 方 法 画 图 124 5. 8. 1 图 片 的 规 划 124 5. 8. 2 计 算 坐 标 125 5. 8. 3 完 整 的 Applet 126 第 6 章 高 级 的 Java 编 程 功 能 129 6. 1 递 增 递 减 和 其 他 操 作 符 130 6. 1. 1 递 增 / 递 减 操 作 符 130 6. 1. 2 赋 值 操 作 符 131 6. 1. 3 调 和 级 数 例 子 131 6. 2 短 逻 辑 运 算 符 133 6. 2. 1 位 逻 辑 运 算 符 133 6. 2. 2 左 移 位 运 算 符 135 6. 2. 3 右 移 位 运 算 符 136 6. 2. 4 位 运 算 符 赋 值 137 6. 3 再 论 for 语 句 138 6. 3. 1 在 for 循 环 中 声 明 循 环 控 制 变 量 139 6. 3. 2 逗 号 的 使 用 方 法 139 6. 3. 3 for 循 环 的 一 些 变 化 140 6. 3. 4 循 环 嵌 套 141 6. 4 数 组 142 6. 4. 1 一 维 数 组 142 6. 4. 2 二 维 数 组 和 多 维 数 组 144 6. 4. 3 另 一 种 数 组 声 明 语 法 148 6. 4. 4 将 数 组 作 为 参 数 148 6. 5 对 象 的 数 组 149 6. 5. 1 对 象 引 用 数 组 149 6. 5. 2 字 符 串 引 用 数 组 150 6. 5. 3 一 个 例 子 150

viii Java 语 言 程 序 设 计 6. 6 线 性 查 找 151 6. 6. 1 构 造 函 数 156 6. 6. 2 线 性 查 找 156 6. 6. 3 完 整 的 查 找 157 6. 7 向 量 类 Vector 159 6. 7. 1 向 量 类 Vector 的 引 入 159 6. 7. 2 Vector 类 的 基 础 160 6. 7. 3 程 序 举 例 163 第 7 章 面 向 对 象 的 高 级 编 程 技 术 166 7. 1 包 的 使 用 167 7. 1. 1 package 语 句 167 7. 1. 2 import 语 句 168 7. 1. 3 classpath 的 使 用 169 7. 2 访 问 控 制 170 7. 2. 1 类 成 员 的 访 问 控 制 170 7. 2. 2 final 限 定 词 171 7. 3 抽 象 类 与 接 口 171 7. 3. 1 抽 象 类 171 7. 3. 2 接 口 173 7. 4 对 象 之 间 的 关 系 174 7. 4. 1 对 象 间 的 比 较 运 算 174 7. 4. 2 对 象 转 为 字 符 176 7. 5 内 部 类 176 7. 5. 1 类 中 定 义 的 内 部 类 176 7. 5. 2 内 部 类 被 外 部 类 引 用 的 方 法 177 7. 5. 3 匿 名 内 部 类 178 7. 6 StringBuffer 类 与 StringTokenizer 类 的 使 用 179 7. 6. 1 StringBuffer 类 的 使 用 179 7. 6. 2 StringTokenizer 类 的 使 用 180 第 8 章 图 形 化 用 户 界 面 的 编 程 技 术 183 8. 1 AWT 及 其 组 件 184 8. 1. 1 java. awt 包 184 8. 1. 2 组 件 185 8. 1. 3 容 器 186 8. 2 创 建 简 单 的 图 形 用 户 界 面 187 8. 2. 1 框 架 187 8. 2. 2 面 板 188 8. 3 布 局 管 理 器 188 8. 3. 1 FlowLayout 布 局 管 理 器 189

目 录 ix 8. 3. 2 BorderLayout 布 局 管 理 器 190 8. 3. 3 GridLayout 布 局 管 理 器 192 8. 3. 4 其 他 布 局 管 理 器 193 8. 3. 5 容 器 的 嵌 套 193 8. 4 AWT 事 件 处 理 模 型 194 8. 4. 1 事 件 处 理 原 理 194 8. 4. 2 事 件 类 196 8. 4. 3 事 件 监 听 器 197 8. 4. 4 事 件 适 配 器 200 8. 5 Swing 简 介 202 8. 5. 1 简 介 202 8. 5. 2 Swing 的 类 层 次 结 构 204 8. 5. 3 Swing 包 205 8. 5. 4 MVC 体 系 结 构 206 8. 5. 5 可 存 取 性 支 持 206 8. 5. 6 支 持 键 盘 操 作 207 8. 5. 7 设 置 边 框 207 8. 5. 8 使 用 图 标 207 8. 6 Swing 组 件 和 容 器 简 介 207 8. 6. 1 Swing 组 件 207 8. 6. 2 JComponent 类 209 8. 7 Swing 布 局 管 理 器 209 8. 8 Swing 程 序 简 介 211 8. 8. 1 简 单 的 Swing 源 程 序 211 8. 8. 2 使 用 Swing 的 基 本 规 则 212 8. 9 Swing 常 用 容 器 组 件 212 8. 9. 1 框 架 212 8. 9. 2 JApplet 213 8. 9. 3 JPanel 213 8. 9. 4 根 面 板 213 8. 9. 5 分 层 面 板 214 8. 9. 6 标 签 214 8. 9. 7 按 钮 214 8. 9. 8 文 本 输 入 215 8. 9. 9 复 选 框 219 8. 9. 10 单 选 按 钮 219 8. 9. 11 列 表 框 220 8. 5. 12 组 合 框 221 8. 9. 13 滑 块 222

x Java 语 言 程 序 设 计 8. 9. 14 菜 单 223 8. 9. 15 对 话 框 225 第 9 章 异 常 和 输 入 / 输 出 流 227 9. 1 异 常 处 理 228 9. 1. 1 异 常 的 基 本 概 念 228 9. 1. 2 异 常 类 型 228 9. 1. 3 未 被 捕 获 的 异 常 229 9. 1. 4 使 用 try 和 catch 语 句 230 9. 1. 5 使 用 多 重 catch 语 句 231 9. 1. 6 嵌 套 try 语 句 233 9. 1. 7 引 发 异 常 235 9. 1. 8 throws 语 句 236 9. 1. 9 finally 语 句 237 9. 1. 10 Java 的 内 置 异 常 239 9. 1. 11 创 建 自 己 的 异 常 子 类 240 9. 1. 12 使 用 异 常 241 9. 2 输 入 / 输 出 流 241 9. 2. 1 输 入 / 输 出 基 础 241 9. 2. 2 流 的 概 念 242 9. 2. 3 读 取 控 制 台 输 入 244 9. 2. 4 向 控 制 台 写 输 出 247 9. 2. 5 PrintWriter 类 248 9. 3 文 件 的 读 写 249 9. 4 文 件 类 252 9. 4. 1 目 录 254 9. 4. 2 使 用 FilenameFilter 255 9. 4. 3 listfiles() 方 法 256 9. 4. 4 创 建 目 录 256 第 10 章 Java 的 服 务 器 端 组 件 技 术 258 10. 1 EJB 技 术 介 绍 259 10. 1. 1 EJB 技 术 259 10. 1. 2 EJB 规 范 的 发 展 历 程 260 10. 1. 3 EJB 的 类 别 260 10. 1. 4 EJB 的 体 系 结 构 261 10. 1. 5 EJB 中 的 角 色 262 10. 1. 6 EJB 与 DCOM/ COM + 的 比 较 263 10. 1. 7 EJB 与 CORBA 的 比 较 265 10. 1. 8 结 论 266 10. 2 一 个 EJB 例 子 266

目 录 xi 10. 2. 1 安 装 EJB 服 务 器 267 10. 2. 2 声 明 EJB 远 程 接 口 267 10. 2. 3 声 明 主 接 口 268 10. 2. 4 编 写 EJB 类 268 10. 2. 5 创 建 ejb-jar 文 件 270 10. 2. 6 部 署 DemoBean 271 10. 2. 7 编 写 EJB 客 户 机 273 10. 2. 8 编 译 并 运 行 客 户 机 程 序 275 第 11 章 Java 语 言 的 应 用 实 例 HelkCFG 276 11. 1 有 关 系 统 方 面 的 一 些 预 备 知 识 277 11. 1. 1 学 而 致 用 277 11. 1. 2 编 译 原 理 的 相 关 知 识 277 11. 1. 3 数 据 结 构 278 11. 1. 4 网 站 的 相 关 知 识 279 11. 2 HelkCFG 的 总 体 构 架 279 11. 2. 1 HelkCFG 简 介 279 11. 2. 2 HelkCFG 的 基 本 功 能 280 11. 2. 3 网 页 的 链 接 结 构 280 11. 2. 4 系 统 的 层 次 结 构 281 11. 3 系 统 的 设 计 与 实 现 282 11. 4 编 译 原 理 中 的 词 法 语 法 和 语 义 分 析 285 11. 4. 1 综 述 286 11. 4. 2 词 法 分 析 287 11. 4. 3 语 法 分 析 290 11. 4. 4 语 义 分 析 296 11. 4. 5 包 的 组 织 300 11. 5 关 于 HelkCFG 301 11. 5. 1 外 观 界 面 301 11. 5. 2 HelkCFG 涉 及 的 相 关 知 识 301 11. 6 使 用 HelkCFG 303 11. 6. 1 页 面 的 编 排 303 11. 6. 2 操 作 范 例 303

4 Java

82 Java 4 1 Java 4.1.1, Person, Person 3, age,,, eat, sleep : 4.1 / / Eartch. java class Person public int age ; public void eat ( ) System. out. println ( Eating ) ; public void sleep ( ) System. out. println ( Sleeping ) ; public class Earth public static void main ( string argv [ ] ) Person person1 = new Person ( ) ; Person person2 ; person2 = new Person ( ) ; person1. age = 18 ; System. out. println ( person1 : + person1. age) ; System. out. println ( person2 : + person2. age) ; person1. eat ( ) ; person2. sleep ( ) ; Person public,, Java,,

4 83 public public class 4.1 4.1 Person age, Java,,,,, age public, void,,,,,, Eating Sleeping,,, Person,,, new, : Person person1 = new Person ( ) ; Person, person1 new Person person1, person1 Java, person1,,,,,,,,,, 4.1

84 Java 4 1 byte 0 short 0 int 0 long 0L float 0.0F double 0.0D char boolean all reference type \ u0000 ( ) false null reference type,,. ( ),., Person,,, main, main, Person, Earth,, Earth. main Person person1 person2,, person1, person2,, Person, person1 person2,,, person1. age person2. age person1. age 18,, person2. age, 0 person1 eat person2 sleep : [ < > ] class < > [extends < > ] [ implements < > ] [ < > ] ; = new ( [ 1, 2, ] ) ;, Earth. java?

4 85 4 1.2 4.2 / / Earth. java class Person 4.2 public int age ; public Person ( ) age = 18 ; public Person ( int a) age = a; public void eat ( ) System. out. println ( Eating ) ; public void sleep ( ) System. out. println ( Sleeping ) ; public class Earth public static void main ( String argv [ ] ) Person person1 = new Person ( ) ; Person person2 = new Person ( 20) ; System. out. println ( person1 : + person1. age) ; System. out. println ( person2 : + person2. age) ; person1. age = 25 ; System. out. println ( person1 : + person1. age) ; System. out. println ( person2 : + person2. age) ; person1. eat ( ) ; person2. sleep ( ) ; 4.2

86 Java 4 2 4.2, new Person ( ), Person Person ( ), new Person ( 20), Person Person ( int a ),,?,,,, int ( ), ( ), ( ), :,? ( ),,,,,,,,,,, : Java,,, new,, 4.2, new Person ( ), Person, Person ( ),, : Person ( ), Person,, Person ( ) Person,, (constructor),,,,, Java

4 87,,,,,, : < > < > ( [ < > s] ), : return, Java,? Person : Public Animal ( ) super ( ) ; super ( ),, Earth? 4.2 4.2.1,,, 4.3 : 4.3 / / Eatch. java class Person private int age ; public Person ( ) setage (18) ;

88 Java public Person ( int a) setage (a) ; public void eat ( ) System. out. println ( Eating.... ) ; public void sleep ( ) System. out. println ( Sleeping... ) ; public void setage ( int a) if (a < 0 a > 130) System. out. println ( Wrong number ) ; return ; age = a ; public int getage ( ) return age ; public class Earth public static void main ( String [ ] argv) Person person1 = new Person ( ) ; Person person2 = new Person ( 20) ; System. out. println ( person1 : + person1. getage ( ) ) ; / / System. out. println ( person2 : + person2. age) ; System. out. println ( person2 : + person2. getage ( ) ) ;

4 89 person1. age = 25 ; person1. setage (25) ; person2. setage (30) ; System. out. println ( person1 : + person1. getage ( ) ) ; System. out. println ( person2 : + person2. getage ( ) ) ; person1. eat ( ) ; person2. sleep ( ) ; 4.3 4.3 4.3, age ( private),, ( public) setage ( ) getage ( ), setage ( ), 0 130, age,, age ( private), ( public),,, :,,,,,,,,, 0,,,

90 Java 4 2.2,,, Person,,,, Person,, ( student) ( teacher) (worker) 3, 3 Person, Person, 4.4 4.4 Person Student : 4.4 / / Student. java class Person private int age ; private String name; private String sex; public Person ( ) setage (18) ; public Person ( String name, String sex, int age) this. age = age; this. name = name; this. sex = sex; public void eat ( ) System. out. println ( ) ;

4 91 public void sleep System. out. println ( ) ; public void setage ( int age) if (age < 0 age > 130) System. out. println ( Wrong number ) ; return ; this. age = age ; public void setname ( String name) this. name = name ; public String getname ( ) return name ; public void setsex ( String sex) this. sex = sex ; public String gesex ( ) return sex ; public int getage ( ) return age ; public class Student extends Person private String number; private String grade; public Student ( )

92 Java super (,, 21) ; this. number = 200205201220 ; this. grade = 022 ; public Student ( String number, String name, String sex, int age, super (name, sex, age) ; this. number = number; this. grade = grade; String grade) public void study ( ) System. out. println ( ) ; public void ShowStudent ( ) System. out. println ( : + this. number) ; System. out. println ( : + super. getname ( ) ) ; System. out. println ( : + super. getage ( ) ) ; System. out. println ( : + super. gesex ( ) ) ; System. out. println ( : + this. getgrade ( ) ) ; public String getnumber ( ) return number ; public void setnumber ( String num) this. number = num ; public String getgrade ( ) return grade ; public void setgrade ( String grade) this. grade = grade;

4 93 static public void main (String [ ] args) Student stu1 = new Student ( ) ; stu1. setnumber ( 200405201220 ) ; stu1. setname ( ) ; stu1. setsex ( ) ; stu1. setage (18) ; stu1. ShowStudent ( ) ; stu1. eat ( ) ; stu1. study ( ) ; stu1. sleep ( ) ; 4.5 4.5 4.4 extends, Student Person,,, private, Person, Student, setage ( ) getage ( ) eat ( ) sleep ( ) Student,, Student Person setage ( ), age 18, Student, number grade, study,,,, : Java, Java,,

94 Java B A, C B, : class A class B extends A class C extends B 4.3,,, 4.3.1 CShape, Ellipse, CRectangleEx, ( RectangleEx), 4.6 4.5 / / CShape. java package shapepackage; import java. awt. * ; public class CShape protected Color color ; protected int linesize ; public CShape ( ) 4.6 color = Color. black ; linesize = 1 ; public CShape ( Color c, int size) this. color = c ; this. linesize = size; public void setcolor ( Color c) this. color = c ; public Color getcolor ( )

4 95 return this. color ; public void setlinesize ( int size) this. linesize = size; public int getlinesize ( ) return this. linesize ; public void draw ( ) System. out. println (..... ) ; / / Ellipse. java package shapepackage ; public class Ellipse extends CShape int centerx ; int centery ; int width ; int height ; public Ellipse ( int x, int y, int w, int h) centerx = x ; centery = y ; width = w ; height = h ; public void draw ( ) System. out. println (.. ) ; / / CRectangle. java package shapepackage ; public class CRectangle extends CShape

96 Java int left ; int top ; int width ; int height ; public CRectangle ( int l, int t, int w, int h) left = l ; top = t ; width = w ; height = h ; public void draw ( ) System. out. println (... ) ; / / RectangleEX. java package shapepackage ; public class RectangleEx extends CRectangle int radius ; public RectangleEx (int l, int t, int w, int h, int r) super (l, t, w, h) ; radius = r; public void draw ( ) System. out. println (... ) ; / / MainClass. java package shapepackage ; import java. awt. * ; public class MainClass static public void main ( String [ ] args) CShape [ ] objshapes = new CShape [ 4] ;

4 97 objshapes [0] = new CShape ( Color. blue, 3) ; objshapes [1] = new Ellipse (30, 40, 50, 50) ; objshapes [2] = new CRectangle (30, 40, 50, 50) ; objshapes [3] = new RectangleEx (30, 40, 50, 50, 30) ; / / objshapes [0]. draw ( ) ; / / objshapes [1]. draw ( ) ; / / objshapes [2]. draw ( ) ; / / objshapes [3]. draw ( ) ; 4.7 4.7 4.5,,,,,,,,,,, 4.5,,, draw,,,, : public void draw ( ) System. out. println ( ) ; CShape Draw,,,

98 Java, : ( Worker Teacher ),,,? Java instanceof, A B, : 4.3.2 < > instanceof < >, ( true) (false) true: CShape d1 = new Ellipse (30, 40, 50, 50) ( ; d1 instanceof Ellipse ;,, false: Ellipse w1 = new Ellipse (30, 40, 50, 50) ; w1 instanceof CShape ( ) ;, 4.6 / / MainClass. java class Student private String Snum ; private String Sname; private int Sex ; static private int count ; static count = 0 ; static public int getcount ( ) return count ; public Student ( String num, String name, int sex) this. Snum = num ; count ++ ;

4 99 this. Sex = sex ; this. Sname = name ; public void ShowStudent ( ) System. out. println ( : + this. Snum) ; System. out. println ( : + this. Sname) ; System. out. println ( : + this. Sex) ; public void study ( ) / / System. out. println ( ) ; / / public class MainClass public static void main ( String argv [ ] ) / / Student obj = new Student ( s001,, 29) ; obj. ShowStudent ( ) ; System. out. println ( : + Student. getcount ( ) ) ; / / Student obj2 = new Student ( s002,, 19) ; obj2. ShowStudent ( ) ; System. out. println ( : + Student. getcount ( ) ) ; / / Student obj3 = new Student ( s003,, 29) ; obj3. ShowStudent ( ) ; System. out. println ( : + Student. getcount ( ) ) ; 4.8, : < >. < >,,,,, (

100 Java,,, 4.8 4.6 4.4,,,,,, 4.4.1 990,,,,,,,,,,,, ( instance),,,,,,,,,,,,

4 101 4 4.2,,, ( ), ( ),,,,,, ( attribute),,,,,,,,,,, (method),,,,,,,,,,,,,,,,,,,,, 4.4.3????,,,,,,,,,,,,,,,, :,

102 Java, 4.9 4.4.4 4.9,,,,,,,,,,,,,,, 3 : 1),, 2),,,, 3) ( override),,,,, 4.5 4.5.1 C,, Java,, 4.7 4.7 / / MainClass. java

4 103 public class MainClass static public int Add (int a, int b) return a + b ; static public float Add (float a, float b) return a + b ; static public int Add (int a, int b, int c) return a + b + c ; static public float Add ( float a, float b, float c) return a + b + c; static public void main ( String [ ] args ) int a, b, c ; float f1, f2, f3 ; f1 = 5 ; f2 = 8 ; f3 = 3 ; a = 3 ; b = 4 ; c = 5 ; System. out. println ( int a + b = + Add (a, b) ) ; System. out. println ( int a + b + c = + Add ( a, b, c) ) ; System. out. println ( float f1 + f2 = + Add ( f1, f2) ) ; System. out. println ( float f1 + f2 + f3 = + Add (f1, f2, f3) ) ; 4.10 4.10 4.7,,,

104 Java Add ( ) int float,,, 4, : AddInt1 ( ) AddInt2 ( ) AddFloat1 ( ) AddFloat2 ( ) Java,?, : public int Add (int a, int b) ; public int Add (int a, int b, int c) ; public float Add ( float a, float b) ; public float Add ( float a, float b, float c) ;, :,,, 4.5.2, 4.8 4.8 public class ExampleTest public static void main ( String argv [ ] ) class A A a = new A ( ) ; B b = new B ( ) ; System. out. println ( a. i = + a. i) ; System. out. println ( b. i = + b. i) ; int i = 10 ; public A ( ) System. out. println (i) ; class B extends A

4 105 public B ( ) System. out. println (i) ; 4.11 4.11 4.8 4.8 B A, A B i 10 B i, : class B extends A int i = 5 ; public B ( ) System. out. println (i) ;, b. i 5, i,,? super, : super. < > B A i, super. i?,,,,,, 4.5.3,,,,,,

106 Java 4 9 class Employee protected String name ; protected int salary; public Employee (String n, int s) this. name = n ; this. salary = s ; public String getdetails ( ) return Name : + name + \ n + Salary: + salary ; class Manager extends Employee String department ; public Manager (String name, int s, String d) super (name, s) ; this. department = d ; public String getdetails ( ) return Name : + name + \ n + Manager of + department; public class MainClass static public void main ( String [ ] args) 4.12 Employee obj = new Employee (, 1000) ; Manager obj2 = new Manager (, 800, ) ; System. out. println ( Employee obj getdetails ) ; System. out. println (obj. getdetails ( ) ) ; System. out. println ( Manager obj2 getdetails ) ; System. out. println (obj2. getdetails ( ) ) ;

4 107 4 12 4.9 Manager getdetails ( ), Employee, e.getdetails ( ) m.getdetails Employee Employee getdetails ( ), Manager Manager getdetails ( ), Employee getdetails ( ), Manager getdetails ( )? Employee obj3 = new Manager ( ) ; Obj3. getdetails ( ) ; Manager getdetails ( ), super, Manager : super. getdetails ( ) ; Employee getdetails ( ), super, :,,,,, :????

108 Java 1.,? Public class Q1 public void method ( int i) ; A. private void method (int i) B.public void method ( int k) C.public int method (int i) D.private float method (float f) E.public String method (int i, int j) 2. Q2 2,? public class Q2 1 public void method ( int I) ; class Q2 2 extends Q2 1 A. public void method ( int i) B.private void method (int j) C.public int method ( int i) D.public float method (float f) E.private String method ( String s) 3., method? 4.Q4 2? public class Q4 1 public void method ( int i) Systems. out. println (10) ; public class Q4 2 extends Q4 1 public static void main ( String argv [ ] ) Q4 1 q1 = new Q4 1 ( ) ; Q4 2 q2 = new Q4 2 ( ) ; q1. method (1) ; q2. method (2) ; public void method ( int k ) Systmes. out. println (20) ;

4 109 A.10, 20 B.10, 10 C.20, 20 D.1, 2 E.20, 10 5., Q4 2 6 Q4 1 q2 = new Q4 2 ( ) ;? A.10, 20 B.10, 10 C.20, 20 D.20, 10 E.1, 2 6. 4, Q4 2 8 ( (Q4 2) q2). method ( ) ;? A.10, 20 B.10, 10 C.20, 20 D.20, 10 E.1, 2 7. 4.4 Person Teacher Worker, Worker 8.? 9.

5 Applet Graphics Java. applet. Applet Applet Applet applet HTML Graphics Circle Applet Application Applet Applet Applet Graphics

5 Applet Graphics 111 Java, : ( Application ) (Applet) Applet Java, HTML,, Java Internet, Java Web Java, Applet Applet Java, Applet Applet 5.1 Applet Applet, JDK Applet, java. applet. Applet,, java. awt. *, Applet, Test 5.1.1 Applet Test Applet 5.1 import java. applet. Applet ; / / Applet import java. awt. * ; public class Test extends Applet / / public void paint ( Graphics gr ) setbackground ( Color. pink ) ; Test gr. drawstring (, 25, 30) ; gr. drawstring (,, 25, 50) ; gr. drawstring (,, 25, 70) ; gr. drawstring (,, 25, 90 ) ; gr. drawstring (,, 25, 110) ; gr. drawstring ( ---, 50, 150) ; import java. applet. Applet java. awt. * ) public class Test extends Applet ( Test, java. applet.applet paint,, Applet 5.1.2 Applet,, Test. java

112 Java : C : \ code > javac Test. java Test. class 5.1.3 Applet, HTML, appletviewer HTML, Cui.html Test. class < html > < head > < title > test </ title > </ head > < body > < applet code = Test. class height = 200 width = 300 > </ applet > </ body > </ html > : C : \ code > appletviewer Test. html, 5.1, appletviewer 5.2 5.1 Test. java 5.2 5.1, Applet Java, Application Application main ( ), Applet, HTML, HTML Applet Applet appletviewer, Application

5 Applet Graphics 113 5 2 Applet Applet, : import java. applet. * ; import java. awt. * ; public class Test extends Applet import, java. applet. * java. awt. * Applet Applet public,,, Test. java, java. applet. Applet Applet java. applet. Applet, java. awt. Panel, Applet ( Panel) java. awt. Panel java. awt.container, Applet ( Container), java. awt.container java. awt. Component, Applet (Component), Applet, 5.3 Applet 5.3 Applet Applet Swing JApplet, Swing JApplet, JApplet Applet 5.3 Applet 5.3.1 Applet Applet 5.2 import java. awt. Graphics ;

114 Java import java applet. Applet ; public class HWloop extends Applet AudioClip sound ; / / public void init ( ) sound = getaudioclip ( hello. au ) ; / / public void paint ( Graphics g) g. drawstring ( hello Audio, 25, 25) ; / / public void start ( ) sound. loop ( ) ; / / public void stop ( ) sound. stop ( ) ; / /, Applet,, ; 5.3.2 Applet, Applet Application Applet Applet 4 ( JApplet ) : init ( ) start ( ) stop ( ) destroy ( ), Applet, Applet 1. init ( ) Applet Java, Applet,,, 2.start ( ) init ( ), start ( ) Applet Applet, start ( ), start ( ), init ( ), init ( ), start ( ) start ( )

5 Applet Graphics 115 3 stop ( ) Applet stop ( ) start ( ), stop ( ), Applet,, Applet, 4.destroy ( ), Java destroy ( ) Applet,, destroy ( ) 5.3.3 Applet Applet 4 : init ( ), Applet start ( ), Applet Applet, Applet stop ( ), Applet, Applet,, Applet start ( ),,,, Applet destroy ( ), 5.4 5.4 Applet

116 Java 5 4 Applet HTML, Applet,, HTML, Applet < applet code = HWloop. class width = 200 height = 100 > </ applet > code, Applet,. class width height, Applet 5.4.1 Applet Applet : < applet [ archive = archivelist] code = appletfile. class width = pixels height = pixels [ codebase = codebaseurl ] [ alt = alternatetext ] [ name = appletinstancename ] [ align = alignment ] [ vspace = pixels ] [ hspace = pixels ] > [ < param name = appletattribute1 value = value > ] [ < param name = appletattribute2 value = value > ] [ alternatehtml] </ applet > 5.4.2 Applet 1) archive = archivelist archives codebase AppletClassLoader ArchiveList archives (, ) 2) code = appletfile. class Applet,. class 3) width = pixels height = pixels Applet ( ), Applet 4) codebase = codebaseurl Applet URL ( Applet ), URL

5 Applet Graphics 117 5 alt = alternatetext, Applet Applet, 6) name = appletinstancename Applet, Applet Applet 7) align = alignment Applet HTML IMG, : left, right, top, texttop, middle, absmiddle, baseline, bottom absbottom 8) vspace = pixels hspace = pixels Applet ( ) 9) < param name = appletattribute1 value = value > Applet Applet getparameter ( ) 5.4.3 HTML HTML,, HTML < p > </ p >,, < p > It began one day in summer about thirty years ago, and it happened to four children. Jane was the oldest and Mark was the only boy, and between them they ran everything. </ p > ( ) : It began one day in summer about thirty years ago, and it happened to four children. Jane was the oldest and Mark was the only boy, and between them they ran everything. < p > </ p >,,, < something >, </ something > markup web,, < p > </ p > : < h3 > This is a level 3 heading < / h3 > ( ), : This is a level 3 heading HTML ASCII, ( ),, Word (

118 Java HTML ASCII, Applet) html ASCII,, : < html > < body > < h3 > Here is an Exciting Applet < / h3 > < p > And what an exciting applet it is. With a width of 300 pixels, and a height of 150 pixels, this applet has it all. </ p > < applet code = HWloop. class width = 300 height = 150 > < / applet > </ body > < / html > ( ) < html > html, </ html > html, < head > </ head > < title > ( web, ) </ title > < body >, </ body > < hr >,, : < html > < head > < title > A Boring Title </ title > </ head > < body > < h3 > Here is an Exciting Applet < / h3 > < p > And what an exciting applet it is. With a width of 300 pixels, and a height of 150 pixels, this applet has it all. </ p > < applet code = HWloop. class width = 300 height = 150 > </ applet > < hr > </ body > </ html >,,

5 Applet Graphics 119 h3 > </ h3 >,, 5.5 appletviewer Applet Web, Java, HotJava TM Netscape Navigator, JDK Applet HTML, appletviewer appletviewer Web Applet Java appletviewer Applet, : C : \ code > appletviewer Test. html appletviewer Applet HTML Applet appletviewer HTML appletviewer HTML : < HTML > </ HTML > < APPLET CODE = Test. class WIDTH = 200 HEIGHT = 100 > < / APPLET > HTML, < >, < applet >, < applet > </ applet > 5.6,,, Graphics Graphics java. awt,, Graphics,, Applet paint ( ), Applet, Graphics, paint ( ), paint ( ), Graphics paint ( ) : public void paint ( Graphics gr) 5.6.1 applet,

120 Java 5 3 import java. applet. Applet ; import java. awt. * ; public class SquareAndRectangle extends Applet public void paint ( Graphics gr ) setbackground ( Color. pink ) ; / / 100, 100 gr. drawrect (10, 10, 100, 100) ; / / gr. drawline (10, 10, 110, 100) ; / / gr. drawline (110, 10, 10, 110) ; 5.5,, 5.5 5.6.2,,, java. awt Color setbackground ( Color.something), setcolor ( Color.something),, Color Color 13 : white ( ) lightgray ( ) gray ( ) darkgray ( ) black ( ) red ( ) pink ( ) orange ( ) yellow ( ) green ( ) magenta ( ) cyan ( ) blue ( ) gr. setcolor( Color. blue ) ; 5.6.3 drawline ( ), : drawline (int x1, int y1, int x2, int y2) ( x1, y1) ( x2, y2), 5.6 5.6 drawline ( )

5 Applet Graphics 121 5.6.4 drawrect ( ), : drawrect ( int x, int y, int width, int height),, x x + width, y y + height, 5.7, 5 7 drawrect ( ) 5.6.5 5.4: import java. applet. Applet ; import java. awt. * ; / / 150, 150 public class JustOneCircle extends Applet final int radius = 25 ; public void paint ( Graphics gr ) setbackground ( Color. lightgray ) ; gr. drawoval ( (150/ 2 - radius), (150/ 2 - radius), radius * 2, radius * 2 ) ;, 5.8 drawoval ( ), : drawoval ( int x, int y, int width, int height) 5.8 5.9 drawoval ( ) ( x, y), width height, ( x, y) width height 5.9 drawoval ( ) ( )

122 Java Graphics,, Applet,, 150, : x = (150/ 2 - radius) y = (150/ 2 - radius), 5.7 Circle Circle : Circle? Applet 100,? Circle,,?,,,,, Circle, 3 Applet 5.5 import java. applet. Applet ; import java. awt. * ; class Circle / / int x, y, radius ; / / public Circle ( ) x = 0 ; y = 0 ; radius = 0 ; public Circle ( int x, int y, int radius ) this. x = x ; this. y = y ; this. radius = radius; / / void draw ( Graphics gr ) int ulx = x - radius ; / / X int uly = y - radius ; / / Y gr. drawoval ( ulx, uly, 2 * radius, 2 * radius ) ; public class testcircle extends Applet

5 Applet Graphics 123 Circle circ1 = new Circle ( 100, 100, 10 ) ; Circle circ2 = new Circle ( 100, 100, 20 ) ; Circle circ3 = new Circle ( 100, 100, 30 ) ; public void paint ( Graphics gr ) circ1. draw ( gr ) ; circ2. draw ( gr ) ; circ3. draw ( gr ) ;, 5.10, Circle drawoval ( ) class Circle / / / / / / Circle,, int x, y, radius; public Circle ( ) 5.10 x = 0 ; y = 0 ; radius = 0 ; public Circle ( int x, int y, int radius ) ( x, y), Circle ( ), :, 0,, x y radius public Circle ( ) x = 0 ; y = 0 ; radius = 0 ;

124 Java public Circle ( int x, int y, int radius ) this. x = x; this. y = y ; this. radius = radius; this, this.x = x x x, draw ( ) java drawoval ( int x, int Y, int width, int height), Applet draw ( Graphics gr ) 5.11 draw ( ) int ulx = x - radius ; / / x int uly = y - radius ; / / y gr. drawoval ( ulx, uly, 2 * radius, 2 * radius ) ; ( x, y ), 5.11 5.8 Applet, Java, 5.8.1 Java,, 5.11 5.12, Java Applet

5 Applet Graphics 125 5 12 5.8.2 1. Applet,, Applet import java. applet. Applet ; import java. awt. * ; / / 350 * 250 public class houserectangles extends Applet final int width = 350, height = 250 ; final int housex = 65, housey = 100, housew = 110, househ = 110 ; final int doorx = 120, doory = 165, doorw = 25, doorh = 40 ; final int lwindx = 90, lwindy = 115, lwindw = 30, lwindh = 30 ; final int rwindx = 130, rwindy = 115, rwindw = 30, rwindh = 30 ; final int trunkx = 255, trunky = 100, trunkw = 10, trunkh = 100 ; public void paint ( Graphics gr ) gr. setcolor (Color. orange ) ; / / there is no Color brown gr. drawrect ( housex, housey, housew, househ) ; / / house gr. drawrect (doorx, doory, doorw, doorh ) ; / / door gr. drawrect ( lwindx, lwindy, lwindw, lwindh) ; / / lwind gr. drawrect ( rwindx, rwindy, rwindw, rwindh) ; / / rwind

126 Java gr. fillrect ( trunkx, trunky, trunkw, trunkh) ; / / trunk, 5.13 fillrect ( ),, drawrect ( ), 5.13 Applet 2. 5.12,,,, : final int treex = 200, treey = 45, treew = 125, treeh = 55 ; / /, Applet : gr. setcolor ( Color. green ) ; gr. filloval ( treex, treey, treew, treeh ) ; filloval ( ) drawoval ( ),, ( x, y),, housex,, 5.8.3 Applet, Applet import java. applet. Applet ; import java. awt. * ; / / 350 * 250 public class housecomplete extends Applet

5 Applet Graphics 127 final int width = 350, height = 250 ; final int housex = 65, housey = 100, housew = 110, househ = 110 ; final int doorx = 120, doory = 165, doorw = 25, doorh = 40 ; final int lwindx = 90, lwindy = 115, lwindw = 30, lwindh = 30 ; final int rwindx = 130, rwindy = 115, rwindw = 30, rwindh = 30 ; final int trunkx = 255, trunky = 100, trunkw = 10, trunkh = 100 ; final int treex = 200, treey = 45, treew = 125, treeh = 55 ; / / final int L1X1 = 0, L1Y1 = 140, L1X2 = 40, L1Y2 = 115 ; final int L2X1 = L1X2, L2Y1 = L1Y2, L2X2 = housex, L2Y2 = 130 ; final int L3X1 = housex + housew, L3Y1 = 135, L3X2 = trunkx, L3Y2 = 140 ; final int L4X1 = trunkx + trunkw, L4Y1 = L3Y2, L4X2 = width, L4Y2 = 110 ; final int roof1x1 = housex, roof1y1 = housey ; final int roof1x2 = housex + housww/ 2, roof1y2 = 50 ; final int roof2x1 = roof1x2, roof2y1 = roof1y2 ; final int roof2x2 = housex + housww, roof2y2 = housey ; final int doorx = housex + housew/ 2 - doorw/ 2 ; public void paint ( Graphics gr ) gr. setcolor ( Color. orange ) ; / / gr. drawrect ( housex, housey, housew, househ) ; / / gr. fillrect ( doorx, doory, doorw, doorh ) ; / / gr. drawrect ( lwindx, lwindy, lwindw, lwindh) ; / / gr. drawrect ( rwindx, rwindy, rwindw, rwindh) ; / / gr. fillrect ( trunkx, trunky, trunkw, trunkh) ; / / gr. setcolor ( Color. green ) ; gr. filloval ( treex, treey, treew, treeh ) ; gr. drawline ( L1X1, L1Y1, L1X2, L1Y2 ) ; / / 1 gr. drawline ( L2X1, L2Y1, L2X2, L2Y2 ) ; / / 2 gr. drawline ( L3X1, L3Y1, L3X2, L3Y2 ) ; / / 3 gr. drawline ( L4X1, L4Y1, L4X2, L4Y2 ) ; / / 4 gr. setcolor ( Color. green ) ; gr. drawline ( roof1x1, roof1y1, roof1x2, roof1y2 ) ; gr. drawline ( roof2x1, roof2y1, roof2x2, roof2y2 ) ;, 5.14

128 Java 5 14 Applet Java Applet Java, Applet HTML, Java Applet java. applet. Applet Java Applet Applet, init start stop destroy 4 Applet 4 Applet Applet : Applet Java, Applet Java, HTML, Applet HTML java. awt Graphics, Applet, paint ( ), Graphics, Graphics 1. Java Applet? 2.Java,? Applet? 3. Applet 4. Java Applet,, Welcome to java! 5. 4 Java Applet 4 6., 5, 10, Graphics drawoval

6 Java for Vector for Vector

130 Java 6 1, ( ++ ) ( - - ) 6.1.1 /,,, 1 1, 1 1, 1, : x = x + 1 ; : x + + ;, : x = x - 1 ; : x - - ;, ( prefix) ( postfix),,, Java,, Java : x = 42 ; y = + + x ; y 43, y = + + x : x = x + 1 ; y = x ;, : x = 42 ; y = x + + ; x,, y 42,, x 43, y = x + + ; : y = x ; x = x + 1 ; + + ( - - ) : / / Demonstrate ++

6 Java 131 6.1.2 class IncDec public static void main (String args [ ] ) int a = 1 ; int b = 2 ; int c; int d; c = + + b ; d = a + + ; c ++ ; System. out println ( a = + a) ; System. out println ( b = + b) ; System. out println ( c = + c) ; System. out println ( d = + d) ; : a = 2 b = 3 c = 4 d = 1 = Java, : var = expression ;, +, -, *, / ( ) =,, sum 5: sum + = 5 ; / / add 5 to sum : sum = sum + 5 ; / / add 5 to sum, 6.1 6.1 = sum = 5; sum = 5 + = sum + = 5; sum = sum + 5 ; - = sum - = 5; sum = sum - 5; * = sum * = 5; sum = sum * 5 ; / = sum / = 5 ; sum = sum/ 5;,,,, =,, 6.1.3 sum :

132 Java sum 1/ 1 + 1/ 2 + 1/ 3 + 1/ 4 + 1/ 5 + 1/ 6, ( harmonic series), : Public class Harmenic Series double value ( int limit) int term = 1 ; double sum = 0. 0 ; while ( term < = limit ) sum + = 1. 0/ term ; / / term sum term + + ; / / term return sum; class HarmonicTester public static void main ( String [ ] args ) throws IOException BufferedReader stdin = new BufferedReader ( new InputStreamReader ( System. in) ) ; HarmonicSeries series = new HarmonicSeries ( ) ; System. out. println ( input the num : ) ; int limit = Integer. parseint ( stdin. readline ( ) ) ; System. out. println ( Sum of 6 terms : + series. value (limit) ) ; : 1) HarmonicSeries 2) value ( ) 3) HarmonicSeries, 4) HarmonicTester HarmonicSeries, value ( ),

6 Java 133 6 2 6.2.1 (AND) (OR) (XOR) (NOT), & ^, 6.2, 6.2 A B A B A & B A ^ B A 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1. (NOT), NOT, 42, : 00101010 : 11010101 2. (AND) &, 1, 1, 0 : 00101010 42 &00001111 15 00001010 10 3. (OR), 1, 1 : 00101010 42 00001111 15 00101111 47 4. (XOR ) ^, 1, 0 ^ XOR

134 Java 1 42 0,, 00101010 42 ^00001111 15 00100101 37 5. : class BitLogic public static void main (String args [ ] ) String binary [ ] = 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 ; int a = 3 ; / / 0 + 2 + 1 0011 int b = 6 ; / / 4 + 2 + 0 0110 int c = a b ; int d = a & b ; int f = ( a & b) ( a & b) ; int g = a & 0x0f; System. out. println ( a = + binary [ a] ) ; System. out. println ( b = + binary [ b] ) ; System. out. println ( a b = + binary [c] ) ; System. out. println ( a&b = + binary [ d] ) ; System. out. println ( a^b = + binary [e] ) ; System. out. println ( a&b a& b = + binary [f] ) ; System. out. println ( a = + binary [g] ) ;, a b 4 : 00, 01, 10 11 & a b c d e f ^ binary 0 15, n binary [ n] a 3, binary [3 ] a 0x0f ( 0000 1111 ) a, g 16 binary, :

6 Java 135 a = 0011 b = 0110 a b = 0111 a&b = 0010 a^b = 0101 a&b a& b = 0101 a = 1100 6.2.2 < < : value < < num, num value, < < num, ( ), 0 int, 1, 31 ; long, 1, 63 byte short, Java, int,, int byte short int, 31,, byte short, int,, 1,, byte : / / class ByteShift public static void main (String args [ ] ) byte a = 64, b ; int i ; i = a < < 2 ; b = (byte) (a < < 2) ; System. out. println ( Original value of a : + a) ; System. out. println ( i and b : + i + + b) ; : Original value of a : 64 i and b : 256 0 a, int, 64 (01000000) 256 (100000000) i,, b 1, 0, b 0

136 Java 2, 1 (31 63 ), : / / 2 class MultByTwo public static void main (String args [ ] ) int i ; int num = 0xFFFFFFE; for ( i = 0 ; i < 4 ; i + + ) num = num < < 1 ; System. out. println ( num) ; : 536870908 1073741816 2147483632-32, 4, - 32, 1 31, 6.2.3 > > : value > > num, num value, > > num 32 2, 8 a: int a = 32 ; a = a > > 2 ; / / 8,, 35 2, 2, 8 a: int a = 35 ; a = a > > 2 ; / / 8 : 00100011 35 > > 2 00001000 8, 2 2,

6 Java 137 ( ),, 1,, 0, ( ),, - 8 > > 1-4, : 11111000-8 > > 1 11111100-4, ( ) 1, - 1-1, byte 0x0f,,, / / class HexByte static public void main (String args [ ] ) char hex [ ] = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f ; byte b = (byte) 0xf1 ; : 6.2.4 b = 0xf1 ; System. out. println ( b = 0x + hex [ (b > > 4) & 0x0f] + hex [b & 0x0f] ) ;, a 4 a: a = a > > 4 ; a > > = 4 ;, a OR b a: a = a b ; a = b ; int, : class OpBitEquals public static void main (String args [ ] ) int a = 1 ; int b = 2 ;

138 Java int c = 3 ; a = 4 ; b > > = 1 ; c < < = 1 ; a ^ = c; : a = 3 b = 1 c = 6 System. out. println ( a = + a) ; System. out. println ( b = + b) ; System. out. println ( c = + c) ; 6. 3 for for, for for : for ( ; ; ) / /, for,,,,,, ;,,,, for tick : / / for class ForTick public static void main (String args [ ] ) int n ; for ( n = 10 ; n > 0 ; n - - ) System. out. println ( tick + n) ;

6 Java 139 6 3.1 for for,,,, for : / / for class ForTick public static void main ( String args [ ] ) / / n for (int n = 10 ; n > 0 ; n - - ) System. out. println ( tick + n) ; n for, : for (, for ) for,, for, for,, i, i for / / class FindPrime public static void main ( String args [ ] ) int num ; boolean isprime = true ; num = 14 ; for (int i = 2 ; i < = num/ 2 ; i + + ) if ( (num % i) = = 0) isprime = false; break ; if (isprime) System. out. println ( Prime ) ; else System. out. println ( Not Prime ) ; 6.3.2 for, : class Sample public static void main (String args [ ] )

140 Java int a, b ; b = 4 ; for ( a = 1 ; a < b ; a + + ) System. out. println ( a = + a) ; System. out. println ( b = + b) ; b - - ;,, for, b for, Java, Java for,, for, : class Comma public static void main (String args [ ] ) int a, b ; for ( a = 1, b = 4 ; a < b ; a + +, b - - ) System. out. println ( a = + a) ; System. out. println ( b = + b) ;, a b, : a = 1 b = 4 a = 2 b = 3 : C/ C + +,,, Java Java,, for 6.3.3 for for, for 3 (, ), for 3,,, : boolean done = false ; for ( int i = 1 ;! done; i + + ) for

6 Java 141 if ( interrupted ( ) ) done = true ;, for, done for i for Java for, : / / for class ForVar public static void main ( String args [ ] ) int i ; boolean done = false; i = 0 ; for ( ;! done ; ) System. out. println ( i is + i) ; if ( i = = 10) done = true ; i ++ ;, for, for, for,,,,,,,, for for for 3, ( ) : for ( ; ; ) / /...,,,, 6.3.4, Java,, : / / class Nested public static void main ( String args [ ] ) int i, j ;

142 Java for (i = 0 ; i < 10 ; i + + ) for (j = i; j < 10 ; j + + ) System. out. print (. ) ; System. out. println ( ) ; :....................................................... 6.4,,, Java C/ C + + 6.4.1, : type [ ] var ;, type,, int, month days int month days [ ] ; month days, month days, month days, new month days new new, new, : array var = new type [ size] ;

6 Java 143 type, size, array var, new, new, 12 month month days = new int [ 12] ;, month days days 12, : 2,, new, Java,,,, 28 month month days [ 1] = 28 ; 3 : System. out. println ( month days [ 3 ] ) ;, / / class Array public static void main ( String args [ ] ) int month days [ ] ; month days = new int [ 12] ; month days [ 0] = 31 ; month days [ 1] = 28 ; month days [ 2] = 31 ; month days [ 3] = 30 ; month days [ 4] = 31 ; month days [ 5] = 30 ; month days [ 6] = 31 ; month days [ 7] = 31 ; month days [ 8] = 30 ; month days [ 9] = 31 ; month days [ 10] = 30 ; month days [ 11] = 31 ; System. out. println ( April has + month, 4,, 4 month days [3 ] days days [3] + days. ) ;, : Java

144 Java int month days new int [12] ; Java Java, new,, : / / class AutoAray public static void main ( String args [ ] ) int month dadys [] = 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; Sytem. cut. println ( April has + month days [3] + days. ) ;, Java Java (, Java C/ C + +, C/ C + + ), month days 0 11 ( ), / / class Average public static void main (String args [ ] ) double nums [ ] = 10. 1, 11. 2, 12. 3, 13. 4, 14. 5; double result = 0 ; int i ; for ( i = 0 ; i < 5 ; i + + ) result = result + nums [ i] ; System. out. println ( Average is + result / 5) ; 6.4.2 Java,, twod int twod [ ] [ ] = new int [4] [5] ; 4 5 twod int, 6.1

6 Java 145 6 1 (4 5 ) / / class TwoDArray public static void main (String args [ ] ) int twod [ ] [ ] = new int [4] [5] ; int i, j, k = 0 ; for ( i = 0 ; i < 4 ; i + + ) for (j = 0 ; j < 5 ; j + + ) twod [i] [j] = k ; k ++ ; for ( i = 0 ; i < 4 ; i + + ) for (j = 0 ; j < 5 ; j + + ) System. out. print (twod [i] System. out. println ( ) ; : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [j] + ) ;, ( ), twod, int twod [ ] [ ] = new int [4] [ ] ; twod [0] = new int [5] ; twod [1] = new int [5] ;

146 Java twod 2] = new int [5] ; twod [3] = new int [5] ;,,,,,,, / / class TwoDAgain public static void main (String args [ ] ) int twod [ ] [ ] = new int [4] [ ] ; twod [0] = new int [1] ; twod [1] = new int [2] ; twod [2] = new int [3] ; twod [3] = new int [4] ; int i, j, k = 0 ; for ( i = 0 ; i < 4 ; i + + ) for (j = 0 ; j < i + 1 ; j ++ ) twod [i] [j] = k ; k + + ; [0] [0] [1] [0] [1] [1] for ( i = 0 ; i < 4 ; i + + ) for (j = 0 ; j < i + 1 ; j ++ ) System. out. print (twod [i] System. out. println ( ) ; : 0 1 2 3 4 5 6 7 8 9 6.2 [2] [0] [2] [1] [2] [2] [3] [0] [3] [1] [3] [2] [3] [3] [j] + ) ;,, 6.2,,, ( ),

6 Java 147, / / class Matrix public static void main ( String args [ ] ) double m [ ] [ ] = 0 * 0, 1 * 0, 2 * 0, 3 * 0, 0 * 1, 1 * 1, 2 * 1, 3 * 1, 0 * 2, 1 * 2, 2 * 2, 3 * 2, 0 * 3, 1 * 3, 2 * 3, 3 * 3 ; int i, j ; for (i = 0 ; i < 4 ; i + + ) for (j = 0 ; j < 4 ; j + + ) System. out. print (m [i] System. out. println ( ) ;, : 0. 0 0. 0 0. 0 0. 0 0. 0 1. 0 2. 0 3. 0 0. 0 2. 0 4. 0 6. 0 0. 0 3. 0 6. 0 9. 0 [j] + ) ; 3 4 5,, / / class threedmatrix public static void main ( String args [ ] ) int threed [ ] [ ] [ ] = new int [3] [4] [5] ; int i, j, k ; for (i = 0 ; i < 3 ; i + + ) for (j = 0 ; j < 4 ; j + + ) for (k = 0 ; k < 5 ; k + + ) threed [i] [j] [k] = i * j * k ; for (i = 0 ; i < 3 ; i + + ) for (j = 0 ; j < 4 ; j + + )

148 Java for (k = 0 ; k < 5 ; k + + ) System. out. print (threed [i] [j] [k] + ) ; system. out. println ( ) ; System. out. println ( ) ; : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 0 2 4 6 8 0 3 6 9 12 0 0 0 0 0 0 2 4 6 8 0 4 8 12 16 0 6 12 18 24 6.4.3 : type [ ] var - name ;, type,, : int al [ ] = new int [3] ; int [ ] a2 = new int [3] ; : char twod1 [ ] [ ] = new char [3] [4] ; char [ ] [ ] twod2 = new char [3] [4] ; 6.4.4, ( ), findmaximum ( ) sumelements ( ) import java. io. * ;

6 Java 149 class ArrayOps void print ( int [ ] x ) for ( int index = 0 ; index < x. length; index + + ) System. out. print ( x [index] + ) ; System. out. println ( ) ; class ArrayDemo operate. print ( ar2) ar2 x, 6.3,, 6.3, ar2 x,,, x ar2 6.3, 6.5, int double char,, 6.5.1,,, str,, str : String str ; / / str = Hello World ;, ( ) String str; str = Hello World ; str = Good - by ;

150 Java 6 5.2 strarray, ( ) String [ ] strarray ; 8 : strarray = new String [ 8] ; strarray 8 ( ), null,, 0, : strarray [0] = Hello ; new ( ) 6.5.3 : class StringArray public static void main ( String [ ] args ) String [ ] strarray = new String [ 8] ; strarray [0] = Hello ; strarray [1] = World ; strarray [2] = Greetings ; strarray [3] = Jupiter ; strarray [ strarray. length - 1 ] = the end ; for (int j = 0 ; j < strarray. length ; j + + ) if ( strarray [ j]! = null ) System. out. println ( Slot + j + : + strarray [j] ) ; else System. out. println ( Slot + j + : + empty ) ; 1 : Slot 0 : Hello Slot 1 : World Slot 2 : Greetings Slot 3 : Jupiter Slot 4 : empty Slot 5 : empty Slot 6 : empty

6 Java 151 Slot 7 the end 6.6 Searcher, Searcher, : class Searcher / /,, - 1 public static int search ( array, target )....../ / class SearchTester public static void main ( String [ ] args ) final int thesize = 20 ; String [ ] strarray = new String [ thesize ] ;...... / / strarray / / int where = Searcher. search ( strarray, ) ; if ( where > = 0 ) System. out. println ( Target found in slot + where ) ; else System. out. println ( Target not found ) ; array String [ ],, main ( ), for - loop 0 class Searcher / /,, - 1 public static int search ( String [ ] array, String target ) for ( int j = 0 ; j array. length; j + + )

152 Java if ( array [j] null ) class SearchTester public static void main ( String [ ] args )...... int where = Searcher. search ( strarray, Peoria ) ;......,,, null if, j,, class Searcher / /,, - 1 public static int search ( String [ ] array, String target ) for ( int j = 0 ; j < array. length ; j ++ ) if ( array [j]! = null ) / / do something here with a non - null slot class SearchTester public static void main ( String [ ] args )...... int where = Searcher. search ( strarray, ) ;......, if, class Searcher / /,, - 1 public static int search ( String [ ] array, String target )

6 Java 153 for ( int j = 0 ; j < array. length ; j ++ ) if ( array [j]! = null ) if ( array [j]. equals ( target ) ) return ; return ; / /, class SearchTester public static void main ( String [ ] args )...... int where = Searcher. search ( strarray, ) ;...... return, for... loop,, for... loop, - 1 class Searcher / /,, - 1 public static int search ( String [ ] array, String target ) for ( int j = 0 ; j < array. length ; j ++ ) if ( array [j]! = null ) if ( array [j]. equals ( target ) ) return j ; / / return - 1 ; / / class SearchTester public static void main ( String [ ] args ) final int thesize = 20 ; String [ ] strarray = new String [ thesize ] ; strarray [0] = ;