if/else语句
单行格式:
if(条件)
执行语句;
else
执行语句
多行格式:
if(条件)
{
条件为true时的执行语句;
}
else
{
条件为false时的执行语句;
};
多个else格式:
if(条件)
{
语句;
}
else if(条件)
{
语句
}
else if(条件)
{
语句
}
else
{
语句;
}
嵌套格式:
if(条件)
{
if(条件)
{
嵌套的if语句
}
}
else if(条件)
{
语句;
}
}
注意,最后一个else与离它最近的、且没有else的if对应
思考案例
1、根据用户定义的数值,打印对应星期的英文
package anli;
import java.util.Scanner;
public class a06 {
public static void main(String[] args) {
System.out.println("本程序功能:根据用户定义的功能,打印对应星期的英文");
System.out.println("请输入您需要打印的星期数");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
scanner.close();
if (num == 1)
System.out.println("Monday");
else if (num == 2)
System.out.println("Tuesday");
else if (num == 3)
System.out.println("Thursday");
else if (num == 4)
System.out.println("Wednesday");
else if (num == 5)
System.out.println("Friday");
else if (num == 6)
System.out.println("Saturday");
else if (num == 7)
System.out.println("Sunday");
}
}
2、根据用户定义的月份,打印对应的季节 3、4、5 春季,6、7、8 夏季,9、10、11 秋季, 12、1、2 冬季
package anli;
import java.util.Scanner;
public class a07 {
public static void main(String[] args) {
System.out.println("本程序功能:根据用户定义的月份,打印对应的季节");
System.out.println("请输入您需要打印的月份");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
scanner.close();
if (num == 3 || num == 4 || num == 5) {
System.out.println("春季");
} else if (num == 6 || num == 7 || num == 8) {
System.out.println("夏季");
} else if (num == 9 || num == 10 || num == 11) {
System.out.println("秋季");
} else if (num == 12 || num == 1 || num == 2) {
System.out.println("冬季");
}
}
}
Switch语句:
格式:
switch(数值表达式)
{
case 取值1:执行语句;break;
case 取值2:执行语句;break;
default:
执行语句;
}
注意:
1.在遇到break或结束的右大括号时结束
2.数值表达式的类型需要是:byte、short、int、char、枚举(JDK1.5)、字符串(JDK1.7)
3.如果表达式的值不在case中,则最终执行到default语句中
思考:何时使用if?何时使用switch?
如果表达式值是一个范围,则用if
如果表达式值是一个固定值,且数据类型是btye/short/int/char,则用switch