float和double使用注意问题

注意区别,从原始角度出发

1.  float单精度, double是双精度(double更细)

2. 那么必然double类型会更占空间(8字节),(float,4个字节)

3.就会导致CPU处理两种类型的速度出现差异(float,小,就更快),(double大,慢一点)

那么可以得出,当我们对精度要求非常高,不能因为丢失精度而导致一点点误差,就必须用double类型来定义数据。

练习:

然后通过条件判断BMI的范围,打印出是超重还是正常
 * BMI<18.5     过轻
 * 18.5<=BMI<24  正常
 * 24<=BMI<27  过重
 * 27<=BMI<30  轻度肥胖
 * 30<=BMI<35  中度肥胖
 * 35<=BMI     重度肥胖

可以自己测试一下,算出来的BMI,double会比float小数点后尾数更多。(精度更高)

package org.example;

import java.util.Scanner;
/**
 * Description
 * Create by ${USER}
 * Date ${DATE} ${TIME}
 */

/**
 * 使用Scanner收集你的身高体重,并计算出你的BMI值是多少
 *
 * BMI的计算公式是 体重(kg) / (身高*身高)
 *
 * 比如xx的体重是72kg, 身高是1.69m,那么这位同学的BMI就是
 * 72 / (1.69*1.69) = ?
 *
 * 然后通过条件判断BMI的范围,打印出是超重还是正常
 * BMI<18.5     过轻
 * 18.5<=BMI<24  正常
 * 24<=BMI<27  过重
 * 27<=BMI<30  轻度肥胖
 * 30<=BMI<35  中度肥胖、
 * 35<=BMI     重度肥胖
 */
public class Main {
    public static void main(String[] args) {
//        double BMI=0.0;
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("请输入身高(m):");
//        double tall = scanner.nextDouble();
//        System.out.println("请输入体重(kg):");
//        double weight = scanner.nextDouble();
        float BMI=0f;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入身高(m):");
        float tall = scanner.nextFloat();
        System.out.println("请输入体重(kg):");
        float weight = scanner.nextFloat();
        BMI=weight/(tall*tall);
        System.out.println("当前你的BMI是"+BMI);
        if(BMI<18.5){
            System.out.println("体重过轻");
        }
        else if (BMI>18.5 & BMI<24){
            System.out.println("正常范围");
        }
        else if(BMI>24 & BMI<27){
            System.out.println("体重过重");
        }
        else if(BMI>27 & BMI<30){
            System.out.println("体重轻度肥胖");
        }
        else if(BMI>30 & BMI<35){
            System.out.println("体重中度肥胖");
        }
        else if(BMI>35){
            System.out.println("重度肥胖");
        }
    }
}

相关推荐

  1. floatdouble使用注意问题

    2024-07-15 23:52:03       20 阅读
  2. 单精度(float双精度(double)的区别

    2024-07-15 23:52:03       47 阅读
  3. C#的三种小数类型 decimaldoublefloat

    2024-07-15 23:52:03       48 阅读
  4. floatdouble区别

    2024-07-15 23:52:03       50 阅读
  5. C 语言实例 - 计算 int, float, double char 字节大小

    2024-07-15 23:52:03       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 23:52:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 23:52:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 23:52:03       58 阅读
  4. Python语言-面向对象

    2024-07-15 23:52:03       69 阅读

热门阅读

  1. excel及panda的部分内容

    2024-07-15 23:52:03       20 阅读
  2. 消息中间件面试题

    2024-07-15 23:52:03       21 阅读
  3. Kafka配置SSL信道加密

    2024-07-15 23:52:03       21 阅读
  4. TensorFlow 的基本概念和使用场景

    2024-07-15 23:52:03       18 阅读
  5. IT专业入门,高考假期预习指南

    2024-07-15 23:52:03       16 阅读
  6. 面试必备!Redis面试题合集

    2024-07-15 23:52:03       19 阅读
  7. 面试题 25. 合并两个排序的链表

    2024-07-15 23:52:03       14 阅读
  8. C# 1.方法

    2024-07-15 23:52:03       20 阅读
  9. Neo4j数据库相关

    2024-07-15 23:52:03       19 阅读
  10. PYTHON自学班车(三)NUMPY

    2024-07-15 23:52:03       20 阅读