JAVA入门教程: 第 四 章 流 控 制[2]

[入库:2005年8月19日] [更新:2007年3月25日]

本文简介:选择自 chensheng913 的 blog

switch( grade ){
case 'a' : system.out.println(grade+" is 85~100");
break;
case 'b' : system.out.println(grade+" is 70~84");
break;
case 'c' : system.out.println(grade+" is 60~69");
break;
case 'd' : system.out.println(grade+" is <60");
break;
default : system.out.println("input error");
}
system.out.println("\n** second situation **");
grade='a'; ∥creat error without break statement
switch( grade ){
case 'a' : system.out.println(grade+" is 85~100");
case 'b' : system.out.println(grade+" is 70~84");
case 'c' : system.out.println(grade+" is 60~69");
case 'd' : system.out.println(grade+" is <60");
default : system.out.println("input error");
}
system.out.println("\n** third situation **");
grade='b'; ∥several case with same operation
switch( grade ){
case 'a' :
case 'b' :
case 'c' : system.out.println(grade+" is >=60");
break;
case 'd' : system.out.println(grade+" is <60");
break;
default : system.out.println("input error");
}
}
}
运行结果为
c:\>java gradelevel
**** first situation ****
c is 60~69
**** second situation ****
a is 85~100
a is 70~84
a is 60~69
a is <60
input error
**** third situation ****
b is >=60

从 该 例 中 我 们 可 以 看 到 break语 句 的 作 用 。

4.1.3 break语 句

1.在 switch语 中 ,break语 句 用 来 终 止 switch语 句 的 执 行 。 使 程 序 从 switch语 句 后 的 第 一 个 语 句
开 始 执 行 。

2括 起 来 的 一 段
代 码 。 加 标 号 的 格 式 如 下 :

blocklabel: { codeblock }

break语 句 的 第 二 种 使 用 情 况 就 是 跳 出 它 所 指 定 的 块 ,并 从 紧 跟 该 块 的 第 一 条 语 句 处 执
行 。 其 格 式 为 :

break blocklabel;
例如:
a:{…… //标记代码块a
b: {…… //标记代码块b
c: {…… //标记代码块c
break b;
…… //will not be executed
}
…… //will not be executed
}
…… /execute from here
}

3.与 c、 c++不 同 ,java中 没 有 goto语 句 来 实 现 任 意 的 跳 转 ,因 为 g oto语 句 破 坏 程 序 的 可 读 性
,而 且 影 响 编 译 的 优 化 。 但 是 从 上 例 可 以 看 出 ,java用 break来 实 现 goto语 句 所 特 有 的 一 些 优 点
。 如 果 break后 所 指 定 的 标 号 不 是 一 个 代 码 块 的 标 号 ,而 是 一 个 语 句 ,则 这 时 break完 全 实 现
goto的 功 能 。 不 过 应 该 避 免 这 种 方 式 的 使 用 。    (未 完 待 续 )
4.1.4返 回 语 句 return

return语 句 从 当 前 方 法 中 退 出 ,返 回 到 调 用 该 方 法 的 语 句 处 , 并 从 紧 跟 该 语 句 的 下 一 条 语
句 继 续 程 序 的 执 行 。 (有 关 方 法 的 内 容 ,我 们 将 在 第 六 章 详 细 讲 述 。 前 面 例 子 中 的 main( )就
是 一 个 方 法 )。 返 回 语 句 有 两 种 格 式 :

1.return expression

返 回 一 个 值 给 调 用 该 方 法 的 语 句 ,返 回 值 的 数 据 类 型 必 须 和 方 法 声 明 中 的 返 回 值 类 型
一 致 。 可 以 使 用 强 制 类 型 转 换 来 使 类 型 一 致 。

2.return

当 方 法 说 明 中 用 void声 明 返 回 类 型 为 空 时 ,应 使 用 这 种 格 式 ,它 不 返 回 任 何 值 。

return 语 句 通 常 用 在 一 个 方 法 体 的 最 后 ,以 退 出 该 方 法 并 返 回 一 个 值 。 java中 ,单 独 的
return语 句 用 在 一 个 方 法 体 的 中 间 时 ,会 产 生 编 译 错 误 ,因 为 这 时 会 有 一 些 语 句 执 行 不 到 。 但
可 以 通 过 把 return语 句 嵌 入 某 些 语 句 (如 if-else)来 使 程 序 在 未 执 行 完 方 法 中 的 所 有 语 句 时 退 出
,例 如 :

int method (int num) {
∥ return num; ∥will cause compile time error
if (num>0)
return num;
…… ∥ may or may not be executed
∥depending on the value of num

§ 4.2循 环 语 句

循 环 语 句 的 作 用 是 反 复 执 行 一 段 代 码 ,直 到 满 足 终 止 循 环 的 条 件 为 止 ,一 个 循 环 一 般
应 包 括 四 部 分 内 容 :

1.初 始 化 部 分 (initialization):用 来 设 置 循 环 的 一 些 初 始 条 件 , 如 计 数 器 清 零 等 。

2.循 环 体 部 分 (body):这 是 反 复 循 环 的 一 段 代 码 ,可 以 是 单 一 的 一 条 语 句 ,也 可 以 是 复 合 语
句 。

3.迭 代 部 分 (iteration):这 是 在 当 前 循 环 结 束 ,下 一 次 循 环 开 始 前 执 行 的 语 句 ,常 常 用 来 使 计
数 器 加 1或 减 1。

4.终 止 部 分 (termination):通 常 是 一 个 布 尔 表 达 式 ,每 一 次 循 环 都 要 对 该 表 达 式 求 值 ,以 验 证
是 否 满 足 循 环 终 止 条 件 。

java中 提 供 的 循 环 语 句 有 :while语 句 ,do-while语 句 和 for语 句 ,下 面 分 别 介 绍 。

4.2.1while语 句

while语 句 实 现 "当 型 "循 环 ,它 的 一 般 格 式 为 ;

[initialization]
while (termination){
body;
[iteration;]
}

1.当 布 尔 表 达 式 (termination)的 值 为 true时 ,循 环 执 行 大 括 号 中 的 语 句 。 并 且 初 始 化 部 分 和
迭 代 部 分 是 任 选 的 。

2.while语 句 首 先 计 算 终 止 条 件 ,当 条 件 满 足 时 ,才 去 执 行 循 环 体 中 的 语 句 。 这 是 "当 型 "循
环 的 特 点 。

4.2.2 do-while语 句

do-while 语句实现"直到型"循环,它的一般格式为:
[initialization]
do {
body;
[iteration;]
} while (termination);

1.do-while语 句 首 先 执 行 循 环 体 ,然 后 计 算 终 止 条 件 ,若 结 果 为 true,则 循 环 执 行 大 括 号 中 的
语 句 ,直 到 布 尔 表 达 式 的 结 果 为 false。

2.与 while语 句 不 同 的 是 ,do-while语 句 的 循 环 体 至 少 执 行 一 次 , 这 是 "直 到 型 "循 环 的 特 点 。

4.2.3 for语 句

for语 句 也 用 来 实 现 "当 型 "循 环 ,它 的 一 般 格 式 为 :

for (initialization; termination; iteration){

body;

}

1.for语 句 执 行 时 ,首 先 执 行 初 始 化 操 作 ,然 后 判 断 终 止 条 件 是 否 满 足 ,如 果 满 足 ,则 执 行 循

本文关键:JAVA入门教程: 第 四 章 流 控 制
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top