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


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



相关推荐
SHUIPING_YANG1 分钟前
根据用户id自动切换表查询
java·服务器·数据库
AndrewHZ10 分钟前
【图像处理基石】如何入门色彩评估?
图像处理·人工智能·深度学习·色彩科学·hvs·色彩评估·颜色工程
爱吃烤鸡翅的酸菜鱼13 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
惊涛骇浪、19 分钟前
SpringMVC + Tomcat10
java·tomcat·springmvc
chao_78921 分钟前
更灵活方便的初始化、清除方法——fixture【pytest】
服务器·自动化测试·python·pytest
墨染点香32 分钟前
LeetCode Hot100【6. Z 字形变换】
java·算法·leetcode
枷锁—sha41 分钟前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
枷锁—sha43 分钟前
跨站请求伪造漏洞(CSRF)详解
运维·服务器·前端·web安全·网络安全·csrf
scuter_yu43 分钟前
腾讯云云服务器深度介绍
服务器·云计算·腾讯云
心情好的小球藻1 小时前
Python应用进阶DAY9--类型注解Type Hinting
开发语言·python