流程控制(分支)
一、流程控制语句 三大结构
- 顺序语句 编码写下来 就是按照顺序从上至下
- 分支语句 当流程执行下来的时候就会有多种情况也就是产生多种分支,有专门的流程控制语句控制分支
- if分支
- 语法:if(判断条件){满足条件执行的代码}
- if…else分支
- switch选择
- if分支
- 循环语句
- for循环
- while循环
- do while循环
二、简单的if分支语句
3.1语法:
if(条件表达式) {
//语句
}
案例
- 如果成绩大于90那么获得豪华作业一套
//引入Scanner类
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Scanner sc = mew Scanner(System.in);
//输入成绩
int score = sc.nextInt();
//判断
if(score>==90){
System.out.println("奖励豪华作业一套");
}
}
}
三、if…else分支
3.1语法
if(条件表达式) {
//语句1
} else {
//语句2
}
案例
-
如果一个用户的用户名为:admin 密码:为123456 就可以跳转到首页否则还是跳转到登录页面
-
//引入Scanner类 import java.util.Scanner; public class Demo{ public static void main(String[] args){ //创建Scanner对象 Scanner sc = mew Scanner(System.in); System.out.println("请输入用户名:"); String userName=sc.next(); System.out.println("请输入密码:"); String userPassWord=sc.next(); if(userName.equals("admin")&&userPassWord.equals("123456")){ System.out.println("成功"); } else{ System.out.println("失败"); } } }
注意:在Java当中 = = 比较的是内存地址,在以后的字符串比较当中不要使用 = = 应该使用.equals。基本数据类型使用的是==。
-
四、多重if分支
4.1语法
if(条件表达式1) {
//语句1
} else if(条件表达式2) {
//语句2
} else if(条件表达式3) {
//语句3
} else {
//语句4
}
案例
根据手上的余额选择购买的手机品牌
/*
大于10000买苹果
大于8000买个苹果
大于5000买个小米
大于3000买个诺基亚
否则 去公用电话
*/
//引入Scanner类
import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Scanner sc = mew Scanner(System.in);
System.out.println("请输入余额:");
//RMB代表余额
Double RMB=sc.nextDouble();
if(RMB>=10000){
System.out.println("买苹果");
}else if(RMB>=8000){
System.out.println("买华为");
}else if(RMB>=5000){
System.out.println("买小米");
}else if(RMB>=3000){
System.out.println("诺基亚");
}else{
System.out.println("公用电话");
}
}
}
五、嵌套if分支
5.1语法
if(条件表达式1) {
if(条件表达式2) {
//满足条件1 也满足条件2 所执行的语句
}else{
//满足条件1 不满足条件2 所执行的语句
}
}else{
//不满足条件1执行的语句
}
案例
import java.util.Scanner;
public class Demo {
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分支只能控制一行代码
- 在多重if分支当中要将苛刻的条件放在前面
七、switch分支
7.1switch的使用
选择分支结构:
switch当中的值:byte short int String 枚举类型
switch(关系表达式) {
case 常量1:
//语句1
break;
case 常量2:
//语句2
break;
case 常量3:
//语句3
break;
default:
//默认语句
break;
}
案例
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
/*
* 案例:
* 选择1:查询操作
* 选择2:增加操作
* 选择3:删除操作
* 选择4:修改操作
* 选择5:退出系统
* 选择其他:提示输入有误
* */
Scanner sc =new Scanner(System.in);
//创建Scanned对象
System.out.println("输入1-5:");
int num = sc.nextInt();
switch (num){
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("输入错误");
}
}
}
7.2switch分支使用细节
- 在使用当中值的类型:byte short int char String 枚举类型
- 在switch分支当中case的值不能重复
- 在switch当中break表示结束当前switch语句
- break可以省略不写,如果不写switch一直往下执行知道遇到break或者switch结束
- switch与多重if的区别
- 在多重if当中可以左关系运算,在switch中只能做等值判断
案例
选择A 好评
选择B 一般
选择C良好
选择D差评
(要求不区分大小写)
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
//创建Scanned对象
System.out.println("输入A-D:");
String num = sc.next();
switch (num){
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("输入错误");
}
}
}
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
//创建Scanned对象
System.out.println("输入A-D:");
String num = sc.next();
if(num.equals("A")||num.equals("a")){
System.out.println("好评!");
}else if(num.equals("B")||num.equals("b")){
System.out.println("一般");
}else if(num.equals("C")||num.equals("c")){
System.out.println("良好");
}else if(num.equals("D")||num.equals("d")){
System.out.println("差评!");
}else{
System.out.println("请输入A-D");
}
}
}