2.分支结构
2.1 if结构
if:如果
此处有图片
package com.qfedu.test1;
/**
* if 分支结构
* @author WHD
*
*/
public class Test2 {
public static void main(String[] args) {
int a = 20;
if(a >= 20) {
System.out.println("条件成立,大于20");
}
System.out.println("程序结束");
}
}
2.2if-else
else:否则
此处有图片
package com.qfedu.test1;
import java.util.Scanner;
/**
* 复杂的单个if
* 根据成绩来判断是否获得奖励
* Java成绩大于等于80 或者 音乐成绩 等于100 获得奖励 奖励 苹果八袋
* 如果满足条件 将提示获得奖励
* 但是如果不满足不能给予提示 所以我们可以使用 if - else 结构
*
* @author WHD
*
*/
public class Test4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你的java成绩");
double javaScore = input.nextDouble();
System.out.println("请输入你的音乐成绩");
double musicScore = input.nextDouble();
if(javaScore >= 80 || musicScore == 100) {
System.out.println("奖励苹果八袋");
}else {
System.out.println("继续加油");
}
System.out.println("程序结束");
}
}
2.3多重if
多重if用于处理某个值处于连续的区间的情况
else-if 不能单独出现 必须结合 if
else 可写可不写 根据需求
此处有图片
package com.qfedu.test1;
import java.util.Scanner;
/**
* 根据成绩区间来判断等级
* 小于60 继续努力
* 大于等于60 及格
* 大于70 良好
* 大于80 优秀
* 大于95 牛逼
* 多重if 通常用于处理值处于某个连续的区间的情况
* 多重if中的 else if 不能单独出现 必须结合 if
* 多重if最后的else 根据情况 是否书写 可写 可不写
* @author WHD
*
*/
public class Test7 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你的成绩");
double score = input.nextDouble();
System.out.println(score);
// if(score > 95) {
// 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 {
// System.out.println("继续努力");
// }
if(score >= 0 && score < 60) {
System.out.println("继续努力");
}else if(score >= 60 && score < 70) {
System.out.println("及格");
}else if(score >= 70 && score < 80) {
System.out.println("良好");
}else if(score >= 80 && score < 95) {
System.out.println("优秀");
}else if(score >= 95){
System.out.println("牛逼");
}else {
System.out.println("成绩有误");
}
}
}
2.4嵌套if
一个if结构中在嵌套另外一个if结构,多个if结构可以相互嵌套,没有层数上限
此处有图片
package com.qfedu.test1;
import java.util.Scanner;
/**
* 需求: 学校组织百米跑步比赛 首先根据时间 如果跑步时间小于 12 秒的话进入决赛
* 再根据性别 分组 男生进入男子组 女生进入女子组
* 需要哪些条件
* 时间
* 性别
* @author WHD
*
*/
public class Test6 {
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 < 12) {
System.out.println("恭喜你进入决赛");
// 我们判断字符串不能使用== 使用JDK提供的一个方法 equals
// 用法 被判断的字符串 + . 调用equals
if(sex.equals("男")) {
System.out.println("进入男子组");
}else if(sex.equals("女")) {
System.out.println("进入女子组");
}else {
System.out.println("性别不合适");
}
}
}
}
2.5switch
switch:开关,切换
switch用于处理值属于等值的情况
1.支持的数据类型有,byte,short,int,char,String(JDK7+),枚举
2.case块后的break表示跳出当前case块,可写可不写,根据实际情况
3.default同样可写可不写,表示不符合case情况的其他任何情况
4.default位置不固定,通常我们写在最后,也要加上break
package com.qfedu.test1;
import java.util.Scanner;
/**
* 需求 进行成绩奖励
* 第一名 奖励夏令营一天
* 第二名 奖励 笔记本一个 (纸质)
* 第三名 奖励 苹果一个(红富士)
* 第四名 口头表扬一次
* switch 支持的数据类型 byte short int char String 枚举
* @author WHD
*
*/
public class Test8 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你的名次");
int number = input.nextInt();
// byte num = (byte)number;
short num = (short)number;
boolean flag = false;
long l1 = 2L;
// if(num == 1) {
// System.out.println("夏令营");
// }else if(num == 2) {
// System.out.println("笔记本一个");
// }else if(num == 3) {
// System.out.println("苹果一个");
// }else if(num == 4){
// System.out.println("你真棒!");
// }
switch(num) {
case 1:
System.out.println("夏令营");
break;
case 2:
System.out.println("笔记本一个");
break;
case 3:
System.out.println("红富士");
break;
case 4:
System.out.println("你真棒");
break;
default :
System.out.println("继续努力");
break;
}
}
}
package com.qfedu.test1;
import java.util.Scanner;
public class Test9 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入你的名次");
String num = input.next(); // input.next().charAt(0);
char ch1 = num.charAt(0);
System.out.println(ch1);
switch(ch1) {
// 现在政策放宽了 第一名 和 第二名 都可以去夏令营
case '一':
case '二':
case '三':
System.out.println("夏令营");
break;
case '四':
System.out.println("你真棒");
break;
default :
System.out.println("继续努力");
break;
}
}
}