1.if分支语句
什么是分支语句:具有选择判断的语句
生活中的选择结构:
上班:可以选择步行,打车,坐地铁
程序中的选择结构:
if单分支; if双分支; if多分支
1.1 if单分支
语法结构:
if(关系表达式){
语句体;
}
执行流程: 如果关系表达式为true, 则执行语句体;否则不执行
案例:如果罗水将同学考试优秀(85以上),则发红包; 否则,找老师补课
public class If1 { public static void main(String[] args) { //案例:如果罗水将同学考试优秀(85以上),则发红包; //分析:从控制台录入,通过整数类型变量接收分数 Scanner scanner = new Scanner(System.in); System.out.println("请输入水将的分数:"); int score = scanner.nextInt(); if(score>=85) { System.out.println("考试优秀,发红包~"); } } }
1.2 if双分支
//If双分支---if.else---2选1结构 public class If2 { public static void main(String[] args) { //案例:如果罗水将同学考试优秀(85以上),则发红包; 否则,请老师补课 Scanner scanner = new Scanner(System.in); System.out.println("请输入水将的分数:"); int score = scanner.nextInt(); if(score>=85) { System.out.println("考试优秀,发红包~~"); }else { System.out.println("考试不太优秀,请老师补课~~"); } } }
1.3 if多分支
public class If3 { public static void main(String[] args) { //if多分支: if,else.if...else{} ----->多选1 //案例:根据录入的分数,打印出对应等级 Scanner scanner = new Scanner(System.in); System.out.println("请输入你的分数:"); int score = scanner.nextInt(); //优化 //说明:多分支的判断,要么从大到小,要么从小到大判断范围 //注意:多选1,有一个条件成立了,则结束判断 if(score>=90) { //新手可以写全判断 System.out.println("A"); }else if(score>=80) {//隐含了小于90 System.out.println("B"); }else if(score>=70) {//隐含了小于80 System.out.println("C"); }else if(score>=60) {//隐含了小于70 System.out.println("D"); }else { //隐含了小于60 System.out.println("E"); } } }
2.switch分支结构
2.1 switch语法
public class Switch1 { public static void main(String[] args) { System.out.println("请输入星期(1~5):"); Scanner scanner = new Scanner(System.in); int week = scanner.nextInt(); switch(week) { case 1: System.out.println("龙虾火锅"); break; //跳出switch case 2: System.out.println("炒肉"); break; case 3: System.out.println("鸡腿"); break; case 4: case 5: //注意:如果两个匹配条件打印一致,则可以省略一个打印+break System.out.println("泡面"); break; default: System.out.println("输入有误~"); break; } } }
2.2 switch案例
public class Switch2 { public static void main(String[] args) { //案例:请输入月份,打印对应的天数(2月直接打印28天即可,无需判断)---switch System.out.println("请输入月份(整数值):"); Scanner scanner = new Scanner(System.in); int month = scanner.nextInt(); switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("31"); break; case 2: System.out.println("28"); break; case 4: case 6: case 9: case 11: System.out.println("30"); break; default: System.out.println("输入有误~"); break; } //if VS switch //相同点:都是用于匹配的条件判断的(分支语句) //应用场景不同: //if: 往往用于一个范围的判断,例如打印成绩的等级 //switch:用于等值判断, 例如月份的打印 //在jdk1.7之后,等值匹配的类型可以为: byte,short,int,char,String } }
2.3 switch匹配条件为String
public class Switch3 { public static void main(String[] args) { //switch的等值判断可以匹配String类型 //案例:匹配葫芦娃,打印对应的技能 System.out.println("请输入葫芦娃的名字:"); Scanner scanner = new Scanner(System.in); String name = scanner.next(); switch(name){ case "大娃": System.out.println("变大"); break; case "二娃": System.out.println("千里眼"); break; case "三娃": System.out.println("金刚娃"); break; case "四娃": System.out.println("喷火娃"); break; case "五娃": System.out.println("喷水娃"); break; case "六娃": System.out.println("隐身娃"); break; case "七娃": System.out.println("葫芦娃"); break; default: System.out.println("输入有误~"); break; } } }
3. 局部变量
public class Local1 { public static void main(String[] args) { //局部变量:前面基础语法中定义的变量,都是局部变量 //位置:定义在方法体中的变量,都叫做局部变量;特点:必须先赋值再使用 //作用域(有效范围):在定义处开始,到"}"结束前,都是变量的作用域 //变量重名问题:在同一个作用域下,不能出现同名的变量;否则冲突了 int a = 3; //定义变量 System.out.println(a); //The local variable a may not have been initialized //int a = 5; //Duplicate local variable a } }
4.循环语句
//循环概述:
//生活中的循环:重复性的做某一件事,且有结束的条件
//程序中的循环:重复性的执行某一段代码,且有退出的条件
4.1 while循环结构:
public class While1 { public static void main(String[] args) { //直接拷贝的方式--很繁琐,易出错 //System.out.println("祖国万岁"); //System.out.println("祖国万岁"); int i=1; //初始化语句,只执行一次 //int a = 3; //不是初始化语句 while(i<=10) { //条件判断 带值 System.out.println("祖国万岁..."+i); //循环体语句 i++; //增量语句 //a++; //不是增量语句 //注意: 只有跟条件判断有关的变量,才是初始化和增量语句 } } }
4.2 while案例
public class While2 { public static void main(String[] args) { //案例1:1+...100的总和 int i = 1; //初始化语句 int sum = 0; //记录总和 while(i<=100) { //条件判断 sum += i; //每次循环把值累加 循环体语句 i++; //增量语句 } System.out.println("和为:"+sum); //案例2:计算1~100的偶数和 i = 1; //初始化语句 sum = 0; //记录偶数和 while(i<=100) { //条件判断 if(i%2==0) { //循环体语句 sum += i; } i++; //增量语句 } System.out.println("偶数和:"+sum); } }
总结梳理:
每日必备单词:
1. relation [rɪˈleɪʃn] 关系 2.logic [ˈlɒdʒɪk] 逻辑
3.arithmetic [əˈrɪθmətɪk] 算数/算术 4.break [ breik ]中断
5. return [rɪˈtɜːn] 返回 6. console [kənˈsəʊl] 控制台
7.scanner [ 'skænə ]扫描仪 8. binary [ˈbaɪnəri] 二进制
9. octal ['ɒktəl] 八进制 10. decimal [ˈdesɪml] 十进制
11. hexadecimal[ˌheksəˈdesɪml]十六进制 12. assign [əˈsaɪn] 赋值/指定
13. expression [ɪkˈspreʃn] 表达式 14. input [ˈɪnpʊt] 输入
15. mismatch [ˌmɪsˈmætʃ] 不匹配 16. exception [ɪkˈsepʃn] 异常