[学习笔记][Java编程思想]第4章:控制执行流程

来源:互联网 发布:淘宝卖家怎么参返利 编辑:程序博客网 时间:2024/05/22 08:04
  • Java使用了C的所有流程控制语句

1 true和false

  • 所有条件语句都利用条件表达式的真或假来决定执行路径。
  • Java不允许我们将一个数字作为布尔值使用。

2 if-else

  • if-else语句是控制程序流程的最基本形式,其中的else是可选的。
if(Boolean-expression)    statementelse    statement

3 迭代

  • while、do-while和for用来控制循环,有时将它们划分为迭代语句(iteration statement)。语句会重复执行,直到起控制作用的布尔表达式得到“假”的结果为止。
while(Boolean-expression)    statement
  • 在循环刚开始时,会计算一次布尔表达式的值;而在语句的下一次迭代开始前会再计算一次

3.1 do-while

  • whie和do-while唯一的区别就是do-while中的语句至少会执行一次。
do  statementwhile(Boolean-expression)

3.2 for

  • 在第一次迭代之前要进行初始化,随后进行条件测试,每一次迭代结束时,进行某种形式的“步进”。
for(initialization; Boolean-expression; step)  statement
  • 初始化(initialization)表达式、布尔表达式(Booleann-expression),或者步进(step)都可以为空。
  • Character.isLowerCase()检查字符是否为小写字母。

3.2 逗号操作符

  • 逗号用作分隔符时用来分隔函数的不同参数。
  • 唯一用到逗号操作符的地方是for循环的控制表达式
  • 通过使用逗号操作符,可以在初始化部分定义多个变量,但是它们必须具有相同的类型;在步进控制部分使用多个语句,这些语句均会独立执行。

4 Foreach语法

  • foreach语法,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项。
for(对象或者基本类型 变量名 : 对象或基本类型的数组或容器) {}
  • 任何返回一个数组的方法都可以使用foreach。
  • String.toCharArray()返回char数组。
  • foreach还可以用于任何Iterable对象。
  • 对于在一个整型值序列中步进,foreach语法将不起作用,除非先创建一个int数组。

5 return

  • 无条件分支,return、break、continue,这个分支无需任何测试即可发生。
  • return:一方面指定一个方法返回什么值,另一方面它会导致当前的方法退出,并返回那个值。
  • 如果在返回void的方法中没有return语句,那么在该方法的结尾处会有一个隐式的return。
  • 如果一个方法声明它将返回void之外的其他东西,那么必须确保每一条路径都将返回一个值。

6 break和continue

  • 在任何迭代语句的主体部分,都可用break和continue控制循环的流程。
  • break用于强行退出循环,不执行循环中剩余的语句。
  • continue则停止执行当前的迭代,然后退回循环起始处,开始下一次迭代。
  • 无穷循环:while(true)for(;;)

7 臭名昭著的goto

  • goto起源于汇编语言的程序控制。
  • goto是java中断一个保留字,但在语言中并未使用goto。
  • 标签是后面跟有冒号的标识符。
  • 标签起作用的唯一的地方刚好是在迭代语句之前,其中嵌套另一个迭代或者一个开关。
  • break和continue关键词通常只中断当前循环,随标签使用,就会中断循环直到标签所在的位置。
  • break和continue outer中断循环,递增表达式不会执行。
  • 在Java里需要使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层嵌套中break或continue。
  • 通过限制语言的能力,反而能使一项语言特性更加有用。

8 switch

  • 根据整数表达式的值,switch语句可以从一系列代码中选出一段去执行。
switch(interal-selector){    case interal-value1 : statement; break;    case interal-valuel : statement; break;    ...    default : statement;}
  • Interal-selector(整数选择因子)是一个能够产生整数值的表达式。interal-value的值不能重复。
  • 若省略break,会继续执行后面的case语句,直到遇到一个break为止。
  • switch语句是实现多路选择的一种干净利落的方法。
  • 在case语句中,使用单引号引起的字符也会产生用于比较的整数值。
  • case语句能够堆叠在一起,只要符合多种条件中的一种,就执行那段特别的代码。
阅读全文
0 0