一、分支语句 简单if分支
1.语法结构
1.2理解
1.3做实验
1.4案列
import java.util.Scanner;
public class Test01{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scan.nextDouble();
if(score > 98){
System.out.println("奖励萌萌法拉利玩具赛车一辆");
}
/** 总结:
if(){} 判断要么进入要么不进去 输入大于98 打印奖励萌萌法拉利玩具赛车一辆
输入小于98 则不打印
*/
}
}
二、复杂if分支
2.1案例
import java.util.Scanner;
public class Test02{
public static void main(String[] args){
//创建Scanner对象
Scanner scan = new Scanner(System.in);
//输入体重和身高
System.out.println("请输入体重(Kg):");
double weight = scan.nextDouble();
System.out.println("请输入身高(M):");
double height = scan.nextDouble();
//计算健康值
double health = weight/(height*height);
//判断
if(health > 20 && health < 25){
System.out.println("小护士说:\"健康,请保持身材哟~~~\"");
}
}
}
import java.util.Scanner;
public class Test02{
public static void main(String[] args){
//创建Scanner类的对象
Scanner scan = new Scanner(System.in);
//输入成绩
System.out.println("请输入Java成绩:");
double javaScore = scan.nextDouble();
System.out.println("请输入音乐成绩:");
double musicScore = scan.nextDouble();
//判断
if((javaScore>98 && musicScore>80) || (javaScore==100 && musicScore>70)){
System.out.println("奖励爱田奈奈烤肠5根");
}
总结:
1.if可以判断区间
2.if可以判断复杂的条件
*/
}
}
三、if ...else...分支
3.1语法结构
3.2理解
3.3做实验
3.4案列
import java.util.Scanner;
public class Test03{
public static void main(String[] args){
//创建Scanner类的对象
Scanner scan = new Scanner(System.in);
//输入成绩
System.out.println("请输入成绩:");
double score = scan.nextDouble();
//判断
if(score > 98){
System.out.println("奖励上原亚衣劳斯莱斯玩具赛车一辆");
}else{//其余情况(成绩小于等于98)
System.out.println("通宵补课编写代码");
}
总结:
if...else...:在二选一的情况下使用
}
}
四、多重if分支
4.1语法结构
4.2理解
4.3做实验
4.4案列
import java.util.Scanner;
public class Test04{
public static void main(String[] args){
//创建Scanner类的对象
Scanner scan = new Scanner(System.in);
//输入体重和身高
System.out.println("请输入体重(Kg):");
double weight = scan.nextDouble();
System.out.println("请输入身高(M):");
double height = scan.nextDouble();
//计算健康值
double health = weight/(height*height);
//判断
if(health > 15 && health <= 20){
System.out.println("小护士说:\"偏瘦,多吃垃圾食品、多喝碳酸饮料、多熬夜~~~\"");
}else if(health > 20 && health <= 25){
System.out.println("小护士说:\"健康,请保持身材哟~~~\"");
}else if(health > 25 && health <= 30){
System.out.println("小护士说:\"偏胖,多运动,嘿嘿嘿~~~\"");
}else{
System.out.println("小护士说:\"健康值异常,请去医院进行详细检查\"");
}
}
}
import java.util.Scanner;
public class Test04{
public static void main(String[] args){
//创建Scanner类的对象
Scanner scan = new Scanner(System.in);
//输入成绩
System.out.println("请输入成绩:");
double score = scan.nextDouble();
//判断
if(score >= 90 && score <= 100){
System.out.println("A");
}else if(score >= 80 && score < 90){
System.out.println("B");
}else if(score >= 70 && score < 80){
System.out.println("C");
}else if(score >= 60 && score < 70){
System.out.println("D");
}else if(score >= 0 && score < 60){
System.out.println("E");
}else{
System.out.println("成绩异常");
}
/**
总结:
多重if:在多选一的情况下使用
*/
}
}
五、嵌套if分支
5.1案列
import java.util.Scanner;
public class Test05{
public static void main(String[] args){
//创建Scannner类的对象
Scanner scan = new Scanner(System.in);
//输入比赛成绩
System.out.println("请输入比赛成绩:");
double score = scan.nextDouble();
//判断成绩
if(score >= 0 && score < 16){
//输入性别
System.out.println("请输入性别:");
String sex = scan.next();
//判断性别
if(sex.equals("男")){//判断两个字符串内容是否相等
System.out.println("恭喜进入到男子组决赛");
}else if(sex.equals("女")){//判断两个字符串内容是否相等
System.out.println("恭喜进入到女子组决赛");
}else{
System.out.println("性别输入有误...");
}
}else if(score >= 16){
System.out.println("无缘总决赛,谢谢参与...");
}else{
System.out.println("成绩输入有误...");
}
/**
总结:
if(){} 判断要么进入要么不进去
if...else...:在二选一的情况下使用
多重if:在多选一的情况下使用
if可以判断区间
if可以判断复杂的条件
*/
}
}
六、Switch分支
6.1语法结构
6.2理解
6.3做实验
6.4案列
import java.util.Scanner;
public class Test06{
public static void main(String[] args){
//创建Scanner类的对象
Scanner scan = new Scanner(System.in);
//输入比赛成绩
String str = scan.next();
//判断
switch(str){
case "第一名":
System.out.println("奖励1个月马尔代夫旅游");
break;
case "第二名":
System.out.println("奖励苹果Pro笔记本电脑一部");
break;
case "第三名":
System.out.println("奖励移动硬盘一个");
break;
default:
System.out.println("铃原爱蜜莉通宵补课");
break;
}
}
}
七、Switch分支深入
7.1面试题
switch(97){
case 10:
System.out.println("10");
break;
case 50:
System.out.println("50");
break;
case 'a':
System.out.println("a");
break;
case 100:
System.out.println("100");
break;
default:
System.out.println("default代码块");
break;
}
7.2案列
import java.util.Scanner;
public class Test07{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入年:");
int year = scan.nextInt();
System.out.println("请输入月:");
int month = scan.nextInt();
int day = 0;//记录当月的天数
switch(month){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
day = 31;
break;
case 4:case 6:case 9:case 11:
day = 30;
break;
case 2:
if(year%4==0 && year%100!=0 || year%400==0){
day = 29;
}else{
day = 28;
}
break;
}
System.out.println(year + "年" + month + "当月的天数为" + day + "天");
/**
总结:判断单个值是否相同就使用switch
if vs switch
表达式的区别:
if:布尔类型
switch:byte、short、int、char、枚举、字符串
应用场景的区别:
if判断区间或复杂条件
switch判断单个值
*/
}
}
八、for循环
8.1语法结构
8.2理解
8.3执行步骤
8.4做实验
for(int i = 0;i<5;i++){
System.out.println("用良心做教育,做真实的自己");
}
8.5for变形记
8.6需求
for(int i = 1;i<=10;i++){
System.out.println(i);
}
for(int i = 1;i<=10;i+=2){
System.out.println(i);
}
for(int i = 10;i>0;i--){
System.out.println(i);
}
for(int i = 10;i>0;i-=2){
System.out.println(i);
}
for(;;){
System.out.println("用良心做教育,做真实的自己");
}
for(int i = 1;i>0;i++){
System.out.println("用良心做教育,做真实的自己");
}
8.6注意
8.7案列
Scanner scan = new Scanner(System.in);
int sum = 0;//总和
for(int i = 1;i<=5;i++){
System.out.println("请输入第" + i + "个数字:");
int num = scan.nextInt();
sum += num;//累加总和
}
System.out.println("总和为:" + sum);
Scanner scan = new Scanner(System.in);
double sum = 0;//总分
for(int i = 1;i<=5;i++){
System.out.println("请输入第" + i + "门成绩:");
double num = scan.nextDouble();
sum += num;//累加总和
}
//计算平均分
double avg = sum/5;
System.out.println("平均分为:" + avg);
Scanner scan = new Scanner(System.in);
//假设第一个数字就是最大值
System.out.println("请输入第1个数字:");
int max = scan.nextInt();
for(int i = 2;i<=5;i++){
System.out.println("请输入第" + i + "个数字:");
int num = scan.nextInt();
//如果输入的数字比max大,就把输入的数字赋值给max
if(max < num){
max = num;
}
}
System.out.println("最大值为:" + max);