Java 控制语句
1. 条件控制语句
1-1. if语句
if (条件1) { if (条件2) { 代码块1 } else { 代码块2 } } else if { 代码块3 } else { 代码块4 }
- 为了增强代码的可读性,建议都加上大括号,即使只有一条语句,甚至没有(有时为了编程需要,if 或 else 后面的大括号可以没有语句)。更多java代码规范,参见:Google Java 编程风格指南。
- 所有的条件语句都是利用条件表达式的真或假来决定执行路径,Java里不允许将一个数字作为布尔值使用,虽然这在C和C++是允许的,如果要在布尔测试里使用一个非布尔值,需要先用一个条件表达式将其转换成布尔值,其他控制语句同理。
1-2. switch语句
switch (表达式) { case 值1: 代码块1 break; case 值2: 代码块2 break; ... default: 默认执行的代码块 }
- switch 语句中的表达式必须是整型或字符型。
2. 循环控制语句
2-1. while和do while 语句
while 的执行过程是先判断,再执行。
while语法:
while (条件) { 代码块 }
do-while 的执行过程是先执行,再判断(所以循环内的代码至少会执行一次)。
do-while语法:
do { 代码块 }while (条件);
2-2. for语句
for语法:
for (循环变量初始化; 循环条件; 循环变量变化) { 循环操作 }
2-3. Java 增强 for 循环
Java5 引入了一种主要用于数组的增强型 for 循环(foreach)。
Java 增强 for 循环语法格式如下:for (声明语句 : 表达式) { //代码句子 }
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
举例:public class Test { public static void main (String[] args) { int[] number = {10, 20, 30, 40}; for (int x : number){ System.out.print(x); System.out.print(","); } } }
运行结果:
前面一个故意试了下用
System.out.println()
来输出,原来是输出后还有个换行。
3. 跳转语句
就break和continue,还以为是什么不一样的,比如说goto。break直接跳出循环,continue跳过当次循环剩下的语句进入下一个循环。
- java 还提供了一种带标签的 break 语句,用于跳出多重嵌套的循环语句。只要在代码中写一行:
label:
(注意是冒号结尾),用break label;
就可以跳到该位置。当然也适用于 if 等语句,事实是可以将标签运用于任何语句中。需要注意的是,只能跳出语句块,而不能跳入语句块。- 还有一种带标签的 continue 语句,将跳到与标签匹配的循环首部。
参考资料
- 菜鸟教程:Java 循环结构
- 实验楼:Java编程语言(新版)
- Java核心技术 卷Ⅰ基础知识 原书第8版
- Java2实用教程 (第三版)_ 耿祥义,张跃平