一、顺序结构
int num = 1;
System.out.println(++num);
System.out.println(num++);
这段代码中的运行结果是2,2。原因就是顺序结构,所谓顺序结构,其实就是按照代码原本应该的方式进行执行。
- 顺序从上到下,从左到右。总的来说,就是写在上边的代码先运行,下边的代码后运行;左边的代码先运行,右边的代码后运行。
二、if判断结构
1.if语法
if(){
代码块.....
}
选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个(true、false),所以产生选择,按照不同的选择执行不同的代码。也就是当if()小括号中的表达式结果如果为true,则执行if(){}大括号内的代码,否则不执行。
- 1.if()小括号中的表达式结果只能是boolean类型。
2.如果if语句控制的代码块是一条语句,大括号可以省略。其余情况都必须携带大括号。
2.if-else语法
if(){
代码块1.....
}else{
代码块2.....
}
选择结构的第二种写法。增加了一种情况,属于条件分支,类似于Y字路口。功能与三目运算相同。但不能如同三目运算一样直接将结果进行赋值操作,if没有结果反馈,三目运算始终有结果反馈。首先判断if()小括号中的表达式结果,如果是true,则执行if(){}大括号内的代码;如果是false,则执行else{}大括号内的代码。必然会也只会执行一个大括号内的代码。
3.else-if语法
if(){
代码块1.....
}else if(){
代码块2.....
}else{
代码块3.....
}
选择结构的第三种写法。和if…else…相比,中间多了else if,相当于判断的情形多了一种。
- 注意:只要有一种情况成立,就执行{}中的代码,然后就跳出当前if体系。
if(){
if(){
代码块1.....
}else{
代码块2......
}
}else{
代码块2......
}
选择结构的第四种写法。其实不只是if结构,无论任何结构,只要是在{}大括号内,我们可以编写任何逻辑代码。
三、switch选择结构
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
使用switch解决类似问题,switch会将case后的值写入栈中,表达式的结果会直接在栈中进行查询并选择,效率更高。
语法说明:
1.表达式的取值:byte,short,int,char;JDK5以后可以是枚举;JDK7以后可以是String。
2.case后面跟的是要和表达式进行比较的值。
3.break表示中断,结束的意思,可以结束switch语句。
4.default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
- if和switch的区别:
- f语句可以判断范围,switch 语句只能判断具体的值。
- if语句可以判断多个条件,switch 语句只能判断一个条件。and or
- if语句的效率低,switch 语句的效率高。