Java基础教程——Math类
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类的更多相关文章
- java基础23 Math类和Random类
一.Math数学类 主要是提供很多数学的公式 1.1.Math类的常用方法 abs(int a):绝对值 ceil(double a):向上取整 floor(double a):向下取整 ...
- Java基础教程——BigDecimal类
BigDecimal类 float.double类型的数字在计算的时候,容易发生精度丢失. 使用java.math.BigDecimal类可以解决此类问题. 前面讲过Math类,现在的BigDecim ...
- java基础之Math类
Math类概述Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 成员方法 public static int abs(int a):绝对值 public static ...
- Java基础教程(10)--类
一.声明类 你已经见过了以如下方式定义的类: class MyClass { // field, constructor, and method declarations } 上面是声明类的最 ...
- Java基础教程——File类、Paths类、Files类
File类 File类在java.io包中.io代表input和output,输入和输出. 代表与平台无关的文件和目录. 可以新建.删除.重命名,但不能访问文件内容. File类里的常量: impor ...
- Java基础教程——Date类和Calendar类
Date类和Calendar类都是关于日期的类,都在java.util包中,使用时需要import. Date java.util.Date类的对象用来表示时间和日期,用得最多的是获取系统当前日期和时 ...
- Java基础教程——Scanner类
Scanner属于java.util包. java.util包是Java内置的一个工具包,其中包含一系列常用的工具类,如处理日期.日历.集合类: 如果要使用到该包中的类,必须显式引入包名:import ...
- Java基础教程——RunTime类
RunTime类 java.lang.RunTime类代表Java程序的运行时环境. 可以进行垃圾回收(gc()),可以进行系统资源清理(runFinalization()): 可以加载文件(load ...
- Java基础教程——System类
System类 java.lang.System类代表当前Java程序的运行平台. |-可以做输入输出,垃圾回收:(此处不讲) |-可以获取时间: |-可以获取环境变量: |-可以获取系统信息: |- ...
随机推荐
- 从APT攻击中学习
0x01. 什么是APT? 可以看出APT攻击,叫高级可持续威胁攻击,也称为定向威胁攻击:什么是定向,也就是指定目标行业而发起进攻 这边又提到供应链和社会工程学,那是什么? 社会工程学,也就是社工,通 ...
- 【tensorflow】VMware Ubuntu+Tensorflow配置和使用
本文主要是记录配置tf环境和虚拟机时遇到的问题和方法,方便日后再查找(补前三年欠下的技术债) 宿主机环境:win10 64位 宿主机python: anaconda+python3.6 宿主机tens ...
- TypeScript魔法堂:函数类型声明其实很复杂
前言 江湖有传"动态类型一时爽,代码重构火葬场",由于动态类型语言在开发时不受数据类型的约束,因此非常适合在项目原型阶段和初期进行快速迭代开发使用,这意味着项目未来将通过重写而非重 ...
- 删除指定路径下指定天数之前(以文件的创建日期为准)的文件:BAT + REG + Ritchie Lawrence 日期函数
代码如下: @echo off::演示:删除指定路径下指定天数之前(以文件的创建日期为准)的文件.::如果演示结果无误,把del前面的echo去掉,即可实现真正删除.::本例调用了 Ritchie L ...
- 设计Twitter 时间线
「design Twitter」是 LeetCode 上第 335 道题目,不仅题目本身很有意思,而且把合并多个有序链表的算法和面向对象设计(OO design)结合起来了,很有实际意义,本文就带大家 ...
- 洛谷 P2391 白雪皑皑 线段树+优化
题目描述: 现在有 \(N\) 片雪花排成一列. Pty 要对雪花进行$ M $次染色操作,第 \(i\)次染色操作中,把\((i*p+q)%N+1\) 片雪花和第\((i*q+p)%N+1\)片雪花 ...
- day85:luffy:购物车根据有效期不同切换价格&购物车删除操作&价格结算&订单页面前戏
目录 1.购物车有效期切换 2.根据有效期不同切换价格 3.购物车删除操作 4.价格结算 5.订单页面-初始化 1.购物车有效期切换 1.关于有效期表结构的设计 1.course/models.py ...
- Magicodes.IE 3.0重磅设计畅谈
总体设计 Magicodes.IE导入导出通用库,支持Dto导入导出.模板导出.花式导出以及动态导出,支持Excel.Csv.Word.Pdf和Html. IE在去年年底重构一次之后,经过这么长时间的 ...
- 在java9+版本中,接口的内容和注意
1.成员变量其实就是常量,格式: [public] [static] [final] 数据类型 常量名称 = 数据值: 注意: 常量必须进行赋值,而且一旦赋值不能改变. 常量名称完全大写,用下划线进行 ...
- 新疆地形数据下载:30米、12.5米、5米DEM地形数据
新疆是我国陆地面积最大的省级行政区,总面积达166万平方公里.新疆的地形也十分的复杂,新疆的地形呈山脉与盆地相间排列,盆地被高山环抱,,俗称"三山夹两盆".三山指阿尔泰山.昆仑山. ...