小结:
1、 控制语句的概念:正常情况下,我们的程序都是顺序执行的,但是如果需要进行一些条件的判断,就可以改变我们的程序执行顺序和执行逻辑。
- if 语句 : 如果满足表达式 则执行 { 语句体 } 反之不执行
- if … else 语句 如果满足表达式 则执行 { 语句体 1 } 如果不满足表达式 则执行 else { 语句体2 }
- if … else if … else if … else 语句: 可以进行多个条件的判断 如果满足某一个条件则执行
注意问题:if else if … else if … else 语句是具有排他性质的, 并且也是按照顺序来执行的 如果选择了一个条件 就不 能继续选择了!!入下面代码所示:
int a = 4;
if(a > 0) {
System.err.println("---- a>0 ------");
} else if (a > 1) {
System.err.println("----- a>1 -----");
} else if (a > 3) {
System.err.println("----- a>3 ------");
} else {
System.err.println("------- 其他情况 -------");
}
1 switch 用法: switch 语句相当于 if else的另一种表达方式
- switch 语句的参数 可以接收变量类型有: byte 、short 、int、 char、 enum、 (jdk7以后支持 String)
- 注意:每个表达式结束,都应该有一个break;
public class HelloWorld {
public static void main(String[] args) {
//如果使用if else
int day = 5;
if (day==1)
System.out.println("星期一");
else if (day==2)
System.out.println("星期二");
else if (day==3)
System.out.println("星期三");
else if (day==4)
System.out.println("星期四");
else if (day==5)
System.out.println("星期五");
else if (day==6)
System.out.println("星期六");
else if (day==7)
System.out.println("星期天");
else
System.out.println("这个是什么鬼?");
//如果使用switch
switch(day){
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("这个是什么鬼?");
}
}
}
- switch 穿透特性 注意整个特性可能会导致你的程序执行不正确. 记得在执行完某一个case语句体之后 要加上break.
2、键盘输入
Scanner stdIn = new Scanner( System.in);
int x = stdIn.nextInt();
注意的点:
- 放在程序的开头;
- 放在main方法的开头,(System.in :与键盘相关联的标准输入流。System.out : 与键盘相关联的标准输出流。)
- 如果是int 类型;写成:stdIn.nextInt
如果是double类型 ;写成:stdIn.nextDouble
import java.util.Scanner;
public class Test_Switch {
public static void main(String[] args) {
//键盘输入 System.in 标准输入流的意思
Scanner stdIn = new Scanner(System.in);
System.out.println("请键入数值(1 ~ 7):");
int weekday = stdIn.nextInt();//读入数据
//注意的点:
//如果是int 类型;写成:stdIn.nextInt
//如果是double类型 ;写成:stdIn.nextDouble;
// ...
switch(weekday) {
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;
}
}
}