一、控制流程语句
a、顺序语句
b、分支语句
。if 分支
。switch 选择
c、循环语句
。for 循环
。while 循环
。do while 循环
二、简单if分支语句
简单的if分支
语法:
if(逻辑条件(boolean类型)){
满足逻辑条件执行的代码
}
案例:如果成绩大于90,奖励豪华作业题一套
案例:如果年龄大于65,可以领取养老金
案例:如果身高大于180,且体重小于180,就可以当模特
//案例1:如果成绩大于90,奖励豪华作业题一套
System.out.println("请输入你的成绩");
int score = sc.nextInt();
if(score > 90){
System.out.println("奖励豪华作业题一套");
}
System.out.println("执行吗?");
//案例2:如果年龄大于65,可以领取养老金
System.out.println("请输入你的年龄");
int age = sc.nextInt();
if(age >= 65){
System.out.println("领取养老金");
}
//案例3:如果身高大于180,且体重小于180,就可以当模特
System.out.println("请输入你的身高");
int height = sc.nextInt();
System.out.println("请输入你的体重");
int weight = sc.nextInt();
if(height > 180 && weight < 180){
System.out.println("可以当模特");
}
三、if.....else分支
语法
if(逻辑条件){
满足逻辑条件执行的代码
} else{
不满足逻辑条件执行的代码
}
案例:如果用户名为admin、密码为123456,则跳转首页,否则跳转登录页面
案例:如果身上余额大于100元。中午吃饭加个鸡腿,否则泡面
//案例:如果用户名为admin、密码为123456,则跳转首页,否则跳转登录页面
System.out.println("请输入用户名");
String username = sc.next();
System.out.println("请输入密码");
String password = sc.next();
if(username.equals("admin") && password.equals("123456")){
System.out.println("跳转首页");
}else{
System.out.println("跳转登录页面");
}
//案例:如果身上余额大于100元。中午吃饭加个鸡腿,否则泡面
System.out.println("请输入你的余额");
double money = sc.nextDouble();
if(money > 100){
System.out.println("加个鸡腿");
}else{
System.out.println("泡面");
}
四、多重if分支
语法:
if(逻辑条件1){
满足逻辑条件1执行的代码
}else if(逻辑条件2){ //隐藏条件(不满足条件1)
满足逻辑条件2执行的代码
}else if(逻辑条件3){ //隐藏条件(不满足条件1、2)
满足逻辑条件3执行的代码
}else{
不满足以上所有逻辑条件执行的代码
}
案例:
根据手上的余额选择购买的手机品牌
如果大于10000, 买个苹果
如果大于7000, 买个华为
如果大于5000,买个小米
如果大于3000,买个诺基亚
否则,去打公共电话
System.out.println("请输入余额");
int money = sc.nextInt();
if(money > 10000){
System.out.println("苹果手机");
}else if(money > 7000){ //money <= 10000
System.out.println("华为手机");
}else if(money > 5000){
System.out.println("小米手机");
}else if(money > 3000){
System.out.println("诺基亚手机");
}else{
System.out.println("打公共电话");
}
五、嵌套if分支
嵌套if分支
语法:
if(逻辑条件1){
if(逻辑条件2){
满足逻辑条件1且满足条件2执行的代码
}else{
满足逻辑条件1但是不满足条件2执行的代码
}
}else{
不满足逻辑条件1执行的代码
}
}
案例:学校举行跑步比赛,如果成绩在15秒以内,可以进入决赛,男的进入男子组决赛,女的进入女子组决赛
//学校举行跑步比赛,如果成绩在15秒以内,可以进入决赛,男的进入男子组决赛,女的进入女子组决赛
System.out.println("请输入你的比赛成绩");
double score = sc.nextDouble();
if(score < 15){
System.out.println("请输入你的性别");
String sex = sc.next();
if(sex.equals("男")){
System.out.println("恭喜进入男子组");
}else{
System.out.println("恭喜进入女子组");
}
}else{
System.out.println("很遗憾你被淘汰了!!!");
}
六、分支语句细节
注意1:
在Java中 == 比较的是内存地址,String类的equals比较的是内容;
基本数据类型使用 ==比较
String类型使用equals比较
注意2:
在if分支中,大括号可以省略不写,但是如果不写大括号,那么这个if分支只能控制一行代码 你不要这么写
注意3:
多重if中要将苛刻条件写前面
七、Switch分支
7.1 switch分支使用
选择分支结构:
switch中的值:byte short int char String 枚举类型
switch(值){
case 值1:
switch中的值与值1相等时候执行的代码
break;
case 值2:
switch中的值与值2相等时候执行的代码
break;
case 值3:
switch中的值与值3相等时候执行的代码
break;
case 值4:
switch中的值与值4相等时候执行的代码
break;
default:
switch中的值与以上所有值都不相等时候执行的代码
break;
}
案例: 选择1:查询操作
选择2:增加操作
选择3:删除操作
选择4:修改操作
选择5:退出系统
选择其他:提示输入有误
System.out.println("请输入你的选择");
int option = sc.nextInt();
switch(option){
case 1:
System.out.println("查询操作");
break;
case 2:
System.out.println("增加操作");
break;
case 3:
System.out.println("删除操作");
break;
case 4:
System.out.println("修改操作");
break;
case 5:
System.out.println("退出系统");
break;
default:
System.out.println("输入有误");
break;
}
7.2switch分支细节
switch使用细节:
1、在switch中值的类型:byte short int char String 枚举类型
2、在switch中case值不允许重复
3、在switch中break表示结束当前switch语句
break可以省略不写,如果省略那么switch会一直往下执行,直到遇到下一个break;
4、switch和多重if的区别:
多重if中可以做关系运算,在swtich中只能做等值判断
案例:(要求选择A和a是一样的结果)
选择A: 好评
选择B: 一般
选择C: 良好
选择D: 差评
System.out.println("请输入你的选择");
String option = sc.next();
switch(option){
case "a":
case "A":
System.out.println("好评");
break;
case "b":
case "B":
System.out.println("一般");
break;
case "c":
case "C":
System.out.println("良好");
break;
case "d":
case "D":
System.out.println("差评");
break;
}
八、练习
简单if、if...else练习
1、输入年龄,如果年龄大于18周岁,输出可以进入网吧上网
2、输入一个年份,判断这个年份是否是闰年,如果是输出闰年,如果不是输出平年
3、如果java成绩大于90且sql成绩大于85,或者音乐成绩等于100且语文大于95, 输出奖励一个 华为手机。否则输出晚自习增加一个小时
多重if、嵌套if练习
1、如果成绩大于90 优秀 80 良好 70 中等 60 及格 小于60 不及格
2、商场做活动,满300可以打折,会员打8折,非会员打9折,输出消费金额
switch练习
1、定义一个季节,打印这个季节有哪几个月
2、输入月份,打印这个月份是什么季节
3、把之前做的90优秀这个题用switch实现