4.1 true & false
所有条件语句都利用条件表达式的真或假来决定执行路径。
Java 中不允许使用数字作为布尔值来使用。
4.2 if-else
没啥记的
4.3 迭代
while/do...while/for 语句重复执行,知道其控制作用的布尔表达式得到假为止
Math.random()产生0~1(包括0,不包括1)的一个 double 值
do...while:与 while 的区别在于 do...while 中的语句至少会被执行一次
for:for(initialization : Boolean-expression ; step){}
通过逗号操作符',',可以再 for 语句内定义多个变量,但是类型必须相同。
4.4 foreach 语法
foreach 语法可以用于数组和容器(集合),可以用于任何 Iterable 对象。
4.5 return/4.6 break 和 continue/4.7 臭名昭著的 goto
Java 中有多个关键词表示无条件分支,它们只是表示这个分支无需任何测试即可发生。
这些关键词包括 return/break/continue 和一种与其他语言中的 goto 类似的跳转到标号语句的方式
return 的用途:
- 一方面指定一个方法的返回值(也可以不返回值,例如 void)。
- 另一方面会导致当前的方法退出,并返回那个值。
对应的,一般的 break 会中断循环。
一般的 continue 回事执行过程返回到循环最开头。
goto 最好不要轻易使用,但是 Java 提供标签用来做类似标签的跳转。
标签起作用的唯一的地方刚好是在迭代语句之前(也就是说 Java 中的标签被限制了应用场合)。“刚好”是说在标签和迭代之间置入任何语句都是不可以的。
唯一在迭代之前设置标签的理由,就是希望在其中嵌套另一个迭代或开关。
- 带标签的 break 会中断并跳出标签所指的循环
- 带标签的 continue 会到达标签的位置,并重新进入紧接在哪个标签之后的循环。
4.8 switch
switch(internal-selector)
中 internal-selector(整数选择因子) 是一个能够产生整数值的表达式,switch 会将表达式的结果与每个整数值做比较,相符执行对应语句,全不相符指定 default 语句(在 Java SE6 后添加了对字符串选择因子的支持)。
Random rand = new Random(47);
int c = rand.nextInt(26) + 'a';
char d = (char) c; // Random.nextInt(26)会产生0-26的一个整数值,在其上加一个偏移量'a',即可产生小写字母。