系统相关类——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 + " 千卡/天");


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



相关推荐
初听于你10 分钟前
运维高级故障排除与恢复-SysRq
运维·服务器·安全
我命由我1234521 分钟前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
HLJ洛神千羽21 分钟前
C++程序设计实验(黑龙江大学)
开发语言·c++·软件工程
北城以北888821 分钟前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis
kyle~26 分钟前
算法数学---差分数组(Difference Array)
java·开发语言·算法
曹牧27 分钟前
C#:三元运算符
开发语言·c#
apocalypsx32 分钟前
深度学习-深度卷积神经网络AlexNet
人工智能·深度学习·cnn
曹朋羽32 分钟前
Spring EL 表达式
java·spring·el表达式
Jonathan Star1 小时前
MediaPipe 在Python中实现人体运动识别,最常用且高效的方案是结合**姿态估计**(提取人体关键点)和**动作分类**(识别具体运动)
开发语言·python·分类
滨HI01 小时前
C++ opencv拟合直线
开发语言·c++·opencv