荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: icefire (冰火), 信区: Java
标 题: [转载] java教程(六)(转寄) (转载) DLW (转寄)
发信站: 深大荔园晨风站 (Sun Mar 1 14:45:27 1998), 转信
【 以下文字转载自 icefire 的信箱 】
【 原文由 icefire.bbs@bbs.sjtu.edu.cn 所发表 】
发信人: DLW (飞鸟), 信区: program
标 题: java教程(六)(转寄) (转载)
发信站: 饮水思源站 (Wed Aug 27 15:56:16 1997) , 转信
第 一 部 分 Java入 门
第 四 章 流 控 制 (续 )
郁欣 孙元 王曦东 王克宏
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语 句 执 行 时 ,首 先 执 行 初 始 化 操 作 ,然 后 判 断 终 止 条 件 是
否 满 足 ,如 果 满 足 ,则 执 行 循
环 体 中 的 语 句 ,最 后 执 行 迭 代 部 分 。 完 成 一 次 循 环 后 ,重 新 判 断
终 止 条 件 。
2.可 以 在 for语 句 的 初 始 化 部 分 声 明 一 个 变 量 ,它 的 作 用 域 为
整 个 for 语 句 。
3.for语 句 通 常 用 来 执 行 循 环 次 数 确 定 的 情 况 (如 对 数 组 元 素
进 行 操 作 ),也 可 以 根 据 循 环
结 束 条 件 执 行 循 环 次 数 不 确 定 的 情 况 。
4.在 初 始 化 部 分 和 迭 代 部 分 可 以 使 用 逗 号 语 句 ,来 进 行 多 个
操 作 。 逗 号 语 句 是 用 逗 号
分 隔 的 语 句 序 列 。 例 如 :
for( i=0, j=10; i<j; i++, j--){
……
}
5.初 始 化 、 终 止 以 及 迭 代 部 分 都 可 以 为 空 语 句 (但 分 号 不 能
省 ),三 者 均 为 空 的 时 候 ,相
当 于 一 个 无 限 循 环 。
4.2.4 continue语 句
1.continue语 句 用 来 结 束 本 次 循 环 ,跳 过 循 环 体 中 下 面 尚 未 执
行 的 语 句 ,接 着 进 行 终 止 条
件 的 判 断 ,以 决 定 是 否 继 续 循 环 。 对 于 for语 句 ,在 进 行 终 止 条 件
的 判 断 前 ,还 要 先 执 行 迭 代
语 句 。 它 的 格 式 为 :
continue;
2.也 可 以 用 continue跳 转 到 括 号 指 明 的 外 层 循 环 中 ,这 时 的 格
式 为
continue outerLable;
例 如 :
outer: for( int i=0; i<10; i++ ){ ∥外层循环
for( int j=0; j<20; j++ ){ ∥内层循环
if( j>i ){
……
continue outer;
}
……
}
……
}
该 例 中 ,当 满 足 j>i的 条 件 时 ,程 序 执 行 完 相 应 的 语 句 后 跳 转
到 外 层 循 环 ,执 行 外 层 循 环
的 迭 代 语 句 i++;然 后 开 始 下 一 次 循 环 。
4.2.5举 例
例 4.4 下 例 分 别 用 while、 do-while和 for语 句 实 现 累 计 求 和 。
public class Sum{
public static void main( String args[] ){
System.out.println("\n** while statement **");
int n=10,sum=0; ∥initialization
while( n>0 ){ ∥termination
sum+=n; ∥body
n--; ∥iteration
}
System.out.println("sum is "+sum);
System.out.println("\n** do_while statement **");
n=0; ∥initialization
sum=0;
do{
sum+=n; ∥body
n++; ∥iteration
}while( n<=10 ); ∥termination
System.out.println("sum is "+sum);
System.out.println("\n** for statement **");
sum=0;
for( int i=1; i<=10; i++){
∥initialization,termination,iteration
sum+=i;
}
System.out.println("sum is "+sum);
}
}
运行结果为:
C:\>java Sum
** while statement **
sum is 55
** do_while statement **
sum is 55
** for statement **
sum is 55
可以从中来比较这三种循环语句,从而在不同的场合选择合适的语句。
例4.5 求100~200间的所有素数
public class PrimeNumber{
public static void main( String args[] ){
System.out.println(" ** prime numbers between 100 and 200 **");
int n=0;
outer:for(int i=101;i<200;i+=2){ ∥outer loop
int k=15; ∥select for convinence for(int j=2;j<=k;j++){ ∥inner
loop
if( i%j==0 )
continue outer;
}
System.out.print(" "+i);
n++; ∥output a new line
if( n<10 ) ∥after 10 numbers
continue;
System.out.println();
n=0;
}
System.out.println();
}
}
运行结果为:
C:\>java PrimeNumber
** prime numbers between 100 and 200 **
101 103 107 109 113 127 131 137 139 149
151 157 163 167 173 179 181 191 193 197
199
该 例 通 过 一 个 嵌 套 的 for语 句 来 实 现 。 !U4§ 4.3例 外 处 理 语 句
例 外 处 理 语 句 包 括 try、 catch、 finally以 及 throw语 句 。 与 C、 C+
+相 比 ,例 外 处 理 语 句 是
Java所 特 有 的 。 我 们 将 在 第 八 章 作 专 门 的 介 绍 。 !U4§ 4.4 注 释 语
句
Java中 可 以 采 用 三 种 注 释 方 式 :
1 ∥ 用于单行注释。注释从∥开始,终止于行尾。
2 /* … */ 用于多行注释。注释从/*开始,到*/结束,且这种注释不能互相嵌套。
3 /** … */ 是Java所特有的doc注释。它以/**开始,到*/结束。这种注释主要是
为支持JDK工具javadoc而采用的。javadoc能识别注释中用标记@标识的一些特殊变量,并把
doc注释加入它所生成的HTML文件。对javadoc的详细讲述可参见附录。
(未 完 待 续 )
--
※ 来源:.饮水思源 bbs.sjtu.edu.cn.[FROM: 202.112.26.40]
--
※ 转载:.深大荔园晨风站 bbs.szu.edu.cn.[FROM: bbs.szu.edu.cn]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店