这篇文章仍是写给初学者,以下对于if的所有分支结构和switch分支写的,希望对初学者有所帮助.
if语句包括:单条件,单分支;单条件,双分支;多条件多分支。
1.单条件,单分支:小括号()里面的值必须是boolean类型的,当值为true时,紧跟着执行后面大括号中的语句.
public static void main(String args[]) {
int a = 10;
int b = 20;
int t;
if (a < b) {
t = a;
a = b;
b = t;
System.out.println("a=" + a + ",b=" + b);
}
}
先判断小括号里面的值为
true,然后
紧跟着执行后面大括号里面的逻辑,
a先赋值给t,t=10,b赋值给a,a=20,t赋值给b,b=10,,这样 a和b就完成了数据交换.
结果:
2.单条件双分支:先判断小括号里面的值,值为true紧跟着执行后面的语句,否则执行else里面的语句。
public class lianxi01 {
public static void main(String args[]) {
boolean b = false;
if (b) {//true
System.out.println("港岛妹妹,你送给我的西班牙鲨鱼");
} else {
System.out.println("港岛妹妹,你送给我的西班牙鲸鱼");
}
if (!b) {//false
System.out.println("港岛妹妹,你送给我的西班牙鲨鱼");
} else {
System.out.println("港岛妹妹,你送给我的西班牙鲸鱼");
}
}
}
这是
两条if-else语句,
在这个例子中小括号先判断
b=true不成立
,输出else里面的语句;第二条if-else语句,判断
!b=true成立
,紧跟着执行大括号的语句,运行结果如下:
3.多条件多分支:先计算第一个小括号的值,结果为true,就输出紧跟着的复合语句然后退出分支语句,否则。继续判断下一个小括号的值,如果执行到最后,小括号里没有符合true的值,输出else紧跟着的语句.
public class lianxi01 {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);//通过键盘输入
System.out.println("请输入:");
int a = input.nextInt();//输入的值
if (a > 10 && a < 60) {
System.out.println("港岛妹妹,你送给我的西班牙鲨鱼");
} else if (a > 60 && a < 90) {
System.out.println("港岛妹妹,你送给我的西班牙鲸鱼");
} else if (a < 90) {
System.out.println("港岛妹妹,你送给我的西班牙中华鲟");
} else {
System.out.println("输入错误");
}
}
}
输出结果:
switch语句:单条件多分支,(break跳出当前的switch语句)。switch紧跟着的小括号里面可以是short ,int,char,byte类型的值,但不可以是long类型的值.switch语句先计算小括号的值,如果小括号的值和case后面的常量相等,就执行case里面的语句,直到碰到break才退出switch结构体。也有可能所有的case都不符合小括号中计算的值,那就执行default中的语句。
实例:
public class lianxi01 {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
System.out.println("输入12345其一:");
int number = input.nextInt();
switch (number) {
case 1:
System.out.println("我是1号选手");
case 2:
System.out.println("我是2号选手");
case 3:
System.out.println("我是3号选手");
case 4:
System.out.println("我是4号选手");
break;
case 5:
System.out.println("我是5号选手");
break;
default:
System.out.println("输入无效");
}
}
}
运行结果:
if分支语句和switch分支语句的不同点:
异:
if分支语句最大的特点就是可以对某一个范围做判断,也可以对表达式做判断,
1.switch分支语句呢对某一个范围做判断显然不行,(那得写多少个case),但是对
具体的值做判断还是比if语句好得多,
2.if语句都是根据一个条件选择执行一个分支操作,而switch语句是根据一个条件选择执行一个分支(一个case)操作或者执行多个分支操作(多个case).