- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计-4-流程控制讲解
* 思考题 如何提高多分支下的程序执行效率? * 4.4循环 循环语句使语句或块的执行得以重复进行。Java编程语言支持三种循环构造类型:for, while和do 循环。 for和while循环是在执行循环体之前测试循环条件 do 循环是在执行完循环体之后测试循环条件。 这就意味着for和while循环可能连一次循环体都未执行, 而do循环将至少执行一次循环体。 * F S T exp 直到型循环 当型循环 T exp S F * for循环的句法是: for (init_expr; boolean testexpr; alter_expr){ statement or block } 例如: for (int i = 0; i 10; i++) { System.out.println(i = +i); } * while循环的句法: while (布尔表达式) { 语句或块 } int i = 0; while (i 10) { System.out.println(i = + i); i++; } System.out.println(Finally!); * do循环的句法是: do { 语句或块; }while (布尔测试) int i = 0; do { System.out.println(i = +i); i++; } while (i 10); System.out.println(Finally!); * 思考题 怎么决定使用哪类循环? * 循环的嵌套 在一个循环体内又包含了另一个完整的循环结构,成为嵌套循环。如: while(循环条件){ [语句;] while (循环条件){ [语句;] } [语句;] } * 4.4.4 跳转 下列语句可被用在更深层次的控制循环语句中: break [标注]; continue[标注]; label: 语句; Label: 被用来标识循环构造的复合语句。 break语句 被用来从switch语句、for语句等循环语句的块中退出到预先设定的label处。当程序运行到break [标注]处时,程序跳出整个循环体的结尾处。 continue语句 被用来略过并跳到循环体的结尾。当程序运行到continue [标注]处时,程序跳至标识外循环的下一次循环开始处继续执行。 * loop: while (true) { for (int i=0; i 100; i++) { switch (c = System.in.read()) { case -1: case ` \n ` : // 跳到最后处 break loop; .... } } // end for } // end while * 课堂练习 下面的循环程序输出结果是什么? public class ShowErrors{ public static void main(String[] args){ for(int i=0;i10;i++); System.out.println(i+4); } } * 课堂练习(c.) 编写一个程序,求出1+2+3+…+100的和并输出。 求出100-200间的所有素数。 * 用下面的方法声明,编写一个java方法,返回接收字符数组中连续字符块的个数: public static int countRuns( char[ ] A ) * 4.5变量的作用域 每个变量都有一个作用域,就是说这个变量在哪个程序段中起作用。 变量的作用域从它被声明时开始直到遇到声明变量的代码段的结束符“}”为止。 只能在变量的作用域内访问它。如果在作用域之外访问变量,编译器将产生一个错误。 作用域的范围 成员变量 局部变量 方法参数 * 变量的作用域(c.) public class VariableScope { public static void main(String args[]) { int i=10; { int k=10; System.out.println(i=+i); System.out.println(k=+k); } System.out.println(i=+i); System.out.println(k=+k); } } * 变量的作用域(c.) 可以注意到,不同作用域内的变量互相不干扰,通常变量是当前最近作
文档评论(0)