java语言基础组成_第1页
java语言基础组成_第2页
java语言基础组成_第3页
java语言基础组成_第4页
java语言基础组成_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 一 个 程 序 /文 件 名 HelloWorld.java /声 明 一 个 类 public class HelloWorld /声 明 一 个 方 法 public static void main(String args) /程 序 的 入 口 /输 出 System.out.println(“hello world!”); /例 子 package Text; public class Test public static void main(String args) short d = 12; /短 整 型 System.out.println(d); /输 出 d long c = 144L; /长 整 型 , 要 加 l System.out.println(c); /输 出 c int z = 15; /整 型 System.out.println(z); /输 出 z char e = 我 ; /字 符 型 “我 ” System.out.println(e);/输 出 e /无 编 译 工 具 编 译 运 行 java 程 序 /路 径 是 相 对 路 径 编 译 java javacjava 源 程 序 名 称 。 java /一 定 要 加 上 后 缀 名 /这 个 时 候 你 会 发 现 你 的 原 程 序 旁 边 多 了 一 个 .class 文 件 , 文 件 名 和 源 文 件 名 称 相 同 /有 编 译 错 误 会 提 示 运 行 java java java 源 程 序 名 称 /不 需 要 加 后 缀 名 ,自 动 运 行 。 class 文 件 /显 示 程 序 运 行 结 果 1 关键字 java 关 键 字 概 述 关 键 字 是 电 脑 语 言 里 事 先 定 义 的 ,有 特 别 意 义 的 标 识 符 ,有 时 又 叫 保 留 字 , 还 有 特 别 意 义 的 变 量 。 Java 的 关 键 字 对 java 的 编 译 器 有 特 殊 的 意 义 , 他 们 用 来 表 示 一 种 数 据 类 型 , 或 者 表 示 程 序 的 结 构 等 , 关 键 字 不 能 用 作 变 量 名 、 方 法 名 、 类 名 、 包 名 。 一 个 Java 语 言 中 的 关 键 字 , 用 在 类 的 声 明 中 来 指 明 一 个 类 是 不 能 被 实 例 化 的 , 但 是 可 以 被 其 它 类 继 承 。 一 个 抽 象 类 可 以 使 用 抽 象 方 法 , 抽 象 方 法 不 需 要 实 现 , 但 是 需 要 在 子 类 中 被 实 现 。 break 一 个 Java 的 关 键 字 , 用 来 改 变 程 序 执 行 流 程 , 立 刻 从 当 前 语 句 的 下 一 句 开 始 执 行 从 。 如 果 后 面 跟 有 一 个 标 签 , 则 从 标 签 对 应 的 地 方 开 始 执 行 。 case Java 语 言 的 关 键 字 , 用 来 定 义 一 组 分 支 选 择 , 如 果 某 个 值 和 switch 中 给 出 的 值 一 样 , 就 会 从 该 分 支 开 始 执 行 。 catch Java 的 一 个 关 键 字 , 用 来 声 明 当 try 语 句 块 中 发 生 运 行 时 错 误 或 非 运 行 时 异 常 时 运 行 的 一 个 块 。 char Java 语 言 的 一 个 关 键 字 , 用 来 定 义 一 个 字 符 类 型 。 i nt Java 语 言 的 一 个 关 键 字 , 用 来 定 义 一 个 整 型 类 型 数 据 或 变 量 。 for Java 语 言 的 一 个 关 键 字 , 是 循 环 结 构 中 经 常 使 用 的 一 个 关 键 字 , 其 形 式 为 : for( 表 达 式 1; 表 达 式 2; 表 达 式 3) 其 中 表 达 式 1 用 于 给 相 应 的 变 量 赋 值 , 表 达 式 2 是 条 件 判 断 语 句 , 表 达 式 3 循 环 控 制 语 句 。 if Java 语 言 的 一 个 关 键 字 , 是 用 来 判 断 条 件 用 的 。 break Java 语 言 的 一 个 关 键 字 , 用 来 中 断 程 序 的 执 行 , 一 般 用 在 循 环 语 句 中 , 用 来 跳 出 本 层 循 环 , 转 去 执 行 下 面 的 程 序 。 abstract boolean break byte case catch char class continue default do double else extends final finally float for if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while abstract boolean break byte case catch char class continue default do double else extends final finally float for if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while 详 细 介 绍 类 和 接 口 abstract 标 记 为 抽 象 或 包 含 在 抽 象 类 中 的 成 员 必 须 通 过 从 抽 象 类 派 生 的 类 来 实 现 。 class 类 , 格 式 为 : class 类 名 extends 父 类 名 称 属 性 声 明 及 初 始 化 ; 方 法 声 明 及 方 法 体 ; implements 实 现 import 导 入 interface 接 口 。 格 式 为 : interface 接 口 名 extends 父 接 口 列 表 publicstaticfinal属 性 类 型 属 性 名 =常 量 值 ; publicabstract返 回 值 类 型 方 法 名 ( 参 数 列 表 ) ; package 打 包 , 声 明 仅 仅 指 定 了 文 件 中 所 定 义 的 类 属 于 哪 一 个 包 。 static 静 态 属 性 , 用 来 描 述 一 个 类 下 所 有 对 象 共 享 的 属 性 。 throws 扔 , 一 个 方 法 中 发 生 异 常 但 没 有 捕 获 , 在 方 法 头 声 明 , 由 方 法 调 用 者 处 理 。 /throw 后 不 允 许 有 其 他 的 语 句 。 void 空 数 据 类 型 boolean 值 只 能 是 true 和 false, 而 不 能 用 0 和 1 代 替 , 并 且 一 定 要 小 写 。 byte 字 节 型 char 字 符 型 double 双 精 度 浮 点 型 float 单 精 度 浮 点 型 int 整 形 long 长 整 形 short 短 整 形 流 程 控 制 break 中 断 switch 语 句 的 执 行 , 在 循 环 语 句 中 , 同 样 也 是 结 束 循 环 语 句 的 执 行 。 continue 只 跳 出 本 次 循 环 , 还 要 继 续 执 行 下 一 次 的 循 环 。 break 完 全 跳 出 所 在 或 者 是 所 标 记 的 循 环 。 do 和 while 连 用 , 格 式 为 : do 循 环 体 ; while( 循 环 条 件 ) ; /不 要 忘 记 分 号 ; for 格 式 为 : for( 表 达 式 1; 表 达 式 2; 表 达 式 3) 循 环 体 ; final 如 果 不 希 望 某 个 类 被 其 他 的 类 继 承 , 在 这 种 情 况 下 需 要 使 用 修 饰 符 final 来 说 明 一 个 类 是 终 极 的 , 不 能 够 做 父 类 。 if 格 式 为 : if( 条 件 表 达 式 ) 功 能 代 码 块 1 else 功 能 代 码 块 /条 件 表 达 式 返 回 值 为 真 , 则 执 行 功 能 块 , 否 则 执 行 else 功 能 块 。 return switch 格 式 为 : switch( 表 达 式 ) case 值 1: 功 能 代 码 1; break; case 值 2: 功 能 代 码 2; break;; case 值 n: 功 能 代 码 n; break; default: 功 能 代 码 others; while 格 式 为 : while( 循 环 条 件 ) 循 环 体 ; 访 问 范 围 protected 表 明 被 它 修 饰 的 成 员 变 量 为 保 护 类 型 , 在 同 一 个 包 里 和 public 类 型 是 一 样 的 , 也 是 能 够 访 问 到 的 。 但 是 如 果 在 不 同 包 里 的 protected 类 型 的 成 员 变 量 就 只 能 通 过 子 类 来 访 问 , 这 个 修 饰 符 是 区 别 于 其 他 的 修 饰 符 的 。 public 公 共 的 , 他 表 示 某 个 变 量 或 者 函 数 是 全 局 函 数 , 例 如 :public int a 表 示 a 这 个 整 型 变 量 是 全 局 变 量 。 private 私 有 地 , Private 语 句 在 模 块 级 别 中 使 用 , 用 于 声 明 私 有 变 量 及 分 配 存 储 空 间 。 类 的 实 例 new 该 子 句 创 建 一 个 新 的 对 象 实 例 。 New 子 句 必 须 指 定 一 个 可 以 用 来 创 建 实 例 的 已 定 义 类 。 可 以 在 声 明 语 句 或 赋 值 语 句 中 使 用 New。 执 行 该 语 句 时 , 它 将 调 用 指 定 类 的 构 造 函 数 , 传 递 提 供 的 所 有 参 数 。 this 引 用 属 性 , 当 方 法 中 的 参 数 和 某 个 属 性 有 相 同 的 名 字 时 , 这 是 局 部 变 量 优 先 , 属 性 被 隐 藏 。 然 而 , 有 时 为 了 能 够 在 方 法 中 以 用 隐 藏 的 属 性 , 就 可 以 用 this 区 分 , 由 this 引 用 的 就 是 属 性 , 没 有 this 引 用 的 则 是 局 部 变 量 或 者 是 参 数 。 super 被 继 承 的 类 称 为 超 类 , 继 承 的 类 称 为 子 类 。 其 它 1、 catch 捕 获 错 误 的 语 句 。 2、 finally 为 了 完 成 执 行 的 代 码 而 设 计 的 , 主 要 是 为 了 程 序 的 健 壮 性 和 完 整 性 , 无 论 有 没 有 异 常 发 生 都 执 行 代 码 。 3、 native 是 方 法 修 饰 符 。 Native 方 法 是 由 另 外 一 种 语 言 ( 如 c/c+, FORTRAN, 汇 编 ) 实 现 的 本 地 方 法 。 因 为 在 外 部 实 现 了 方 法 , 所 以 在 java 代 码 中 , 就 不 需 要 声 明 了 , 有 点 类 似 于 接 口 方 法 。 Native 可 以 和 其 他 一 些 修 饰 符 连 用 , 但 是 abstract 方 法 和 Interface 方 法 不 能 用 native 来 修 饰 。 4、 strictfp 修 饰 类 和 方 法 , 意 思 是 FP-strict, 精 确 浮 点 , 符 合 IEEE-754 规 范 的 。 当 一 个 class 或 interface 用 strictfp 声 明 , 内 部 所 有 的 float 和 double 表 达 式 都 会 成 为 strictfp 的 。 Interface method 不 能 被 声 明 为 strictfp 的 , class 的 可 以 。 5、 try 当 try 子 句 中 的 某 行 代 码 发 生 异 常 , 会 终 止 程 序 的 运 行 , 跳 转 到 catch 子 句 来 执 行 。 6、 transilent 变 量 修 饰 符 。 标 记 为 transient 的 变 量 , 在 对 象 存 储 时 , 这 些 变 量 状 态 不 会 被 持 久 化 。 当 对 象 序 列 化 的 保 存 在 存 储 器 上 时 , 不 希 望 有 些 字 段 数 据 被 保 存 , 为 了 保 证 安 全 性 , 可 以 把 这 些 字 段 声 明 为 transient。 7、 volatile volatile 修 饰 变 量 。 在 每 次 被 线 程 访 问 时 , 都 强 迫 从 共 享 内 存 中 重 读 该 成 员 变 量 的 值 。 而 且 , 当 成 员 变 量 发 生 变 化 时 , 强 迫 线 程 将 变 化 值 回 写 到 共 享 内 存 。 这 样 在 任 何 时 刻 , 两 个 不 同 的 线 程 总 是 看 到 某 个 成 员 变 量 的 同 一 个 值 。 8、 goto java 中 关 键 字 表 中 虽 然 没 有 goto 关 键 字 但 是 在 声 明 变 量 时 是 不 可 以 使 用 该 单 词 的 2 标示符 标 识 符 概 念 Java 语 言 中 , 对 于 变 量 , 常 量 , 函 数 , 语 句 块 也 有 名 字 , 我 们 统 统 称 之 为 Java 标 识 符 . 标 识 符 组 成 Java 标 识 符 由 数 字 , 字 母 和 下 划 线 (_), 美 元 符 号 ( $) 组 成 。 在 Java 中 是 区 分 大 小 写 的 。 而 且 还 要 求 首 位 不 能 是 数 字 。 最 重 要 的 是 , Java 关 键 字 不 能 当 作 Java 标 识 符 3 注释 JAVA 注 释 主 要 种 类 对 于 Java 注 释 我 们 主 要 了 解 三 种 : 1, / 注 释 一 行 2, /* */ 注 释 若 干 行 3, /*/文 档 注 释 说 明 /* */ 注 释 若 干 行 , 并 写 入 javadoc 文 档 通 常 这 种 注 释 的 多 行 写 法 如 下 : /* * . * . */ javadoc 提 取 注 释 的 工 具 /*注 释 内 容 */ ( 其 余 两 种 和 C+注 释 一 样 ) . 注 : 注 释 内 容 即 不 会 被 编 译 的 内 容 , 只 是 解 释 说 明 4, 内 置 注 释 类 型 Override,Deprecated ,SupressWarning A、 Override, 只 能 用 于 方 法 ( 不 能 用 于 类 , 包 括 声 明 或 者 其 他 结 构 ) 作 用 : 可 以 保 证 编 译 时 Override 函 数 的 声 明 正 确 性 。 用 法 : Override public void fun() B、 Deprecated 同 样 只 能 用 于 方 法 。 作 用 : 对 不 应 再 使 用 的 方 法 进 行 注 解 。 用 法 : Deprecated public void fun /这 个 注 释 与 函 数 在 同 一 行 。 C、 SupressWarnings 可 以 注 释 一 段 代 码 。 作 用 : 关 闭 特 定 的 警 告 信 息 。 例 如 你 在 使 用 泛 型 的 时 候 未 指 定 类 型 。 用 法 : SupressWarnings(value=“unchecked“) 代 码 注 释 deprecated 与 Deprecated 的 区 别 用 Deprecated 注 释 的 程 序 元 素 , 不 鼓 励 程 序 员 使 用 这 样 的 元 素 , 通 常 是 因 为 它 很 危 险 或 存 在 更 好 的 选 择 。 在 使 用 不 被 赞 成 的 程 序 元 素 或 在 不 被 赞 成 的 代 码 中 执 行 重 写 时 , 编 译 器 会 发 出 警 告 。 其 次 , 请 注 意 标 题 , 这 两 个 标 记 有 大 小 写 之 分 , 一 个 是 D, 一 个 是 d。 源 代 码 标 记 Deprecated 是 在 JDK1.5 中 作 为 内 置 的 annotation 引 入 的 , 用 于 表 明 类 (class)、 方 法 (method)、 字 段 (field)已 经 不 再 推 荐 使 用 , 并 且 在 以 后 的 JDK 版 本 中 可 能 将 其 删 除 , 编 译 器 在 默 认 情 况 下 检 测 到 有 此 标 记 的 时 候 会 提 示 警 告 信 息 。 Java 注 释 中 的 deprecated 用 于 在 用 Javadoc 工 具 生 成 文 档 的 时 候 , 标 注 此 类 / 接 口 、 方 法 、 字 段 已 经 被 废 止 。 不 过 后 者 还 有 一 个 功 能 就 是 和 源 代 码 标 记 Deprecated 同 样 的 功 能 , 在 JDK1.4 版 本 之 后 , 该 功 能 被 Deprecated 所 取 代 。 java.lang.Deprectated 是 J2SE 5.0 中 标 准 的 Annotation 型 态 之 一 , 它 对 编 译 器 说 明 某 个 方 法 已 经 不 建 议 使 用 , 如 果 有 人 试 图 使 用 或 重 新 定 义 该 方 法 , 必 须 提 出 警 示 讯 息 。 举 个 例 子 来 说 , 您 可 能 定 义 一 个 CustomObject 类 别 , 并 在 当 中 定 义 有 getSomething()方 法 , 而 在 一 段 时 间 之 后 , 您 不 建 议 使 用 这 个 方 法 了 , 并 要 将 这 个 方 法 标 示 为 deprectated, 您 可 以 这 么 作 : CustomObject.java public class CustomObject Deprecated public String getSomething() return “something“; 如 果 有 人 试 图 在 继 承 这 个 类 别 后 重 新 定 义 getSomething(), 或 是 在 程 序 中 呼 叫 使 用 getSomething()方 法 , 则 进 行 编 译 时 , 就 会 出 现 这 个 警 讯 : Note: SubCustomObject.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.想 要 知 道 详 细 的 警 讯 内 容 的 话 , 可 以 在 编 译 时 加 上 -Xline:deprecation 自 变 量 , 例 如 : javac -Xlint:deprecation SubCustomObject.java SubCustomObject.java:5: warning: deprecation getSomething() in CustomObject ha s been deprecated object.getSomething(); 1 warningjava.lang.Deprecated 是 个 Marker annotation, 简 单 的 说 就 是 用 于 标 示 , annotation 名 称 本 身 即 包 括 了 要 给 工 具 程 序 的 信 息 。 java 注 释 例 子 import java.awt.*; /调 用 awt 包 import java.applet.*; import java.awt.Color; /调 用 awt 中 的 Color 类 public class extends Applet implements Runnable Image buffer;/ 定 义 图 像 对 象 Graphics gContext;/ 定 义 图 形 上 下 文 Thread animate;/ 定 义 一 个 线 程 String s = “这 是 文 字 动 画 “; int w, h, x, y, size = 12; / 定 义 整 形 变 量 并 赋 值 /* * Applet 初 始 化 * * see java.applet.Applet * return 无 */ public void init() w = getWidth();/ 返 回 组 件 的 当 前 宽 度 。 h = getHeight();/ 返 回 组 件 的 当 前 高 度 。 buffer = createImage(w, h);/ 创 建 一 个 宽 W 高 H 的 图 形 区 域 。 ( 创 建 一 幅 用 于 双 缓 冲 的 、 可 在 屏 幕 外 绘 制 的 图 像 ) gContext = buffer.getGraphics();/ 获 得 图 像 使 用 的 图 形 上 下 文 gContext.setColor(Color.blue);/ 设 置 图 形 上 下 文 的 当 前 颜 色 为 蓝 色 /* * Thread 线 程 启 动 操 作 */ public void start() / 开 始 animate 线 程 if (animate = null) animate = new Thread(this); animate.start(); /* * Thread 线 程 终 止 时 的 处 理 操 作 以 释 放 资 源 */ public void stop() / 结 束 animate 线 程 if (animate != null) animate = null; /* * Runnable 接 口 的 实 现 * 执 行 所 需 的 操 作 */ public void run() while (true) /X,Y 的 坐 标 设 定 x = (w - s.length() * size) / 2; y = (h + size) / 2; gContext.setFont(new Font(“宋 体 “, Font.PLAIN, size); gContext.drawString(s, x, y);/绘 制 一 串 字 符 s 内 容 的 文 本 repaint();/重 画 图 形 try animate.sleep(50);/线 程 休 眠 50ms catch (InterruptedException e) / 捕 获 异 常 gContext.clearRect(0, 0, w, h);/通 过 使 用 当 前 绘 图 表 面 的 背 景 色 进 行 填 充 来 清 除 指 定 的 矩 形 .0 - 要 清 除 矩 形 的 x 坐 标 。 0 - 要 清 除 矩 形 的 y 坐 标 。 w - 要 清 除 矩 形 的 宽 度 。 h - 要 清 除 矩 形 的 高 度 。 if (+size 40) size = 12; /* * Applet 画 图 操 作 方 法 * * see java.applet.Applet */ public void paint(Graphics g) g.drawImage(buffer, 0, 0, this);/绘 制 指 定 的 buffer 的 图 像 /* * Applet 刷 新 操 作 , 重 新 绘 制 图 形 * * see java.applet.Applet */ public void update(Graphics g) paint(g);/重 新 调 用 paint 函 数 绘 制 图 形 作 用 通 过 注 释 提 高 Java 源 程 序 代 码 的 可 读 性 ; 使 得 Java 程 序 条 理 清 晰 , 易 于 区 分 代 码 行 与 注 释 行 。 另 外 通 常 在 程 序 开 头 加 入 作 者 , 时 间 , 版 本 , 要 实 现 的 功 能 等 内 容 注 释 , 方 便 后 来 的 维 护 以 及 程 序 员 的 交 流 。 速 算 24 游 戏 规 则 如 下 : 1、 点 击 “开 始 游 戏 ”按 钮 , 游 戏 开 始 , 系 统 会 发 出 四 张 牌 2、 并 把 组 合 的 表 达 式 ( 四 张 牌 的 四 则 混 合 运 算 表 达 式 ) 输 入 到 输 入 框 里 ( 最 终 结 果 =24) 3、 点 击 “确 定 ”按 钮 , 游 戏 将 会 计 算 你 输 入 的 表 达 式 是 否 正 确 , 并 且 给 出 提 示 4、 如 果 输 入 的 表 达 式 不 正 确 , 则 会 让 用 户 重 新 输 入 , 如 果 输 入 的 表 达 式 正 确 , 则 重 新 开 始 游 戏 猜 数 字 游 戏 加 注 释 import java.util.Random; / 一 上 来 导 入 包 不 用 说 了 吧 public class Caishuzi /服 务 器 端 口 号 8181 static final int PORT = 8181; /声 明 一 个 服 务 器 套 接 字 ServerSocket serverSocket; /客 户 端 套 接 字 Socket socket; /数 据 输 入 流 DataInputStream netIn; /数 据 输 出 流 DataOutputStream netOut; /随 机 数 的 数 组 int randomNum; /游 戏 等 级 int level = 0; public Caishuzi() /猜 数 字 的 构 造 函 数 initRandomNum(); waitConnect(); private void initRandomNum() /初 始 化 随 机 数 randomNum = new int5;/数 组 初 始 化 , 大 小 为 5 Random ran = new Random();/随 机 数 类 for (int i = 0; i 100)/小 于 0 或 大 于 100 不 行 哦 System.out.print(“输 入 超 过 范 围 , 请 输 入 0100 以 内 的 数 字 “); String serverMsg = “ “; if (clientInputNum = randomNumlevel) serverMsg = “恭 喜 你 猜 对 了 ! “; else if (clientInputNum randomNumlevel) serverMsg = “您 输 入 太 大 了 ! “; else if (clientInputNum b?true:false 说 明 : 当 a 大 于 b 的 时 候 , 为 true( 也 就 是 冒 号 之 前 的 值 ) , 否 则 为 false; 这 整 个 运 算 符 包 括 一 个 关 系 运 算 符 ( 可 以 是 “”“, 小 于 符 号 := , 小 于 等 于 符 号 : = 五 、 instanceof 运 算 符 该 运 算 符 是 双 目 运 算 符 , 左 面 的 操 作 元 是 一 个 对 象 , 右 面 是 一 个 类 。 当 左 面 的 对 象 是 右 面 的 类 创 建 的 对 象 时 , 该 运 算 符 运 算 结 果 是 true, 否 则 是 false。 六 、 运 算 符 综 述 Java 的 表 达 式 就 是 用 运 算 符 连 接 起 来 的 符 合 Java 规 则 的 式 子 .运 算 符 的 优 先 级 决 定 了 表 达 式 中 运 算 执 行 的 先 后 顺 序 .例 如 ,x带 符 号 右 移 无 号 右 移 例 子 : int a1 = 8; / 0000 0000 0000 1000 System.out.println(a12); / 0000 0000 0000 0010 输 出 为 2 运 算 符 优 先 级 按 优 先 级 从 高 到 低 排 列 如 下 : ( ) + - ! instanceof * / % + - 无 符 号 右 移 :“ ”, “ ”在 Java 中 是 左 移 、 有 符 号 右 移 和 无 符 号 右 移 运 算 符 。 位 移 运 算 符 只 对 int 值 进 行 操 作 , 如 果 不 是 int, 编 译 器 会 报 错 。 在 Java 中 , 一 个 int 的 长 度 始 终 是 32bit, 也 就 是 4 个 字 节 。 1) 左 移 动 运 算 符 : 会 将 操 作 的 数 向 左 边 移 动 , 移 动 的 位 的 个 数 由 指 定 , 左 移 ( 2) 右 移 动 运 算 符 : 反 过 来 , 把 操 作 数 向 右 移 动 , 移 动 的 位 个 数 同 样 由 右 操 作 数 指 定 。 ( 3) 无 正 负 号 的 右 移 运 算 符 (): 采 用 0 补 充 , 意 思 就 是 说 Test main(String args) m=-7; System.out.println(“m 的 二 进 制 码 是 : “+Integer.toBinaryString(m); System.out.println(“m2 的 二 进 制 码 是 : “+Integer.toBinaryString(m2); System.out.println(“(m2)=“+(m2); System.out.println(“m24 的 二 进 制 码 是 : “+Integer.toBinaryString(m24); System.out.println(“ m24 :“+ (m24); -7 的 原 码 :10000000000000000000000000000111 反 码 :11111111111111111111111111111000 补 码 :11111111111111111111111111111001 JAVA 计 算 机 中 存 的 是 补 码 转 换 后 的 原 码 浮 点 运 算 符 浮 点 运 算 符 可 以 使 用 常 规 运 算 符 的 组 合 : 如 单 目 运 算 符 +、 -, 双 目 运 算 符 +、 -、 *和 /, 以 及 赋 值 运 算 符 +=, -=, *=, 和 /=。 此 外 , 还 有 取 模 运 算 : %和 %=也 可 以 作 用 于 浮 点 数 , 例 如 : a%b 和 a-(int)(a/b)*b)的 语 义 相 同 。 这 表 示 a%b 的 结 果 是 除 完 后 剩 下 的 浮 点 数 部 分 。 只 有 单 精 度 操 作 数 的 浮 点 表 达 式 按 照 单 精 度 运 算 求 值 , 产 生 单 精 度 结 果 。 如 果 浮 点 表 达 式 中 含 有 一 个 或 一 个 以 上 的 双 精 度 操 作 数 , 则 按 双 精 度 运 算 , 结 果 是 双 精 度 浮 点 数 。 布 尔 运 算 符 布 尔 (boolean)变 量 或 表 达 式 的 组 合 运 算 可 以 产 生 新 的 boolean 值 。 单 目 运 算 符 !是 布 尔 非 。 双 目 运 算 符 System.out.println(“hello“); (4) 控制语句. (5) package 语句和 import 语句. package语句和 import语句和类,对象有关. 2 Java 语言的控制语句 Java 语言的控制语句有 2种类型,即条件语句,和 switch开关语句. 1 条件控制语句 条件语句可分为 3种. (a) if语句 if 语句的一般形式 if(表达式) 若干语句 if 后面( )内的表达式的值必须是 boolean 类型,当值为 true 时,则执行紧跟 着的复合语句 如果表达式的值为 false,则执行程序中 if 语句后面的其他语句.复 合语句如果只有一个语句, 可以省略不写,但为了增强程序的可读性最好不要 省略.在下面的例子中,我们将变量 a,b,c内存中的数值按大小顺序进行互换. 例子 1 public class Example1 public static void main(String args) int a=9,b=5,c=7,t; if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(bc) t=b; b=c; c=t; System.out.println(“a=“+a+“,b=“+b+“,c=“+c); (b) if-else语句. if-else 语句的一般形式 if(表达式) 若干语句 else 若干语句 if 后面( )内的表达式的值必须是 boolean型的.如果表达式的值为 true,则执行紧跟着的复合语句 如果表达式的值为 false,则执行 else 后面的 复合语句.复合语句是由 括起来的若干个语句. 下列是有语法错误的 if-else语句, if(x0) y=10; z=20; else y=-100; 正确的写法是 if(x0) y=10; z=20; else y=100; 注 if 和 else 后面的复合句里如果只有一个语句, 可以省略不写, 但为了增强程序的可读性最好不要省略. 有时为了编程的需要,else 或 if 后面的大括号里可以没有语句. 例子 2 public class Example2 public static void main(String args) int math=65 ,english=85; if(math60) System.out.println(“数学及格了“); else System.out.println(“数学不及格“); if(english90) System.out.println(“英语是优“); else System.out.println(“英语不是优“); if(math60 System.out.println(“我在学习控制语句“); (c) if语句的扩充形式 if(表达式 1) 语句 1 else if(表达式 2) 语句 2 else if(表达式 n) 语句 n 2 switch开关语句 switch 语句是多分支的开关语句,它的一般格式定义如下 switch(表达式) case 常量值 1 若干个语句 break case 常量值 2 若干个语句 break case 常量值 n 若干个语句 break default 若干语句 switch语句中表达式的值必须是整型或字符型 常量值 1 到常量值 n 必须也是整型或字符型.switch 语句首先计算表达式的值,如果表达式的值和某 个 case 后面的常量值相同,就执行该 case 里的若干个语句直到碰到 break 语 句为止.若没有一个常量与表达式的值相同,则执行 default 后面的若干个语句.其 中 default 是可有可无的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论