Java知识系统回顾整理01基础05控制流程01if
一、if
if(表达式1){ 表达式2; } |
如果表达式1的值是true,
就执行表达式2
public class HelloWorld { public static boolean b = true; //如果成立就打印yes if(b){ System.out.println("yes"); } } } |
二、多表达式与一个表达式
public class HelloWorld { public static boolean b = false; //如果有多个表达式,必须用大括弧包括起来 if(b){ System.out.println("yes1"); System.out.println("yes2"); System.out.println("yes3"); } //否则表达式2 3 无论b是否为true都会执行 if(b) System.out.println("yes1"); System.out.println("yes2"); System.out.println("yes3"); //如果只有一个表达式可以不用写括弧,看上去会简约一些 if(b){ System.out.println("yes1"); } if(b) System.out.println("yes1"); } } |
三、if避免踩坑
if 使用过程中可能遇到的坑:
在第6行,if后面有一个分号; 而分号也是一个完整的表达式;
(所以if 的条件成了判断是否执行分号的条件了)
如果b为true,会执行这个分号,然后打印yes
如果b为false,不会执行这个分号,然后打印yes
这样,看上去无论如何都会打印yes
所以为了避免踩坑,严谨认真的代码风格很重要。一般情况下,该加括号加括号。不要为了偷懒造成不必要的麻烦。
四、if else
else 代表不成立的情况
public class HelloWorld { public static boolean b = false; if (b) System.out.println("yes"); else System.out.println("no"); } } |
五、else if
else if 是多条件判断
public class HelloWorld { public static //如果只使用 if,会执行4次判断 int i = 2; if (i==1) System.out.println(1); if (i==2) System.out.println(2); if (i==3) System.out.println(3); if (i==4) System.out.println(4); //如果使用else if, 一旦在18行,判断成立, 20行和22行的判断就不会执行了,节约了运算资源 if (i==1) System.out.println(1); else if (i==2) System.out.println(2); else if (i==3) System.out.println(3); else if (i==4) System.out.println(4); } } |
六、练习--BMI
题目:
使用Scanner收集你的身高体重,并计算出你的BMI值是多少
BMI的计算公式是 体重(kg) / (身高*身高)
比如邱阳波的体重是72kg, 身高是1.69,那么这位同学的BMI就是
72 / (1.69*1.69) = ?
然后通过条件判断BMI的范围,打印出是超重还是正常
要求效果:
官方答案:
import java.util.Scanner; public class HelloWorld { public static Scanner s = new Scanner(System.in); System.out.println("请输入身高(m):"); float height = s.nextFloat(); System.out.println("请输入体重(kg):"); float weight = s.nextFloat(); float BMI = weight / (height * height); System.out.println("当前的BMI是: " + BMI); String status = ""; if (BMI < 18.5) status = "体重过轻"; else if ( BMI < 24) status = "正常范围"; else if (BMI < 27) status = "体重过重"; else if (BMI < 30) status = "轻度肥胖"; else if (BMI < 35) status = "中度肥胖"; else status = "重度肥胖"; System.out.println("身体状态是: " + status); } } |
个人整理答案:
public class Operator01A { public static Operator01 person = new Operator01(); float urBMI = getBMI(person); if (urBMI<18.5) { System.out.println("您的BMI指数为:"+ urBMI+",您的体重过轻"); }else if (urBMI < 24) { System.out.println("您的BMI指数为:"+ urBMI+",您的体重处于正常范围"); }else if (urBMI < 27) { System.out.println("您的BMI指数为:"+ urBMI+",您的体重超重"); }else if (urBMI < 30) { System.out.println("您的BMI指数为:"+ urBMI+",您处于轻度肥胖状态"); }else if (urBMI < 35) { System.out.println("您的BMI指数为:"+ urBMI+",您处于中度肥胖状态"); }else { System.out.println("您的BMI指数为:"+ urBMI+",您重度肥胖,急需减肥"); } } public static Scanner scanner = new Scanner(System.in); System.out.println("请输入您的身高(m):"); float bodyHeight = scanner.nextFloat(); System.out.println("请输入您的体重(kg):"); float bodyWeight = scanner.nextFloat(); float BMI = bodyWeight/(bodyHeight*bodyHeight); return BMI; } } |
七、练习--闰年
题目:
判断某一年是否为闰年
通过Scanner输入一个年份,然后判断该年是否是闰年
闰年判断标准(满足任何一个)
1. 如果能够被4整除,但是不能被100整除
2. 能够被400整除
要求效果:
官方答案:
核心代码:
if ( (0 == year % 4 && 0 != year % 100) || 0 == year % 400)
Java知识系统回顾整理01基础05控制流程01if的更多相关文章
- Java知识系统回顾整理01基础05控制流程06break
一.break break:结束循环 二.练习--直接结束当前for循环 public class HelloWorld { public static void main(String[] args ...
- Java知识系统回顾整理01基础05控制流程07结束外部循环
一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...
- Java知识系统回顾整理01基础05控制流程04 for
一.for 比较for和while public class HelloWorld { public static void main(String[] args) { //使用while打印0到4 ...
- Java知识系统回顾整理01基础05控制流程03 while
while和do-while循环语句 一.while:条件为true时 重复执行 只要while中的表达式成立,就会不断地循环执行 public class HelloWorld { public s ...
- Java知识系统回顾整理01基础05控制流程02 switch
一.switch switch 语句相当于 if else的另一种表达方式 switch可以使用byte,short,int,char,String,enum 注: 每个表达式结束,都应该有一个bre ...
- Java知识系统回顾整理01基础05控制流程08综合练习
一.练习--黄金分割点 题目: 寻找某两个数相除,其结果 离黄金分割点 0.618最近 分母和分子不能同时为偶数 分母和分子 取值范围在[1,20] (即1到20) 要求效果: public clas ...
- Java知识系统回顾整理01基础05控制流程05 continue
continue:继续下一次循环 一.continue 题目: 如果是双数,后面的代码不执行,直接进行下一次循环 要求效果: 答案: public class HelloWorld { public ...
- Java知识系统回顾整理01基础04操作符05赋值操作符
一.赋值操作 赋值操作的操作顺序是从右到左 int i = 5+5; 首先进行5+5的运算,得到结果10,然后把10这个值,赋给i public class HelloWorld { public s ...
- Java知识系统回顾整理01基础03变量05变量命名规则
一.命名规则 变量命名只能使用字母 .数字. $. _ 变量第一个字符 只能使用: 字母. $. _ 变量第一个字符 不能使用数字 注:_ 是下划线,不是-减号或者-- 破折号 int a= 5; i ...
随机推荐
- 微信小程序如何快速开通流量主
1.先开发小程序,小程序需要有亮点,毕竟新颖(这样别人才更好去点击查看) 2.条件是独立访客(UV)不低于1000,1000人说多不多,说少也不少,因为小程序是没有链接的,是不可以进行一个流量刷取的, ...
- Jigsaw pre-training:摆脱ImageNet,拼图式主干网络预训练方法 | ECCV 2020
Jigsaw pre-training以拼图的方式从检测数据集中生成用于主干网络预训练的数据集,而不需要额外的预训练数据集,如ImageNet.另外为了让网络更好的适应拼图数据,论文提出ERF-ada ...
- 特性预览:Apache 顶级项目 Apache Pulsar 2.6.1 版本
在正式分享 2.6.1 版本更新细节之前,冉小龙首先为我们分享了两个相关 PIP 的内容. 一个是 PIP-47 中关于「基于时间来进行版本更新」的计划.该 PIP 提出后,从 2.5.0 版本到目前 ...
- 如何设置Tomact的标题,运行Tomcat显示为自己程序的命名
当我们使用Tomcat部署好一个web系统后,在窗口处默认会显示Tomcat名字.但如果我们用多个Tomcat部署时,则需要区分这些窗口,这是需要修改Tomact的配置,来设置一个我们需要显示的标题. ...
- 《神经网络的梯度推导与代码验证》之vanilla RNN前向和反向传播的代码验证
在<神经网络的梯度推导与代码验证>之vanilla RNN的前向传播和反向梯度推导中,我们学习了vanilla RNN的前向传播和反向梯度求导,但知识仍停留在纸面.本篇章将基于深度学习框架 ...
- Nginx之rewrite使用
rewrite regex replacement [flag]; flag=[break/last/redirect/permanent] ² regex 是正则表达式 ² replacement ...
- Docker Compose 搭建 Redis Cluster 集群环境
在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...
- pwnable.kr之fd
题目如图: 在终端输入:ssh fd@pwnable.kr -p2222 连接到远程终端,如图: 输入ls -l,查看文件: 输入whoami,查看自身用户名称: 根据题目意思我们只要打开flag文件 ...
- Java审计之SQL注入篇
Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 ...
- 8.ffmpeg-基础常用知识
1.封装格式MPEG-4其中 MPEG-1 和 MPEG-2 是采用相同原理为基础的预测编码.变换编码. 熵编码及运动补偿等第一代数据压缩编码技术:MPEG-4(ISO/IEC 14496)则是基于第 ...