控制语句分为三种结构:顺序结构、选择结构和循环结构。我们的程序写出来就有顺序,所以顺序结构没什么可学习的,主要学习选择结构和循环结构的语法。
一、选择结构
单选择结构(if)
语法如下:
if(布尔表达式){ 语句 }
Java不允许我们将一个数字作为布尔值使用,即使在c或c++中是允许的。所以 if(1) 在java中编译会报错的,这个在笔试中可能会遇到。
双选择结构(if-else)
语法如下:
if(布尔表达式){ 语句1 }else{ 语句2 }
多选择结构
语法如下:
if(布尔表达式1){ 语句1 }else if(布尔表达式2){ 语句2 }.... else if(布尔表达式n){ 语句n }
switch语句
语法格式:
switch(整数选择因子){ case 整数值1: 语句1; break; case 整数值2: 语句2; break; ... case 整数值3: 语句3; break; }
1. 整数选择因子指的是int、或能够自动转换成int类型(char、byte和short)的数据和枚举类型。
2. 每一个case均以一个break结尾,这样可使执行流程跳转至switch主体的末尾。但break是可选的,若省略break,会继续执行后面的case语句代码,直到遇到一个break为止,这个还是要注意的。
二、循环结构
while语句
语法格式:
while(布尔表达式){ 语句 }
在循环刚开始时,会计算一次“布尔表达式”的值,而对于后来每一次额外的循环,都会在开始时计算一次,在语句中都会对布尔表达式的值进行修改,退出循环。
do-while语句
语法格式:
do{ 语句 }while(布尔表达式)
do-while语句实现的效果和while语句一样,只不过do-while肯定会执行一次,在实际应用中,while比do-while更常用一些,我基本没怎么用过do-while。
for语句
语法格式:
for(初始表达式;布尔表达式;步进){ 语句 }
无论初始表达式,布尔表达式,还是步进,都可以制空,那语句就变成了for(;;),这样就相当于死循环,只能在语句块中结束循环(使用break或者return)。每次反复前,都要测试一下布尔值,若获得的结果是false,则结束循环,在每次循环的末尾,会计算一次步进。
for的执行顺序是,开始初始化表达式,判断布尔表达式的值,如果布尔表达式的值为true,则执行语句块,执行完语句块后执行步进,再判断布尔表达式的值。
continue和break
在任何循环语句的主题部分,都可用break和continue控制循环的流程。break用于强行退出循环,退出后不再执行循环;continue则停止执行当前的反复,即本次循环continue后面剩余的语句是不会执行了,但是还是会进入循环体。
public static void main(String[] args){ //打印0—100,50不打印 for(int i = 1 ; i <= 100; i++){ if(i==50) continue; System.out.print(i + " "); } System.out.println(); //执行到50就退出 for(int i = 1 ; i <= 100; i++){ if(i==50) break; System.out.print(i + " "); } }