if ; else if; else; 判断操作:
格式示例:
public class scanner { public static void main(String[] args){ int a = 3; int b = 23; if (a ==1){ System.out.println(a); } else if(b ==2){ System.out.println(b); } else { System.out.println(a+b); } } }
三元表达式和if语句的差别:
区别:
三元运算符实现的,都可以采用if语句实现。反之不成立。
什么时候if语句实现不能用三元改进呢?
当if语句控制的操作是一个输出语句的时候就不能。
为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
Switch语句:
格式及解释:
switch语句格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } 格式的解释: switch:表示这是switch选择结构 表达式:这个地方的取值是有限定的 byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是字符串 case:后面跟的是要和表达式进行比较的值 语句体:要执行的代码 break:表示中断,结束的意思,可以控制switch语句的结束。 default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。
示例:
class SwitchDemo { public static void main(String[] args) { //创建键盘录入对象 Scanner sc = new Scanner(System.in); //控制键盘录入数据 System.out.println("请输入一个数据(1-7):"); int week = sc.nextInt(); //3 //switch判断语句 switch(week) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("你输入的数据有误"); break; } } }
需要注意的地方:
break省略容易发生穿透现象:
case 3: System.out.println("星期三"); case 4: System.out.println("星期四"); break;
//这种就是穿透,当3进行匹配完毕,打印星期三,然后打印星期四,case 4匹配不生效。
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default一般放在末尾的位置。
if和switch的区别:
if使用的场景:
1.针对结果是boolean类型的判断
2.针对一个范围的判断
3.针对几个常量值的判断
switch语句:
针对几个常量值的判断