1、switch
- switch 语句相当于 if else的另一种表达方式
- switch可以使用byte,short,int,char,String,enum
- 注: 每个表达式结束,都应该有一个break;
- 注: String在Java1.7之前是不支持的, Java从1.7开始支持switch用String的,编译后是把String转化为hash值,其实还是整数
- 注: enum是枚举类型,在枚举章节有详细讲解
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("这个是什么鬼?");
}
}
}
2、练习:季节
通过Scanner 输入月份,然后使用switch 判断季节
import java.util.Scanner;
public class Season {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int month = sc.nextInt();
switch (month){
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;
case 8:
System.out.println("八月");
break;
case 9:
System.out.println("九月");
break;
case 10:
System.out.println("十月");
break;
case 11:
System.out.println("十一月");
break;
default:
System.out.println("十二月");
break;
}
}
}
3、while
- while和do-while循环语句
- 条件为true时 重复执行
- 只要while中的表达式成立,就会不断地循环执行
public class HelloWorld {
public static void main(String[] args) {
//打印0到4
int i = 0;
while(i<5){
System.out.println(i);
i++;
}
}
}
4、do…while…
条件为true时 重复执行,至少会执行一次
do{
} while 循环
- 与while的区别是,无论是否成立,先执行一次,再进行判断
public class HelloWorld {
public static void main(String[] args) {
//打印0到4
//与while的区别是,无论是否成立,先执行一次,再进行判断
int i = 0;
do{
System.out.println(i);
i++;
} while(i<5);
}
}
5、练习:阶乘
通过Scanner 获取一个整数,然后使用while计算这个整数的阶乘
N的阶乘等于 N* (N-1) * (N-2) * … * 1
import java.util.Scanner;
public class JieChen {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
int result = 1;
while(num >1){
result = result * num;
num --;
}
System.out.println("阶乘结果为:" + result);
}
}
6、参考链接
[01] How2j - 控制流程系列教材 (二)- JAVA的SWITCH语句
[02] How2j - 控制流程系列教材 (三)- JAVA的WHILE语句