格式:
格式一:
if(表达式){ 语句; } 首先进来看表达式是否成立,如果为true,就执行这个语句 如果是false,就不执行
格式二:
if(表达式1){ 语句1; }else{ 语句2; } 首先判断表达式1是否成立,如果是true,则执行语句1; 如果是false,执行语句2
格式三:
if(表达式1){ 语句1; }else if(表达式2){ 语句2; }else if(表达式3){ 语句3; }…. }else{ 语句n; } 首先判断表达式1是否成立,如成立,true,执行语句1; 如果是false,再次判断表达式2是否成立,true,执行语句2; 如果是false,再次判断表达式3是否成立,true,执行语句3; 最终上述都不成立,走到else里面
注意事项:
如果if语句里面只有一条语句,if(表达式)后面的大括号可以省略if语句的表达式不管是简单的还是复杂的,最终是boolean类型在if语句里面,有分号的地方不能有左大括号,有左大括号的地方不能有分号!三元和if语句: 能使用三元运算符去实现的,肯定能使用if语句;if语句实现的,不一定能够使用三元 三元运算符对具体的结果进行操作,有一个具体的数值,而不是一个语句
格式:
switch(表达式){ case 值1: 语句1; break; case 值2: 语句2; break; …. default: 语句n+1; break; } 首先用siwtch后面表达式的值和case后面的值进行比较,如果和值1相等,执行语句1; 如果不相等,跟值2比较,成立,执行语句2,遇见brea;结束 如果上述没有相等的值,执行default中的语句
switch后面的数据类型: 本身能跟的类型:int,byte,short,char JDK5.0以后:可以根据枚举类型 JDK7以后,可以跟String类型
switch语句的注意事项:
default在末尾中的break可以省略default可以在该switch语句中的任何位置case后面只能跟常量,不能跟变量在swtich语句中:如果中间的case中没有写break,会造成一个现象:case穿透switch语句的结束条件: a:遇见break结束 b:程序默认执行到末尾 看程序写结果: public class SwitchTest { public static void main(String[] args) { int x = 2; int y = 3; switch(x){ default: y++; break; case 3: y++; case 4: y++; } System.out.println("y="+y); } } 输出:y=4 public class SwitchTest { public static void main(String[] args) { int a = 2; int b = 3; switch(a){ default: b++; case 3: b++; case 4: b++; } System.out.println("b="+b); } 输出:b=6分析: a=2,2进入和3比较,不同,再和4比较,不同,最后执行default; 执行语句b++,因为无break;则程序执行到末尾结束; 执行case 3中的b++,再执行case 4中的b++; 所以b=6;