Math

Java这种级别的编程语言怎么可能没有数学相关的操作呢?

java.lang.Math类提供了基本数学运算的方法。

该类是final的,说明不能被继承。

该类的构造方法是私有的(private),说明不让实例化;

该类中的所有方法都是静态的,均可以通过类名直接调用;

Math类中有两个常量:

|-PI:圆周率π

|-E:自然常量(约为2.71828)

public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;

主要方法:

static int abs(int a) 求a的绝对值,有4种重载,还有float,double和long
static double pow(double a, double b) 求a的b次方幂
static double sqrt(double a) 求a的平方根
static int round(float a) 求a的四舍五入结果(仅适用于舍入到整数)
static double ceil(double a) 返回不小于a的最小整数值(正向取整)
static double floor(double a) 返回不大于a的最大整数值(负向取整)
public class TestMath {
public static void main(String[] args) {
System.out.println(Math.abs(-3.01));
System.out.println(Math.pow(2.0, 10.0));
System.out.println(Math.sqrt(81));
// 小数处理
double num = 3.4;
System.out.println("round " + num + " = " + Math.round(num));
num = 3.5;
System.out.println("round " + num + " = " + Math.round(num));
num = 3.001;
System.out.println("ceil " + num + " = " + Math.ceil(num));
num = 3.999;
System.out.println("floor " + num + " = " + Math.floor(num));
}
}

关于取整、舍入:

向上取整的案例:10吨货物,车每次运3吨,需3+1次

向下取整的案例:抹零


向上取整,是向“正方向”取整

向下取整,是向“负方向”取整



0.1 向上取整的结果是:1.0

0.9 向上取整的结果是:1.0

-0.1 向上取整的结果是:-0.0

-0.9 向上取整的结果是:-0.0


0.1 向下取整的结果是:0.0

0.9 向下取整的结果是:0.0

-0.1 向下取整的结果是:-1.0

-0.9 向下取整的结果是:-1.0


0.4 四舍五入的结果是:0

0.5 四舍五入的结果是:1

-0.6 四舍五入的结果是:-1

-0.5 四舍五入的结果是:0

public class Test取整舍入 {
public static void main(String[] args) {
向上取整(0.1);
向上取整(0.9);
向上取整(-0.1);
向上取整(-0.9);
System.out.println("----------");
向下取整(0.1);
向下取整(0.9);
向下取整(-0.1);
向下取整(-0.9);
System.out.println("----------");
四舍五入(0.4);
四舍五入(0.5);
四舍五入(-0.6);
四舍五入(-0.5);
}
static void 四舍五入(double p) {
System.out.println(p + " 四舍五入的结果是:" + Math.round(p));
}
static void 向上取整(double p) {
System.out.println(p + " 向上取整的结果是:" + Math.ceil(p));
}
static void 向下取整(double p) {
System.out.println(p + " 向下取整的结果是:" + Math.floor(p));
}
}

Java基础教程——Math类的更多相关文章

  1. java基础23 Math类和Random类

    一.Math数学类 主要是提供很多数学的公式 1.1.Math类的常用方法 abs(int a):绝对值   ceil(double a):向上取整   floor(double a):向下取整   ...

  2. Java基础教程——BigDecimal类

    BigDecimal类 float.double类型的数字在计算的时候,容易发生精度丢失. 使用java.math.BigDecimal类可以解决此类问题. 前面讲过Math类,现在的BigDecim ...

  3. java基础之Math类

    Math类概述Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 成员方法 public static int abs(int a):绝对值 public static ...

  4. Java基础教程(10)--类

    一.声明类   你已经见过了以如下方式定义的类: class MyClass { // field, constructor, and method declarations }   上面是声明类的最 ...

  5. Java基础教程——File类、Paths类、Files类

    File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: impor ...

  6. Java基础教程——Date类和Calendar类

    Date类和Calendar类都是关于日期的类,都在java.util包中,使用时需要import. Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时 ...

  7. Java基础教程——Scanner类

    Scanner属于java.util包. java.util包是Java内置的一个工具包,其中包含一系列常用的工具类,如处理日期.日历.集合类: 如果要使用到该包中的类,必须显式引入包名:import ...

  8. Java基础教程——RunTime类

    RunTime类 java.lang.RunTime类代表Java程序的运行时环境. 可以进行垃圾回收(gc()),可以进行系统资源清理(runFinalization()): 可以加载文件(load ...

  9. Java基础教程——System类

    System类 java.lang.System类代表当前Java程序的运行平台. |-可以做输入输出,垃圾回收:(此处不讲) |-可以获取时间: |-可以获取环境变量: |-可以获取系统信息: |- ...

随机推荐

  1. 从APT攻击中学习

    0x01. 什么是APT? 可以看出APT攻击,叫高级可持续威胁攻击,也称为定向威胁攻击:什么是定向,也就是指定目标行业而发起进攻 这边又提到供应链和社会工程学,那是什么? 社会工程学,也就是社工,通 ...

  2. 【tensorflow】VMware Ubuntu+Tensorflow配置和使用

    本文主要是记录配置tf环境和虚拟机时遇到的问题和方法,方便日后再查找(补前三年欠下的技术债) 宿主机环境:win10 64位 宿主机python: anaconda+python3.6 宿主机tens ...

  3. TypeScript魔法堂:函数类型声明其实很复杂

    前言 江湖有传"动态类型一时爽,代码重构火葬场",由于动态类型语言在开发时不受数据类型的约束,因此非常适合在项目原型阶段和初期进行快速迭代开发使用,这意味着项目未来将通过重写而非重 ...

  4. 删除指定路径下指定天数之前(以文件的创建日期为准)的文件:BAT + REG + Ritchie Lawrence 日期函数

    代码如下: @echo off::演示:删除指定路径下指定天数之前(以文件的创建日期为准)的文件.::如果演示结果无误,把del前面的echo去掉,即可实现真正删除.::本例调用了 Ritchie L ...

  5. 设计Twitter 时间线

    「design Twitter」是 LeetCode 上第 335 道题目,不仅题目本身很有意思,而且把合并多个有序链表的算法和面向对象设计(OO design)结合起来了,很有实际意义,本文就带大家 ...

  6. 洛谷 P2391 白雪皑皑 线段树+优化

    题目描述: 现在有 \(N\) 片雪花排成一列. Pty 要对雪花进行$ M $次染色操作,第 \(i\)次染色操作中,把\((i*p+q)%N+1\) 片雪花和第\((i*q+p)%N+1\)片雪花 ...

  7. day85:luffy:购物车根据有效期不同切换价格&购物车删除操作&价格结算&订单页面前戏

    目录 1.购物车有效期切换 2.根据有效期不同切换价格 3.购物车删除操作 4.价格结算 5.订单页面-初始化 1.购物车有效期切换 1.关于有效期表结构的设计 1.course/models.py ...

  8. Magicodes.IE 3.0重磅设计畅谈

    总体设计 Magicodes.IE导入导出通用库,支持Dto导入导出.模板导出.花式导出以及动态导出,支持Excel.Csv.Word.Pdf和Html. IE在去年年底重构一次之后,经过这么长时间的 ...

  9. 在java9+版本中,接口的内容和注意

    1.成员变量其实就是常量,格式: [public] [static] [final] 数据类型 常量名称 = 数据值: 注意: 常量必须进行赋值,而且一旦赋值不能改变. 常量名称完全大写,用下划线进行 ...

  10. 新疆地形数据下载:30米、12.5米、5米DEM地形数据

    新疆是我国陆地面积最大的省级行政区,总面积达166万平方公里.新疆的地形也十分的复杂,新疆的地形呈山脉与盆地相间排列,盆地被高山环抱,,俗称"三山夹两盆".三山指阿尔泰山.昆仑山. ...