Java 版 (精华区)

发 信 人: yxd (yangzi), 信 区: java
标  题: jave教程(二)(转贴)
发 信 站: 紫 丁 香
日  期: Thu Oct 17 15:52:26 1996
出  处: robsn01.hit.edu

Subject: java教程(二)(转寄)
X-Forwarded-By: yxd (yangzi)
X-Disclaimer: 白山黑水站 对本信内容恕不负责。
Precedence: junk
Status: RO

发信人: suwg (S君),信区: java
标  题: java教程(二)
发信站: 白山黑水站 (Mon Oct  7 15:44:44 1996) 

                        第 一 部 分 Java入 门

                        第 一 章 Java概 述 (续 )

                       刘波 李京华 丁锂 王克宏 

                        § 1.3.简 单 的 Java程 序 

      下 面 我 们 先 介 绍 两 个 简 单 的 Java程 序 ,并 对 其 进 行 分 析 。 
      例 1.1. 

    public class HelloWorldApp {             //an application
                public static void main (String args[ ]){
                System.out.println("Hello World!");
                            }
     }

      本 程 序 的 作 用 是 输 出 下 面 一 行 信 息 : 
      Hello World! 

      程 序 中 ,首 先 用 保 留 字 class来 声 明 一 个 新 的 类 ,其 类 名 为 
Hell oWorldApp,它 是 一 个 公 共 类 (public)。 整 个 类 定 义 由 大 括 号 {}
括 起 来 。 在 该 类 中 定 义 了 一 个 main ()方 法 ,其 中 public表 示 访 问 
权 限 ,指 明 所 有 的 类 都 可 以 使 用 这 一 方 法; static指 明 该 方 法 是 
一 个 类 方 法 ,它 可 以 通 过 类 名 直 接 调 用 ;void则 指 明 main()方 法 不
返 回 任 何 值 。 对 于 一 个 应 用 程 序 来 说 ,main()方 法 是 必 需 的 ,而 
且 必 须 按 照 如 上 的 格 式 来 定 义 。 Jave解 释 器 在 没 有 生 成 任 何 
实 例 的 情 况 下 ,以 main()作 为 入 口 来 执 行 程 序 。 Jave程 序 中 可 以 
定 义 多 个 类 ,每 个 类 中 可 以 定 义 多 个 方 法 ,但 是 最 多 只 能 有 一 
个 公 共 类, main()方 法 也 只 能 有 一 个, 作 为 程 序 的 入 口 。 main()方 
法 定 义 中 ,括 号 ()中 的 String args[ ]是 传 递 给 main()方 法 的 参 数,参 
数 名 为 args,它 是 类 String的 一 个 实 例 ,参 数 可 以 为 0个 或 多 个,每 
个 参 数 用 "类 名 参 数 名 "来 指 定 , 多 个 参 数 间 用 逗 号 分 隔 。 在 
main()方 法 的 实 现 (大 括 号 中 ),只 有 一 条 语 句 : 
      System.out.println ("Hello World!"); 

      它 用 来 实 现 字 符 串 的 输 出 ,这 条 语 句 实 现 与 C语 言 中 的 
printf 语 句 和 C++中 cout<<语 句 相 同 的 功 能 。 另 外 ,//后 的 内 容 为 
注 释 。 

      现 在 我 们 可 以 运 行 该 程 序 。 首 先 把 它 放 到 一 个 名 为 
HelloWor ldApp.java的 文 件 中 , 这 里 ,文 件 名 应 和 类 名 相 同 ,因 为 
Java解 释 器 要 求 公 共 类 必 须 放 在 与 其 同 名 的 文 件 中。 然 后 对 
它 进 行 编 译 : 
      C:\>javac HelloWorldApp.java 

      编 译 的 结 果 是 生 成 字 节 码 文 件 HelloWorldApp.class。 最 后 用 
java 解 释 器 来 运 行 该 字 节 码 文 件 : 
      C:\>java HelloWorldApp 

      结 果 在 屏 幕 上 显 示 Hello World! 

      我 们 再 来 看 下 面 的 一 个 例 子 : 
      例 1.2 

    import java.awr.*;
    import java.applet.*;
    public class HelloWorldApplet extends Applet {        //an applet
        public void paint(Graphics g){
        g.drawString ("Hello World!",20,20);
        }
    }

      这 是 一 个 简 单 的 Applet(小 应 用 程 序 )。 程 序 中 ,首 先 用 
import语 句 输 入 java.awr和java.applet下 所 有 的 包 ,使 得 该 程 序 可 能 
使 用 这 些 包 中 所 定 义 的 类 , 它 类 似 于 C中 的 #include语 句 。 然 后 
声 明 一 个 公 共 类 HelloWorldApplet,用 extends指 明 它 是 Applet的 子 类 。 
在 类 中 ,我 们 重 写 父 类 Ap-plet的 paint()方 法 ,其 中 参 数 g为 Graphics
类 ,它 表 明 当 前 作 画 的 上 下 文 。 在 paint()方 法 中 ,调 用 g的 方 法 
drawString(),在 坐 标 (20,20)处 输 出 字 符 串 ""Hello World!", 其 中 坐 标 
是 用 象 素 点 来 表 示 的 。 

      这 个 程 序 中 没 有 实 现 main()方 法 ,这 是 Applet与 应 用 程 序 
Applica tion(如 例 1)的 区 别 之 一 。 为 了 运 行 该 程 序 ,首 先 我 们 也 
要 把 它 放 在 文 件 HelloWorldAppl et.java中 ,然 后 对 它 进 行 编 译 : 
      C:\>javac HelloWorldApplet.java 

      得 到 字 节 码 文 件 HelloWorldApplet.class。 由 于 Applet中 没 有 
main()方 法 作 为 Java解 释 器 的 入 口 ,我 们 必 须 编 写 HTML文 件 ,把 该 
Applet嵌 入 其 中 ,然 后 用 appletviewer来 运 行 ,或 在 支 持 Java的 浏 览 器 
上 运 行 。 它 的 <HTML>文 件 如 下 : 

      <HTML> 
      <HEAD> 
      <TITLE> An Applet </TITLE> 
      </HEAD> 

      <BODY> 
      <applet code="HelloWorldApplet.class" width=200 height=40> 
      </applet> 
      </BODY> 
      </HTML> 

      其 中 用 <applet>标 记 来 启 动 HelloWorldApplet,code指 明 字 节 码 
所 在 的 文 件 ,width和height指 明 applet所 占 的 大 小 ,我 们 把 这 个 HTML
文 件 存 入 Example.html,然 后 运 行 : 
      C:\>appleviewer Example.html 

      这 时 屏 幕 上 弹 出 一 个 窗 口 ,其 中 显 示 Hello World!,显 示 结 果 
如 图 : 

      从 上 述 例 子 中 可 以 看 出 ,Java程 序 是 由 类 构 成 的 ,对 于 一 个 
应 用 程 序 来 说 ,必 须 有 一 个 类 中 定 义 main()方 法 ,而 对 applet来 说 ,
它 必 须 作 为 Applet的 一 个 子 类 。 在 类 的 定 义 中 ,应 包 含 类 变 量 的
声 明 和 类 中 方 法 的 实 现 。 Java在 基 本 数 据 类 型 、 运 算 符 、 表
达 式 、 控 制 语 句 等 方 面 与 C、 C++基 本 上 是 相 同 的 ,但 它 同 时 也 
增 加 了 一 些 新 的 内 容 ,在 以 后 的 各 章 中 ,我 们 会 详 细 介 绍 。 本 
节 中 ,只 是 使 大 家 对 Java程 序 有 一 个 初 步 的 了 解 。 


                            第 二 章   数 据 类 型 

                               § 2.1数 据 类 型 

      数 据 类 型 指 明 了 变 量 或 表 达 式 的 状 态 和 行 为 。 Java的 数 
据 类 型 如 下 所 示 : 

      Java不 支 持 C、 C++中 的 指 针 类 型、结 构 体 类 型 和 共 用 体 类 型。 

      本 章 我 们 主 要 介 绍 简 单 类 型 。 

                             § 2.2常 量 与 变 量 

      一 、 常 量 

      Java中 的 常 量 值 是 用 文 字 串 表 示 的 ,它 区 分 为 不 同 的 类 型 
,如 整 型 常 量 123,实 型 常 量 1.23,字 符 常 量 ‘ a’ ,布 尔 常 量 true、 
false以 及 字 符 串 常 量 "This is a constant string."。 

      与 C、 C++不 同 ,Java中 不 能 通 过 #define命 令 把 一 个 标 识 符 定 
义 为 常 量 ,而 是 用 关 键 字 final来 实 现 ,如 final double PI=3.14159( 有 
关 final的 用 法 见 [6.2.3])。 

      二 、 变 量 

      变 量 是 Java程 序 中 的 基 本 存 储 单 元 ,它 的 定 义 包 括 变 量 名 
、 变 量 类 型 和 作 用 域 几 个 部 分 。 

      ① 变 量 名 是 一 个 合 法 的 标 识 符 ,它 是 字 母 、 数 字 、 下 划 
线 或 美 元 符 "$ "的 序 列 ,Java对 变 量 名 区 分 大 小 写 ,变 量 名 不 能 
以 数 字 开 头 ,而 且 不 能 为 保 留 字 。 合 法 的 变 量 名 如 :myName、 
value-1、 dollar$ 等 。 非 法 的 变 量 名 如 :2mail、 room#、 class (保 留 
字 )等 ,变 量 名 应 具 有 一 定 的 含 义 ,以 增 加 程 序 的 可 读 性 。 

      ② 变 量 类 型 可 以 为 上 面 所 说 的 任 意 一 种 数 据 类 型 。 

      ③ 变 量 的 作 用 域 指 明 可 访 问 该 变 量 的 一 段 代 码 。 声 明 一 
个 变 量 的 同 时 也 就 指 明 了 变 量 的 作 用 域 。 按 作 用 域 来 分 ,变 量
可 以 有 下 面 几 种 :局 部 变 量 、 类 变 量 、方 法 参 数 、 例 外 处 理 参 
数 。 局 部 变 量 在 方 法 或 方 法 的 一 块 代 码 中 声 明 ,它 的 作 用 域 
为 它 所 在 的 代 码 块 (整 个 方 法 或 方 法 中 的 某 块 代 码 )。 

      类 变 量 在 类 中 声 明 ,而 不 是 在 类 的 某 个 方 法 中 声 明 ,它 的 
作 用 域 是 整 个 类 。 

      方 法 参 数 传 递 给 方 法 ,它 的 作 用 域 就 是 这 个 方 法 。 

      例 外 处 理 参 数 传 递 给 例 外 处 理 代 码 ,它 的 作 用 域 就 是 例 
外 处 理 部 分 。 

      在 一 个 确 定 的 域 中 ,变 量 名 应 该 是 唯 一 的 。 通 常 ,一 个 域 
用 大 括 号 {}来 划 定 。 

      有 关 类 变 量 、 参 数 传 递 以 及 例 外 处 理 将 分 别 在 [6.7.1]、 
[6.2 .4]和 第 八 章 中 讲 述。 

      ④ 变 量 的 声 明 格 式 为 : 
      type identifier[=value][,identifier[=value]… ]; 

      例 如 : int a, b, c; 
      double d1, d2=0.0; 

      其 中 ,多 个 变 量 间 用 逗 号 隔 开 ,d2=0.0对 实 型 变 量 d2赋 初 值 
0.0, 只 有 局 部 变 量 和 类 变 量 是 可 以 这 样 赋 初 值 的 ,而 方 法 参 数 
和 例 外 处 理 参 数 的 变 量 值 是 由 调 用 者 给 出 的 。 

                            § 2.3整 型 数 据 

      一 、 整 型 常 量 :

      与 C,C++相 同 ,Java的 整 常 数 有 三 种 形 式 : 

      ① 十 进 制 整 数 ,如 123,-456,0 

      ② 八 进 制 整 数 ,以 0开 头 ,如 0123表 示 十 进 制 数 83,-011表 示 十 
进 制 数 -9。 

      ③ 十 六 进 制 整 数 ,以 0x或 0X开 头 ,如 0x123表 示 十 进 制 数 
291,-0X12 表 示 十 进 制 数 -18。 

      整 型 常 量 在 机 器 中 占 32位 ,具 有 int型 的 值 ,对 于 long型 值 ,则 
要 在 数 字 后 加 L或 l,如 123L表 示 一 个 长 整 数 ,它 在 机 器 中 占 64位 。

      二 、 整 型 变 量 :

      整 型 变 量 的 类 型 有 byte、 short、 int、 long四 种 。 下 表 列 出 
各 类 型 所 在 内 存 的 位 数 和 其 表 示 范 围 。 

      (未 完 待 续 )  

--
  4m                                 m
  4m  6m                           4m    m
  4m  4;46m  我爱;31;46mmouse4;46m, 我也喜欢;31;46m猫子4;46m  0m  4m  m
  4m  6m                           0m  4m  m
  4m   0m                            4m  m
  4m                                 m

7;40m0mm;31m※ 来源:.鼓浪听涛 bbs.xmu.edu.cn.[FROM: bbs]m

--
m※ 来源:.白山黑水站bbs.neu.edu.cn.[FROM: bbs@bbs.shnet.edu.cn] m


--
※ Origin:·紫 丁 香 pclinux·[FROM: robsn01.hit.edu]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:203.120毫秒