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] 异常



