一,流程控制语句---三大结构
顺序结构:编码写下来,就是按照顺序从上到下
分支语句:当流程执行下来的时候就会有多种情况,那么就会产生多种情况,也就是产生多种的分支,就是专门的流程控制语句控制分支
① if分支
简单if分支
语法 if(判断条件){满足条件执行的代码}
if...else分支
②switch选择
循环语句
for循环
while循环
do while 循环
二,简单的if分支
语法:if(逻辑条件){
执行
}
例子:
//导入scanner类import java.util.scannerpublic class Test01{//案例如果 成绩大于90 那么奖励豪华作业一套public static viod main(String[] args){Scanner sc = new Scanner(System.in);System.out.println("请输入成绩")//输入成绩int score = sc.nextInt();if(score>=90){System.out.println("奖励豪华作业一套")}}}
三,if...else分支
语法:if(逻辑条件){
满足逻辑条件执行的条件代码
}else{
不满足逻辑执行条件代码
}
例子:
//引入Scanner类import java.util.scanner;public class demo02{public static void main(String args){//如果一个用户的 用户名位admin 密码为123456//就可以跳转到首页 否则还是跳转到登陆页面Scanner sc = new Scanner(System.in);//创建Scannner对象//输入用户名System.out.println("请输入用户名");String userName = sc.next();System.out.println("请输入用户名密码");String userPassword = sc.next();if(userName.equals("admin") && userPassword.equals("123456")){System.out.println("欢迎"+userName+"进入首页");}else{System.out.println("请"+userName+"请重新输入");}}}
注意:在Java当中 == 比较的是内存地址,所有在以后的字符串比较当中不要使用== ,应该使用.equals ,基础数据类型,使用的就是==比较
四,多重if分支
4.1语法
if(逻辑条件){
满足逻辑条件
}else if(逻辑条件){
隐藏条件2,不满足1执行的
}else if(逻辑条件){
不满足条件1也不满足隐藏条件2执行的代码块
}else{
不满足以上所有条件的情况下执行代码块
}
import java.util.Scanner;public class demo{public static void main(String[] args){/*根据手上的余额选择购买的手机品牌如大于10000买个苹果 如果大于8000买个华为大于5000 买个小米大于3000 买个诺基亚否则 去公共电话*/System.out.println("请输入你余额");double money = sc.nextDouble();if(money>=10000){System.out.println("你可以买iphone14proMax");}else if(money>=8000){System.out.println("你可以买华为");}else if(money>=5000){System.out.println("你可以买小米12");}else if(money>=3000){System.out.println("你可以买个诺基亚");}else{System.out.println("没钱买就去公共电话厅")}}}
五,嵌套if分支
推荐if分支
语法:
if(逻辑条件1){
if(逻辑条件2){
满足条件1也满足条件2所执行的代码
}else{
满足条件1不满足满足条件2所执行的代码
}
}else{
不满足条件1所执行的代码(与条件2没有任何关系)
}
import java.util.Scanner;public class demo04{public static void main(String[] args){//案例 学校举行跑步的比赛 如果成绩在15s以内可以进入决赛//满足进了决赛的人 男生进入男子组反之女生进入女子组Scanner sc = new Scanner(System.in);System.out.println("请输入你的比赛完成时间");int score = sc.nextInt();if(score<15){System.out.println("请输入你的性别");String sex = sc.next();if(sex.equals("男")){System.out.println("恭喜你进入男子组决赛");}else{System.out.println("恭喜你进入女子组决赛");}}else{System.out.println("很遗憾你被淘汰了");}}}
六,分支语句的细节
① 注意:在Java当中 == 比较的是内存地址,所有在以后的字符串比较当中不要使用== ,应该使用.equals ,基础数据类型,使用的就是==比较
②注意:在if分支当中,大括号可以省略不写,但是不写大括号那么这个分支只能控制一行代码
③多重if当中,要尽量将苛刻的条件写在前面
七,switch分支
7.1switch的使用
选择分支结构:
switch当中的值:byte short char int String 枚举类型
switch(值){
case 值1:
switch中的值与值1相等时执行的代码
break;
case 值2:
switch中的值与值2相等时执行的代码
break;
//同上无长度限制
}
例子:
import java.util.Scannerpublic class demo{public static void main(String[] args){/*案例:选择1:查询操作选择2:增加操作选择3:删除操作选择4:修改操作选择5:退出系统选择其他:提示输入有误*/System.out.println("请输入你的选择");Scanner sc = new Scanner(System.in);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,在使用当中值的类型:byte int short long char String 枚举类型(这是常用的)等
2,在使用switch分支当中 case的值不运行重复
3,在switch当中break就表示结束当前switch语句
break可以省略不写,但是不写的话switch会一直往下执行 直到遇到break
4,switch与多重if的区别
在多重if当中可以做关系运算,在switch当中只能做等值判断
package com.qfedu;import java.util.Scanner;public class wend{public static void main(String[] args){System.out.println("请输入你的选择");Scanner sc = new Scanner(System.in);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;default:System.out.println("你的输入有误,请重新输入");break;}}}