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

一、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)

   

   

   

   

猜你喜欢

转载自www.cnblogs.com/xlfcjx/p/10770462.html