第4章 程序流程控制语句
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for( int i= 0; i <10; i++ ) { if( i == 5 ) continue; System.out.print(i); }
return语句
return 语句的功能是从当前方法中退出,并返回 到调用该方法的语句处继续执行程序,同时将方 法中的运行结果也带回到调用方法中。它的语法 格式如下:
Java跳转语句与C语言跳转语句区别
Java有带标号的break和continue语句。C没有。
Java没有goto语句,C有。 Java和C的return语句一样。
课堂练习
阅读分析程序,写出其输出结果 int i,j; one: for(i=1;i<=10;i++){ System.out.print("Pass"+i+":"); for(j=1;j<=100;j++){ if(j==5)break one;
第4章 程序流程控制语句
4. 1 结构化程序的3种结构
4. 2
4. 3
选择语句
循环语句
4. 4
循环跳离语句
本章要点:
了解结构化程序的三种结构
掌握if语句与switch语句的用法 掌握while与do-while的用法和区别 能够用for语句实现循环应用 理解break语句与continue语句的区别和使用
生活中使用if 判断的实例?
If (分数是100)Then 考得太好了 Elseif(分数高于85)then 不错 Elseif(分数高于60)then 继续努力 Else 不及格 End if
4.2 选择语句
布尔表达式p是任意一个返回布尔数据类型的表达式, 而且必须是(比C或C ++要严格)。
System.out.print(j+ " ");
} }
命令行参数的使用
class CommArg { public static void main(String args[]) { // Display command arguments int i;
}
}
if( args.length > 0 ) //have some command arguments { for( i=0; i<args.length; i++ ) { System.out.println("arg["+i+"] = "+args[i]); } } else //no command argument { System.out.println("No arguments!"); }
4.2 选择语句
表达式expression的返回值类型必须是这几种类 型之一:int、byte、char、short。
case子句中的值valueI必须是常量,而且所有 case子句中的值应是不同的。 default子句是任选的。
break语句用来在执行完一个case分支后,使程 序跳出switch语句,即终止switch语句的执行。 如果某个case分支后没有break语句,程序将不 再做比较而执行下一个分支。
Java控制语句
a:{ b:{ …… c:{ //标记代码块c //标记代码块a …… //标记代码块b
……
break b; …… } …… } //代码块b结束 //从这段语句开始执行 …… //这段语句将不执行 //这段语句也不执行 //代码块c结束
}
//代码块a结束
Continue语句:
continue语句只能用在循环中,它的作用是终止本次 循环,执行下一次循环。语法格式如下: continue [label]; continue语句有带标号和不带标号两种形式。 (1)不带标号的continue语句用来结束本次循环,跳过 与C语言有 何不同?
while语句、for语句是当型循环结构。它们的 含义是当循环条件满足时,执行循环体。当循 环条件不满足时终止循环。若循环初始条件不 满足,则循环体一次都不被执行。 do…while语句是直到型循环结构,它的含义 是执行循环体,直到循环条件不满足时结束循 环。无论循环条件Biblioteka Baidu否满足,循环体都会被执 行一次。
上机验证 三段代码
count++;
} while(count<=100);
2 使用for语句
int sum=0,count;
for(int count=0;count<=100;count++){ sum+=count; }
① 找出三种 语句形式中的 四个组成部分 ? ②比较三种循 环语句的差异
比较三种循环语句
编程实践
编程求出1-100之间所有偶数的和。
循环语句的嵌套使用
有时候,为了解决较 为复杂的问题,循 环语句的循环体也 需要用循环语句, 这种用法就是循环 语句的嵌套使用。 问题:求 1!+2!+3!+…+10!
内层循环的作用是什 么?内层循环的循环 条件和外层循环有何 关系?
int i,j; long fact=1,sum=0; for(i=1;i<=10;i++){//外层循环 for(j=1;j<=i;j++)//内层循环 fact*=j; sum+=fact;//累加 fact=1; //清除上一次循环结果, //为下次循环作好准备 }
与C或C++一样,每个单一语句后面都要有分号。为了 增强程序的可读性,应将if或else后的语句用{}括起来。
else子句是任选的,不能单独作为语句使用,它必须和if 语句配对使用,并且总是与离它最近的if配对。
int i1 = 123; int i2 = 456; if( i1>i2 ) { System.out.println(“The bigger one is: ”+i1); } else { System.out.println(“The bigger one is: ”+i2); }
图1当型结构
图2直到型结构
Java循环语句的组成部分
循环语句由四个部分组成:
初始化部分(initialization) 循环条件部分(loop-condition) 循环体部分(body) 迭代部分(iteration)
1-100求和的Java实现
1 使用while语句 int count=1; int sum=0; while(count<=100){ sum+=count; count++; } 3 使用do…while语句 int count=1; int sum=0; do{ sum+=count;
2、产生一个[x1,x2]内的随机整数x
x=(int)(Math.random()*(x2-x1+1)+x1) Math.random()产生一个[0,1)区间内的实数。
4.3 循环语句
Java循环语句
Java跳转语句
引入问题
编一程序求1-100的和并输出。
3 写出C语言 的实现代码
1 如何实现 ?
命令行参数: main( String args[] ),与标准C中 main(int argc, char* argv[])相似。
字符串的拼接: "arg[" + i + "] = " + args[i]。 编译程序:javac CommArg.java 运行程序(命令行参数获取): java CommArg first second third 运行结果: arg[0] = first arg[1] = second arg[2] = third
请上机调试!!
编程实践
编一程序打印九九乘法表。运行结果如下:
4.4 循环跳离语句
标号语句label
break语句
continue语句
return语句
C语言有那 些跳转语 句?
标号语句lable
在Java中,标号是一个标识符,用于给某程序块一 个名字。格式如下: label:
{
……… } 通常与break、continue语句一起使用,实现程 序的跳转。
return [expression];
或 return ([expression]); 其中 expression 为方法运行的结果,要返回到调 用方法中的。注意,如果一个方法的返回值类型 定义为 void ,则方法体中不一定要有 return 语句, 方法执行完后,自动返回到调用处。
注意!
单独一条return语句放在方法中间时,会产生 编译错误,因为其后的语句将不会执行到。 若真需要退出方法,可以将return语句嵌入转 移语句(如if-else)中实现。
break语句
式为: break [label];
与C语言有 何不同?
break语句的作用是终止包含break语句的程序块,其语法格 break语句有两种用法:
( 1 )不带标号的 break 语句。可用在 switch 、while 、 for 和
do-while循环语句中,用来终止开关语句和循环语句。 (2)带标号的break语句。用在多重循环语句中,跳出标号 所指定的块,并从紧跟该块后的第一条语句处执行。 break BlockLabel;
顺序结构
顺序结构中,语句的执行顺序是按照程序语句书 写的顺序,从上到下依次执行。
选择结构
选择结构是指下一步执行语句有多个选择分支, 程序执行流程根据当前的状态,选择其中一个 分支执行。
循环结构
循环结构是指如果满足一定条件,则反复执行 一段程序,直到条件不再满足为止。
4.2 选择语句
条件语句 if-else if语句一般采取以下形式: if(p) A else B
4.2 选择语句
如果if语句中的语句A或B也是一个if语句,该 语句称为嵌套条件语句。 if(i > 0) if(j>5) y = 1; else y = -1;
4.2 选择语句
多分支语句 switch
switch (expression) { case value1 : { statements1; break; } …… case valueN : { statementsN; break; } default : { defaultStatements; } }
2 用循环语 句实现
4 C 循环语句 由哪几个部分 组成?
Java循环语句
和C语言一样,Java的循环语 句也有三种形式,它们是:
while 循环语句 for 循环语句 do…while循环语句。 其中while和for循环语句对应 当型结构(图1),do…while 语句对应直到型结构(图2)。
4.2 选择语句
int a = 100; int b = 20; int c; char oper = „+‟; switch(oper) { case „+‟: { c = a + b; break; } case „-‟: { c = a - b; break; } default : { c = a * b; break; } }
循环体中下面尚未执行的语句,接着进行终止条件的
判断,以决定是否继续循环。 (2)带标号的continue语句,可以用continue跳转到标 号指明的循环中,这时的格式为 continue outerLable;
Java控制语句
outer: for( int i=0; i<10; i++ ) //外层循环 { inner: for( int j=0; j<10; j++ ) //内层循环 { if( i<j ) { …… continue outer; } …… } //内层循环结束 …… } //外层循环结束
4.1 结构化程序的三种结构
结构化的程序通过三种结构可以解决:
顺序结构(Sequence Structure) 选择结构(Selection Structure):if-else, switch 循环结构(Iteration Structure):while, do-while, for
4.2 选择语句
问题: 1.程序中switch语句中变量value是什么类型?
可以是float类型吗?可以是char类型吗?
2.程序中break语句的作用是什么?
3.程序中default的作用是什么?
4.switch语句与if-else if-else语句相比较,有 何优势?
4.2 选择语句
编一程序产生3个20以内的随机数作为三角形的三条边, 检验是否构成三角形,若可以,输出三条边的长度, 计算其面积并输出。 提示: 1、a,b,c是三角形的三条边,则任意两边的和大于第三边。 (或任意两边的差小于第三边)。 面积=Math.sqrt(s*(s-a)*(s-b)*s-c)),其中 s=1/2(a+b+c)