当前位置: 首页 > article >正文

系统相关类——java.lang.Math (三)(案例详细拆解小白友好)

前言:

小编打算近期更俩三期类的专栏,一些常用的专集类,给大家分好类别总结和详细的代码举例解释。

今天是第三个  java.lang.Math 类

我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,

把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,

为什么用这串代码关键字,对比同类型的代码,

让大家真正看完以后融会贯通,举一反三,实践应用!!!!


①官方定义  和  大白话拆解对比

②举生活中常见贴合例子、图解辅助理解的形式

③对代码实例中关键部分进行详细拆解、总结



给小编一个赞或者关注吧,我们一起进步!!

java.lang.Math类是Java标准库中的一个工具类,提供了大量的静态方法来执行基本的数学运算,如绝对值、向上取整、向下取整、四舍五入、幂次方、平方根、随机数生成等。这些方法不需要创建对象实例即可调用,非常方便。

官方语言

  • Math.abs(double a):返回给定数值的绝对值。
  • Math.ceil(double a):返回大于等于参数的最小整数。
  • Math.floor(double a):返回小于等于参数的最大整数。
  • Math.round(double a):返回最接近参数的long值(四舍五入)。
  • Math.pow(double a, double b):返回a的b次幂。
  • Math.sqrt(double a):返回a的平方根。
  • Math.random():返回0.0到1.0之间的随机double值。
  • Math.PI:返回π(圆周率)的值。
  • Math.max(double x, double y):返回x和y中的最大值。
  • Math.min(double x, double y):返回x和y中的最小值。
  • 其他三角函数如Math.sin(double a)、Math.cos(double a)、Math.tan(double a)等。

大白话拆解:

  • java.lang.Math类就像是一个数学计算器,它能帮你做很多数学计算,比如求绝对值、向上取整、向下取整、四舍五入、求幂次方、求平方根、生成随机数等。你不需要创建任何对象就可以直接使用这些方法,就像直接在计算器上按按钮一样简单。

举个栗子:

假设你正在开发一款简单的健身应用,这个应用需要计算用户每日所需的基础代谢率(Basal Metabolic Rate, BMR),然后根据BMR来推荐每日的卡路里摄入量。我们将使用java.lang.Math类中的方法来帮助我们完成一些必要的计算。

案例描述

  • 基础代谢率是指人体在清醒而又极端安静的状态下,不受精神紧张、肌肉活动、食物及环境温度等因素影响时的能量代谢率。对于男性和女性,有不同的公式来估算BMR:

男性:

  • 𝐵𝑀𝑅=88.362+(13.397×体重𝑘𝑔)+(4.799×身高𝑐𝑚)−(5.677×年龄𝑦𝑒𝑎𝑟𝑠)BMR=88.362+(13.397×体重kg)+(4.799×身高cm)−(5.677×年龄years)


女性:

  • 𝐵𝑀𝑅=447.593+(9.247×体重𝑘𝑔)+(3.098×身高𝑐𝑚)−(4.330×年龄𝑦𝑒𝑎𝑟𝑠)
  • BMR=447.593+(9.247×体重kg)+(3.098×身高cm)−(4.330×年龄years)
public class BMRCalculator {
    public static void main(String[] args) {
        // 用户输入数据
        double weight = 70; // 体重,单位为千克
        double height = 175; // 身高,单位为厘米
        int age = 25; // 年龄
        char gender = 'M'; // 性别,'M'代表男性,'F'代表女性
        
        // 计算BMR
        double bmr;
        if(gender == 'M') {
            bmr = 88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age);
        } else if(gender == 'F') {
            bmr = 447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age);
        } else {
            System.out.println("请输入正确的性别");
            return;
        }
        
        // 使用 Math.round() 方法将BMR四舍五入到整数
        long roundedBMR = Math.round(bmr);
        
        // 输出结果
        System.out.println("您的基础代谢率为:" + roundedBMR + " 千卡/天");
    }
}

代码解释和总结:

1. 用户输入数据
首先,我们需要一些基本信息来计算用户的BMR。这些信息包括:

体重:用户身体的重量,单位是千克(kg)。
身高:用户的身高,单位是厘米(cm)。
年龄:用户的年龄,以年为单位。
性别:区分是男性还是女性,因为BMR的计算公式对不同性别是不一样的。

double weight = 70; // 体重,单位为千克
double height = 175; // 身高,单位为厘米
int age = 25; // 年龄
char gender = 'M'; // 性别,'M'代表男性,'F'代表女性

2. 计算BMR
接下来,根据用户的性别,使用不同的公式来计算BMR。这是因为男性和女性的基础代谢率通常不同。

对于男性,使用的公式是:

  • 𝐵𝑀𝑅=88.362+(13.397×体重)+(4.799×身高)−(5.677×年龄)BMR=88.362+(13.397×体重)+(4.799×身高)−(5.677×年龄)

对于女性,使用的公式是:

  • 𝐵𝑀𝑅=447.593+(9.247×体重)+(3.098×身高)−(4.330×年龄)BMR=447.593+(9.247×体重)+(3.098×身高)−(4.330×年龄)

在代码中,通过if和else if语句来判断性别,并选择相应的公式进行计算:

double bmr;
if(gender == 'M') {
    bmr = 88.362 + (13.397 * weight) + (4.799 * height) - (5.677 * age);
} else if(gender == 'F') {
    bmr = 447.593 + (9.247 * weight) + (3.098 * height) - (4.330 * age);
} else {
    System.out.println("请输入正确的性别");
    return;
}

3. 四舍五入BMR值

  • 得到BMR后,它可能是一个带有小数点的数字。为了让结果看起来更整洁,我们可以使用Math.round()方法将这个数值四舍五入到最接近的整数。
long roundedBMR = Math.round(bmr);

4. 输出结果
最后,将计算并四舍五入后的BMR值输出给用户。

System.out.println("您的基础代谢率为:" + roundedBMR + " 千卡/天");



我们今天就到这里,下次见吧!!




http://www.kler.cn/a/516061.html

相关文章:

  • doris:Broker Load
  • K8S中Service详解(一)
  • 客户案例:向导ERP与金蝶云星空集成方案
  • ⽤vector数组实现树的存储(孩⼦表示法)c++
  • 电路研究9.1.1——合宙 Air780EP 模组外围线路
  • redis离线安装部署详解(包括一键启动)
  • 开发思维到业务思维的转变
  • go学习杂记
  • proxysql读写分离的部署
  • B树系列详解
  • 使用printmap()函数来打印地图
  • Linux 内核中的高效并发处理:深入理解 hlist_add_head_rcu 与 NAPI 接口
  • “““【运用 R 语言里的“predict”函数针对 Cox 模型展开新数据的预测以及推理。】“““
  • DBSyncer开源数据同步中间件
  • kong 网关和spring cloud gateway网关性能测试对比
  • Spring 是如何解决循环依赖问题
  • 关于 SR-IOV 架构论文的总结文章
  • 使用 .Net Core 6.0 NPOI 读取excel xlsx 单元格内的图片
  • Versal - ChipScoPy + XSDB + Python CLI
  • 栈和队列(C语言)
  • HarmonyOS相对布局
  • qml menuBar详解
  • 力扣动态规划-8【算法学习day.102】
  • leetcode 面试经典 150 题:有效的括号
  • Ollama 使用笔记
  • Linux C\C++编程-建立文件和内存映射