一,流程控制语句---三大结构
顺序结构:编码写下来,就是按照顺序从上到下
分支语句:当流程执行下来的时候就会有多种情况,那么就会产生多种情况,也就是产生多种的分支,就是专门的流程控制语句控制分支
① if分支
简单if分支
语法 if(判断条件){满足条件执行的代码}
if...else分支
②switch选择
循环语句
for循环
while循环
do while 循环
二,简单的if分支
语法:if(逻辑条件){
执行
}
例子:
//导入scanner类
import java.util.scanner
public 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.Scanner
public 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;
}
}
}