Java程序设计3流程控制PPT文档格式.ppt
《Java程序设计3流程控制PPT文档格式.ppt》由会员分享,可在线阅读,更多相关《Java程序设计3流程控制PPT文档格式.ppt(51页珍藏版)》请在冰豆网上搜索。
/输出字符串a=Math.abs(-3.1);
/返回绝对值value=100;
/为变量赋值a+;
/a自增Studentstu=newStudent(“张华”);
/创建一个Student类的实例,实例引用名为stu控制语句,10,3.1.2语句块,一个块(block)或一个复合语句是以上括号和下括号为边界的语句集合;
块语句也被用来组合属于某个类的语句。
语句块可被嵌套。
/ablock语句x=y+1;
y=x+1;
11,/类声明所包含的块语句publicclassMyDateintday;
intmonth;
intyear;
12,/一个嵌套块语句的例子,while(ilarge)/循环语句快开始,用表示a=a+i;
if(a=max)/判断语句快开始,用表示b=b+a;
a=0;
/判断语句块结束,用表示/循环语句快结束,用表示,13,3.1.3空白,在源代码元素之间允许空白,空白的数量不限。
空白(包括空格、tabs和新行)可以改善源代码的视觉感受。
intx;
x=23+54;
intxx=23+54;
14,3.2顺序结构,顺序结构程序语句间最简单的结构关系是顺序结构,也就是语句是按照它们在方法中出现的先后顺序逐一被执行。
publicclassSwappublicstaticvoidmain(Stringargs)inta=10,b=20;
intt=0;
t=a;
a=b;
b=t;
System.out.println(a=+a);
System.out.println(b=+b);
15,3.3选择结构,程序控制可以定义为对程序语句的执行顺序进行的规定。
Java提供了条件语句在两种或更多的情况做出选择,根据情况执行不同的程序语句;
16,3.3.1条件判断与决策,1if,else语句简单的单分支语句if(布尔表达式)语句或块;
例如if(score60)System.out.println(“下次努力哦!
”);
17,3.3.1条件判断与决策(cont.),简单的双分支语句if(布尔表达式)语句或块;
else语句或块;
elseSystem.out.println(“恭喜你通过考试!
18,19,3.3.1条件判断与决策(cont.),嵌套的if,elseif(布尔表达式1)语句或块;
elseif(布尔表达式2)语句或块;
20,例如,if(score60)System.out.println(“下次努力哦!
elseif(score80)System.out.println(“恭喜你通过考试!
elseSystem.out.println(“你考的很棒!
21,课堂练习(c.),指出输出结果,x=2;
y=3;
if(x2)if(y2)intz=x+y;
System.out.println(“zis”+z);
elseSystem.out.println(“xis”+x);
22,3.3.1条件判断与决策(cont.),2switch语句switch语句允许程序员更多情况下选择不同的程序逻辑,当情况发生时,按照事先准备好的方法执行。
switch语句的句法是:
switch(expr1)caseexpr2:
statements;
break;
caseexpr3:
default:
23,chargender;
/性别.switch(gender)caseF:
casef:
System.out.println(”女性“);
caseM:
casem:
System.out.println(”男性“);
24,表达式的类型在switch(expr1)语句中,expr1必须与int类型是赋值兼容的;
byte,short或char类型可被升级;
不允许使用浮点或long表达式。
从7开始,增加了String类型。
在switch(expr1)语句中,expr1也可以是枚举类型publicenumMonthJANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBERbreakbreak的作用是停止switch的执行,退出,执行switch代码段后的程序。
如果没有break语句作为某一个case代码段的结束句,则程序的执行将继续到下一个case,而不检查case表达式的值。
25,26,课堂练习,指出输出结果,x=2;
27,课堂练习(c.),执行下列switch语句后y是多少?
x=3;
switch(x+3)case6:
y=1;
y+=1;
switch中的default,本质是一种特殊匹配变量或表达式的值不能与任何case值相匹配时,可选缺省符(default)指出了应该执行的程序代码。
位置default语句一般在switch语句的最后。
注意如果匹配到了default,并且default后还有其他的case,则继续执行,且忽略是否匹配,28,29,课堂练习(c.),有一个函数如下,根据指定的x,输出y值y=,Xx1,2X-11=x10,3X-11x=10,写出程序,根据给出的百分制成绩,输出成绩等级A、B、C、D、E,90分以上为A,8089为B,7079为C,6069为D,60分以下为E。
30,课堂练习(c.),编写一个程序,根据命令行参数将对应的mon、tue、wed、thu、fri、sat、sun分别输出为星期一、星期二.星期日,如:
JavaWeekDaymon星期一,31,思考题,如何提高多分支下的程序执行效率?
32,3.4循环,循环语句使语句或块的执行得以重复进行。
Java编程语言支持三种循环构造类型:
for,while和do循环。
for和while循环是在执行循环体之前测试循环条件do循环是在执行完循环体之后测试循环条件。
这就意味着for和while循环可能连一次循环体都未执行,而do循环将至少执行一次循环体。
33,34,for循环的句法是:
for(init_expr;
booleantestexpr;
alter_expr)statementorblock例如:
for(inti=0;
i10;
i+)System.out.println(i=+i);
35,while循环的句法:
while(布尔表达式)语句或块,inti=0;
while(i10)System.out.println(i=+i);
i+;
System.out.println(Finally!
);
36,do循环的句法是:
do语句或块;
while(布尔测试),inti=0;
doSystem.out.println(i=+i);
while(i10);
37,思考题,怎么决定使用哪类循环?
38,循环的嵌套,在一个循环体内又包含了另一个完整的循环结构,成为嵌套循环。
如:
while(循环条件)语句;
while(循环条件)语句;
语句;
39,3.4.4跳转,下列语句可被用在更深层次的控制循环语句中:
break标注;
continue标注;
label:
Label:
被用来标识循环构造的复合语句。
break语句被用来从switch语句、for语句等循环语句的块中退出到预先设定的label处。
当程序运行到break标注处时,程序跳出整个循环体的结尾处。
continue语句被用来略过并跳到循环体的结尾。
当程序运行到continue标注处时,程序跳至标识外循环的下一次循环开始处继续执行。
40,loop:
while(true)for(inti=0;
i100;
i+)switch(c=System.in.read()case-1:
casen:
/跳到最后处breakloop;
./endfor/endwhile,41,课堂练习,下面的循环程序输出结果是什么?
publicclassShowErrorspublicstaticvoidmain(Stringargs)for(inti=0;
i10;
i+);
System.out.println(i+4);
42,课堂练习(c.),编写一个程序,求出1+2+3+100的和并输出。
求出100200间的所有素数。
43,用下面的方法声明,编写一个java方法,返回接收字符数组中连续字符块的个数:
publicstaticintcountRuns(charA),44,程序流程图,程序流程图也叫程序框图.程序流程图的表示以3种程序结构为基础。
优点历史最悠久,使用最广泛;
流程控制直观,容易掌握;
至今仍广泛使用.缺点可能诱导程序员过早考虑程序细节,而不是逐步求精;
对于提高大型系统的可理解性作用不大;
程序随意转移,导致程序结构混乱;
无法表示数据结构.,45,程序流程图的常用符号:
程序流程图(Cont.),46,盒图(BoxDiagram):
Nassi,N-S图,47,例:
N-S图(cont.),48,3.6变量的作用域,每个变量都有一个作用域,就是说这个变量在哪个程序段中起作用。
变量的作用域从它被声明时开始直到遇到声明变量的代码段的结束符“”为止。
只能在变量的作用域内访问它。
如果在作用域之外访问变量,编译器将产生一个错误。
作用域的范围成员变量局部变量方法参数,49,变量的作用域(c.),publicclassVariableScopepublicstaticvoidmain(Stringargs)inti=10;
intk=10;
System.out.prin