🥑🥑🥑程序流程控制
🥑🥑分支结构switch…case
举例:通过判断输入的是0,1,2,3来输出相应结果
import java.util.Scanner;
class SwitchCaseTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
switch (num) {
case 0:
System.out.println("Zero");
break;
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Other");
break;
}
}
}
结果:
注意一定要写break哦!比如输入2,符合case2,如果不写break,输出的就不仅仅是case2对应的输出"Two",还会不经判断的输出下面所有case的结果,即’Two’“Other”
面试题1
成绩大于60分输出合格,小于60分输出不合格(用switch…case实现)
思路1:用除法,只看十位做为判断条件,有十种情况
思路2:还是用除法,不过除以60,这样大于一就及格更加简单。
思路1代码
import java.util.Scanner;
class SwitchCaseTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
switch (num/10) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("及格");
break;
}
}
}
思路1结果
思路2代码
import java.util.Scanner;
class SwitchCaseTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
switch (num/60) {
case 0:
System.out.println("不及格");
break;
default:
System.out.println("及格");
break;
}
}
}
结果
面试题2
编写程序:从键盘上输入2019年的“month”和"day",要求通过程序输出输入日期为2019年第几天。
这里利用break特性写一个简单的版本
class SwitchCaseTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入2019年的month");
int month = scan.nextInt();
System.out.println("请输入2019年的day");
int day = scan.nextInt();
int sumDays = 0;
switch (month) {
case 12:
sumDays += 30;
case 11:
sumDays += 31;
case 10:
sumDays += 30;
case 9:
sumDays += 31;
case 8:
sumDays += 31;
case 7:
sumDays += 30;
case 6:
sumDays += 31;
case 5:
sumDays += 30;
case 4:
sumDays += 31;
case 3:
sumDays += 28;
case 2:
sumDays += 31;
case 1:
sumDays += day;
}
System.out.println("2019年"+month+"月"+day+"日是当年的第"+ sumDays +"天");
}
}
结果
学这样的基础知识虽然有点枯燥,但是结合一些面试题来看说不定可以拓宽思路呢,一定要上手敲代码,一定要运行起来,避免眼高手低,相信没有白费的功夫,加油!