一、if

if(表达式1){

表达式2;

}

如果表达式1的值是true,

就执行表达式2

public class HelloWorld {

public static
void main(String[] args) {

boolean b = true;

//如果成立就打印yes

if(b){

System.out.println("yes");

}

}

}

二、多表达式与一个表达式

public class HelloWorld {

public static
void main(String[] args) {

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
void main(String[] args) {

boolean b = false;

if (b)

System.out.println("yes");

else

System.out.println("no");

}

}

五、else if

else if 是多条件判断

public class HelloWorld {

public static
void main(String[] args) {

//如果只使用 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
void main(String[] args) {

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
void main(String[] args) {

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
float getBMI(Object object){//方法必须是静态的,才能在主方法main中调用。

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的更多相关文章

  1. Java知识系统回顾整理01基础05控制流程06break

    一.break break:结束循环 二.练习--直接结束当前for循环 public class HelloWorld { public static void main(String[] args ...

  2. Java知识系统回顾整理01基础05控制流程07结束外部循环

    一.break是结束当前循环 二.结束当前循环实例 break; 只能结束当前循环 public class HelloWorld { public static void main(String[] ...

  3. Java知识系统回顾整理01基础05控制流程04 for

    一.for 比较for和while public class HelloWorld { public static void main(String[] args) { //使用while打印0到4 ...

  4. Java知识系统回顾整理01基础05控制流程03 while

    while和do-while循环语句 一.while:条件为true时 重复执行 只要while中的表达式成立,就会不断地循环执行 public class HelloWorld { public s ...

  5. Java知识系统回顾整理01基础05控制流程02 switch

    一.switch switch 语句相当于 if else的另一种表达方式 switch可以使用byte,short,int,char,String,enum 注: 每个表达式结束,都应该有一个bre ...

  6. Java知识系统回顾整理01基础05控制流程08综合练习

    一.练习--黄金分割点 题目: 寻找某两个数相除,其结果 离黄金分割点 0.618最近 分母和分子不能同时为偶数 分母和分子 取值范围在[1,20] (即1到20) 要求效果: public clas ...

  7. Java知识系统回顾整理01基础05控制流程05 continue

    continue:继续下一次循环 一.continue 题目: 如果是双数,后面的代码不执行,直接进行下一次循环 要求效果: 答案: public class HelloWorld { public ...

  8. Java知识系统回顾整理01基础04操作符05赋值操作符

    一.赋值操作 赋值操作的操作顺序是从右到左 int i = 5+5; 首先进行5+5的运算,得到结果10,然后把10这个值,赋给i public class HelloWorld { public s ...

  9. Java知识系统回顾整理01基础03变量05变量命名规则

    一.命名规则 变量命名只能使用字母 .数字. $. _ 变量第一个字符 只能使用: 字母. $. _ 变量第一个字符 不能使用数字 注:_ 是下划线,不是-减号或者-- 破折号 int a= 5; i ...

随机推荐

  1. Python 逆向抓取 APP 数据

    今天继续给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如 Android 端的代码写完一般会进行打包并混淆加密加固 ...

  2. 《spring源码解读》 - IoC 之解析 import 标签

    在上一文中我们分析了注册 BeanDefinition 的过程,在其中我们了解到在解析跟节点和子节点时分两种情况,对于默认名称空间的标签我们通过 DefaultBeanDefinitionDocume ...

  3. laravel在视图中使用类似于“__PUBLIC__”,“__UPLOADS__”的操作

    首先在config文件夹下建立static.php文件 然后在里面定义常量 例: <?php define('__PUBLIC__', '/'); define('__UPLOADS__', ' ...

  4. HTTPS的简介

    一.什么是HTTPS HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版.现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面. HTTPS主要作用是: (1) ...

  5. 在Notepad++下运行ruby代码

    轻量级,轻量级,所以用notepad++来运行ruby的代码最合适不过了,虽说有更好用的轻量级工具,但是用notepad++习惯了,也懒得去再装其他工具了.好了,进入主题,先安装插件NppExec,打 ...

  6. 记一次内存飙升的Windbg

    背景 突然间接到运维的报警,我们一个服务,内存找过了6GB的占用.才6GB 也不是很大,因为在处理别的事情,服务dump一下暂时一放,然后半小时之后,接到了运维的Kafka堆积报警.然后切换着重启了一 ...

  7. 解决ORA-00257无法删除用户

    今日早晨在客户反馈不能登陆系统了,查看oracle日志.发现如下错误ORA-00257: archiver error. Connect internal only, until freed.该错误是 ...

  8. PDF启动增加字段

    ALTER TABLE `cnoa_system_fs` ADD `reviewStatus` INT(1) NOT NULL DEFAULT '0' AFTER `isArchive`;ALTER  ...

  9. Promise核心实现

    核心 构造函数核心 维护状态变量,只能由pending变为resolve或者reject 维护一个存储结果的变量 维护一个回调数组,执行到then,如果我们传入的立即执行函数没有立即执行resolve ...

  10. Spring AOP-用代理代替繁琐逻辑

    Spring AOP 基础概念 AOP 是一种面向切面的编程思想,通俗来讲,这里假如我们有多个方法. @Component public class Demo { public void say1() ...