什么是选择结构?
所谓选择结构,顾名思义就是需要作出选择,然后继续执行,生活中有很多例子。比如说去上班,是选择开车去还是骑车去,如果有汽车,那就开车去,如果没骑车,就骑车去。。。嗯,我没车
基本if语句
if语句结构
if(表达式){
条件成立将执行的逻辑代码;
}
注:表达式的值必须是true或者flase
例如:如果a的值大于1,那么输出“我很帅”
public static void main(String[] args) {
int a = 2;
if(a > 1) {
System.out.println("我很帅");
}
}
结果:
if…else语句
if…else的语句结构:
if(表达式){
符合if条件的代码块
}else{
else的代码块
表示不符合if条件的其他任何条件 都执行这里的代码块
}
注:else不能单独使用,必须结合if使用
例如:
如果a>1,输出“我很帅”,否则输出“我不光帅,我还有钱”
public static void main(String[] args) {
int a = 0;
if(a > 1) {
System.out.println("我很帅");
}
else {
System.out.println("我不光帅,我还有钱");
}
}
结果
(果然只有代码是诚实的)
else if语句
else if的语句结构:
if(①){
代码块①
}else if(②){
代码块②
}else if(③){
代码块③
}
如果符合①,执行代码块①,如果不符合①,符合②,则执行代码块②,如果不符合①和②,符合③,则执行代码块③
例如:
输入学生分数,>=90时,为优;80-90之间为良;70-80之间为中;60-70之间为及格;低于60分就要请家长
public static void main(String[] args) {
System.out.println("学生成绩:");
Scanner input =new Scanner(System.in);
int score=input.nextInt();
if(score >=90) {
System.out.println("优");
}
else if(score >= 80){
System.out.println("良");
}
else if(score >= 70){
System.out.println("中");
}
else if(score >= 60){
System.out.println("及格");
}
else if(score < 60){
System.out.println("把你爹叫来");
}
}
结果:
非常惨,老师并没有给那一分人情分,今晚要挨打了
嵌套if
顾名思义:嵌套if就是if中包含着另一个if,或者更多的if
比如:我们进了学校的大门,才能进教室的大门。生活中的例子很多。
例如:运动会百米,要求10秒以内才能进入决赛,男生进男子组 女生 进女子组
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入你的跑步时间");
double time=input.nextDouble();
System.out.println("请输入你的性别");
String sex=input.next();
if(time < 10) {
System.out.println("进入决赛");
//原来我们比较两个值是否相等 使用的是 == 比较String类型的值 必须使用equals()
if(sex.equals("男"))
{
System.out.println("进入男子组");
}
else
{
System.out.println("进入女子组");
}
}
结果:
switch语句
switch的语句结构
switch(常量表达式){
case(常量1) : 代码1
case(常量2) : 代码2
case(常量3) : 代码3
}
switch通常用于判断值属于固定等值的情况,switch支持的类型 byte short int char enum String(String类型需要在jdk1.7 以及1.7以上的版本才可以支持)
switch中的case下的break如果有需要的情况下,不要忘记写。请注意,是有需要的情况下,以下需求以及代码必须加break,如果需求为第一二三名都奖励一致的内容,那么就可以单独再case3下加break即可。
default的位置也没有硬性要求固定位置,通常写在最后,并且要加上break
例如:
Scanner input = new Scanner(System.in);
System.out.println("请输入名次:");
int num = input.nextInt();
switch (num) {
case 1:
System.out.println("夏令营");
break;
case 2:
System.out.println("电脑");
break;
case 3:
System.out.println("硬盘");
break;
default :
System.out.println("再接再厉");
break;
}
结果:
这里如果不加break的话,在输出“电脑”之后还会继续输出“硬盘”和“再接再厉”,所以根据需求添加break