java流程控制之分支判断

一、流程控制
1、分支
2、循环
3、跳转语句 break continue return

二、语法格式
if分支
    1、单if版
        if(条件){
            条件成立才会执行
        }
    2、双人组合  if else
        if(条件){
            条件成立才会执行
        }else{
            条件不成立,执行这里
        }
        注意:两个分支绝对只会走其中一路
        
    3、团体组合 if   else if...   else
        if(条件1){
            条件1成立才会执行
        }else if(条件2){
            条件2成立才会执行
        }else if(条件n){
            条件n成立才会执行
        }
        注意:这么多分支绝对只会走其中一路
        
# 案例1   商品换购系统

package stu;

import java.util.Scanner;

public class Stu01 {
	public static void main(String[] args) {
		System.out.println("==欢迎使用商品换购系统==");
		System.out.println("请输入消费金额:");
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt();
		if (a >= 100) {
			System.out.println("恭喜你获得换购资格!!!");
			System.out.println("选项1:+1元换购鼠标");
			System.out.println("选项2:+5元换购键盘");
			System.out.println("选项3:+10元换购充电宝");
			System.out.println("选项4:+20元换购移动硬盘");
			System.out.println("请输入换购选项:");
			Scanner h1 = new Scanner(System.in);
			int b = scan.nextInt();
			if (b == 1) {
				System.out.println("换购鼠标成功,最终消费" + (a + 1) + "元。");
			} else if (b == 2) {
				System.out.println("换购键盘成功,最终消费" + (a + 5) + "元。");
			} else if (b == 3) {
				System.out.println("换购充电宝成功,最终消费" + (a + 10) + "元。");
			} else if (b == 4) {
				System.out.println("换购移动硬盘成功,最终消费" + (a + 20) + "元。");
			} else {
				System.out.println("输入错误,失去换购资格!!!");
			}
		} else if (a >= 0 && a < 100) {
			System.out.println("消费金额不足,无法换购");
		} else {
			System.out.println("金额输入错误,再见!!!");
		}
	}
}


# 案例 2 猜拳游戏

package stu;

import java.util.Random;
import java.util.Scanner;

public class Stu02 {
	public static void main(String[] args) {
		System.out.println("--欢迎来到猜拳游戏--");
		System.out.println("请出拳:1-石头 2-剪刀 3-布");
		Scanner scan = new Scanner(System.in);
		int a=scan.nextInt();
		
		Random ran = new Random();
		int b=ran.nextInt(3)+1;
		if(a>0 && a<4) {
			if(a==1) {
				if(b==1) {
					System.out.println("玩家出:石头");
					System.out.println("电脑出:石头");
					System.out.println("平局!");
				}else if(b==2){
					System.out.println("玩家出:石头");
					System.out.println("电脑出:剪刀");
					System.out.println("恭喜玩家获胜!");
				}else {
					System.out.println("玩家出:石头");
					System.out.println("电脑出:布");
					System.out.println("电脑胜!");
				}
			}else if(a==2) {
				if(b==1) {
					System.out.println("玩家出:剪刀");
					System.out.println("电脑出:石头");
					System.out.println("电脑胜!");
				}else if(b==2){
					System.out.println("玩家出:剪刀");
					System.out.println("电脑出:剪刀");
					System.out.println("平局!");
				}else {
					System.out.println("玩家出:剪刀");
					System.out.println("电脑出:布");
					System.out.println("恭喜玩家获胜!");
				}
			}else {
				if(b==1) {
					System.out.println("玩家出:布");
					System.out.println("电脑出:石头");
					System.out.println("恭喜玩家获胜!");
				}else if(b==2){
					System.out.println("玩家出:布");
					System.out.println("电脑出:剪刀");
					System.out.println("电脑胜!");
				}else {
					System.out.println("玩家出:布");
					System.out.println("电脑出:布");
					System.out.println("平局!");
				}
			}
		}else {
			System.out.println("出拳有误!!!");
		}
	}
}


switch分支
格式:
    switch(条件){
        case 值1:
            如果值1匹配上条件的结果,就执行这里的代码
            break;
        case 值2:
            如果值2匹配上条件的结果,就执行这里的代码
            break;
        case 值3:
            如果值3匹配上条件的结果,就执行这里的代码
            break;
        case 值4:
            如果值4匹配上条件的结果,就执行这里的代码
            break;
        case 值5:
            如果值5匹配上条件的结果,就执行这里的代码
            break;
        default:
            以上值都不匹配,就执行这里的代码
            break;
    }
    注意:
    1.条件结果的类型绝对不是布尔类型,必须是 byte short int char 的一种
      到了jdk8,还支持 String 枚举
    2.case的值不能重复
    3.break在switch中代表结束当前switch分支


   三、从控制台输入int型整数   
    控制台扫描对象 Scanner scan = new Scanner(System.in);
    使用;scan.nextInt()  控制台会等待用户输入一个int类型的整数
            scan.nextDouble()  输入浮点数
            scan.next()  输入字符串
    如果用户不输入,控制台会一直等待,直到用户输入后按回车,程序才会继续运行
    
    穿透现象:当switch中匹配好条件后遇到break就会结束
    如果没有break,就会继续往下执行,直到全部结束或者遇见break


    四、生成一个随机数

        Random ran = new Random();
        ran.nextInt(n);  n>0  随机一个0~n-1之间的数
        ran.nextInt(100)+1;  1~100
    
支线任务:
    1.什么是java的枚举

        Java 枚举(enum)是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号, 来分割。
    2.if和switch各自的使用场景

if :
        1、具体的值进行判断
        2、区间的判断
        3、对运算的结果是boolean类型表达式进行判断 true false

switch:
        1、对具体的值进行判断
        2、值的个数是固定的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值