Java基础04 分支语句

2024-09-04 20:38
文章标签 java 基础 04 语句 分支

本文主要是介绍Java基础04 分支语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

超详细的Java知识点路线图


前言

智慧生物都会想:如果XXX,我就XXX,人工智能也是这么发展来的。本文我们开始学习程序中的分支判断语句。
分支语句包括:

  • if语句
  • if-else语句
  • 多重if
  • 嵌套if
  • switch语句

if语句

语法结构:

if(条件){语句;
}

玩游戏时,判断如果对方英雄血量低于100,就过去打他,怎么用程序表示?
执行流程:在这里插入图片描述
练习1:完成上面的案例

int hp = 80;
//判断血量是否小于100,就进行攻击
if(hp < 100){System.out.println("赶快冲去打他");
}

练习2:说出下列代码的结果
1) 小括号后面不要加分号

int n = 1220;
if(n < 100);{System.out.println("n < 100");
}

2 ) 如果有多条语句,必须使用大括号括起来

if(n < 1000)System.out.println("test1......");System.out.println("test2......");

3)做相等判断时使用==,不是=

boolean b1 = false;
boolean b2 = true;
if(b2 = b1){System.out.println("相同.");
}

练习3 :定义年龄和性别变量,如果年龄大于等于18并且性别为"女" 输出“女大十八变”
注意:在对String变量的值进行相等判断时,应该使用equals方法

if( age >= 18 && sex.equals("女")){System.out.println("女大十八变!");
}

if-else语句

语法结构:

if(条件){语句1;
}else{语句2;
}

如果条件成立,就执行if后的语句1,如果不成立就执行else后面的语句2;

如果对方英雄血量低于100就过去追,否则就躲草里,怎么实现?
执行流程:
在这里插入图片描述
练习1:完成上面的案例

Scanner input = new Scanner(System.in);
System.out.println("请输入对方的HP:");
int hp = input.nextInt();
if(hp < 100){System.out.println("我们过去打他");
}else{System.out.println("我们躲在草丛里");
}

练习2:输入银行存款数额,超过100w就输出"老子不去上班了!!",否则输出“老板,996没问题的”

多重if语句

语法结构:

if(条件1){语句1;
}else if(条件2){语句2;
}else{缺省语句;
}

有N个条件,依次判断,只要有一个条件成立,执行条件后的语句然后结束,否则判断下一个条件。

如果对方攻击力超过100就找3个人打他,否则如果超过50就2个人打他,没有50就和他单挑。
流程图:
在这里插入图片描述

练习1:完成上面的案例

//1、定义攻击力变量
int attack;
//2、输入攻击力
Scanner input = new Scanner(System.in);
System.out.println("请输入对方的攻击力:");
attack = input.nextInt();
//判断攻击力是否超过100
if(attack > 100){System.out.println("我们三个一起过去打他");
}else if(attack > 50){//否则如果超过50就2个人打他System.out.println("找两个一起过去打他");
}else{//没有50就和他单挑。System.out.println("我过去跟他单挑");
}

练习2:从键盘输入考试分数

int score = ....; 
score >=90时输出:"学霸实在牛" 
score >=80...学神要加油 
score >=70....学民好害羞 
score >=60....学弱打酱油 
score <60.... 学渣泪在流

嵌套if语句

团战时如果血量超过200就参加战斗,血量不足200就退出战斗,战斗时魔法值超过300就放大招,不足300就物理攻击。

语法结构:
在一个if结构中,完整嵌入另一个if结构

if(外部条件){if(内部条件){语句;}else{语句;}
}else{语句;
}

执行流程:外部条件成立的情况下,才进行内部条件的判断
在这里插入图片描述

练习1:完成上面的案例

Scanner input = new Scanner(System.in);
System.out.println("输入血量:");
int hp = input.nextInt();
System.out.println("输入蓝量:");
int mp = input.nextInt();
//外层判断血量
if(hp > 200){//内层判断蓝量if(mp > 300){System.out.println("我放大招了!!");}else{System.out.println("我物理攻击!!");}
}else{System.out.println("兄弟们,我撤了");
}

练习2: 输入性别和年龄,如果性别为“男“,年龄超过65就可以退休,否则继续上班,
如果性别为”女“,年龄超过60就可以退休,否则继续上班

Scanner input = new Scanner(System.in);
System.out.println("输入性别");
String sex = input.next();
System.out.println("输入年龄");
int age = input.nextInt();
//外层判断性别
if(sex.equals("男")){//判断男的退休年龄if(age >= 65){System.out.println("老爹爹你可以退休了");}else{System.out.println("兄弟你还是好好上班吧");}
}else if(sex.equals("女")){//判断女的退休年龄if(age >= 60){System.out.println("老婆婆你可以退休了");}else{System.out.println("美女你还是好好上班吧");}
}else{System.out.println("你的性别出错了");
}

switch结构

语法:

switch(表达式或变量){case 值1:语句1;break;case 值2:语句2;break;....default:缺省语句;
}

switch的有关规则

  1. switch判断的表达式或变量的类型:byte\short\int\char\String\enum(枚举)
  2. break可以结束switch结构,break是可以省略,省略后执行完语句后会继续执行下一个case
  3. case后面的值不能重复
  4. default语句可以省略
  5. case的顺序可以颠倒

switch与多重if的比较:

  1. switch的运行流程和多重if一样,switch语法更加简洁
  2. switch只能用于判断单个值的,多重if可以判断一个范围

练习1:通过技能索引控制寒冰射手的技能,输入索引1,输出万箭齐发,输入索引2,输出鹰击长空,输入索引3,输出大招水晶箭。

Scanner scanner = new Scanner(System.in);
System.out.println("输入寒冰MM的技能:");
int skill = scanner.nextInt();
switch(skill){case 1:System.out.println("万箭齐发");break;case 2:System.out.println("鹰击长空");break;case 3:System.out.println("水晶箭");break;default:System.out.println("按错了");break;
}

练习2:模拟银行电话服务,输入1,提示”银行卡业务“;输入2,提示”信用卡业务“;输入3,提示”业务咨询“;输入4,提示”人工服务“,其它数字,提示”挂机“

结束

留作业了,做完这里就代表你掌握了今天的内容。

  1. 完成代码:
    输入手机价格
    超过5000就输出"去买IPHONE",否则输出“Android手机也行”
  2. 从键盘输入天气温度
    温度大于40时输出:“大家都熟了”
    温度在30到40间时输出:“我们只要空调、西瓜和WIFI”
    温度在20到30间时输出:“天气凉,可以浪”
    温度小于20时输出:“多穿衣服,免得感冒”
  3. 输入月份数字,输出该月份的一个节日。
  4. 实现简单的抽奖程序
    生成一个0到9之间的随机数,
    输入一个数字和随机数进行比较,
    输出是否中奖。
    使用随机数的方法:
    1 在定义class的前面加上
    import java.util.Random;
    2 获得随机数代码:
    Random rand = new Random();
    int number = rand.nextInt(10); //获得0~9之间的随机整数

大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

这篇关于Java基础04 分支语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136969

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input