系统相关类——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'代表女性
  1. 计算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;
}
  1. 四舍五入BMR值
  • 得到BMR后,它可能是一个带有小数点的数字。为了让结果看起来更整洁,我们可以使用Math.round()方法将这个数值四舍五入到最接近的整数。

    long roundedBMR = Math.round(bmr);

  1. 输出结果

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

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


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



相关推荐
程序员小崔日记1 小时前
20块钱注册一年 .COM 域名!Spaceship 最新优惠教程,支付宝即可付款(附优惠码)
服务器·腾讯云·域名
IKUN家族2 小时前
Spring MVC(一)
java·spring·mvc
实心儿儿2 小时前
Linux —— 进程间关系和守护进程
linux·运维·服务器
林浅不想努力3 小时前
LVS知识点总结
服务器·云原生·lvs
老马识途2.03 小时前
关于跨域问题的总结
java·前端
魔力女仆3 小时前
分享一个 JS 鼠标跟随贪吃蛇背景库
开发语言·javascript·计算机外设
Dawn-bit3 小时前
Linux磁盘管理详解
linux·运维·服务器·计算机网络·云计算
都叫我大帅哥4 小时前
Java日期时间三十年战争:从Date考古到LocalDateTime革命,以及数据库与前端的那点事儿
java
Muscleheng4 小时前
SpringBoot 集成 DeepSeek 实现 RAG 文档问答
java·spring boot·ai·springai
满怀冰雪4 小时前
12-PaddlePaddle, 飞桨, 分类模型, 训练循环, 损失函数, 优化器, cross_entropy, Adam
人工智能·深度学习·分类·paddlepaddle