Java-Math
java.lang.Math类提供的方法都是static的,“静态引入 ”使得不必每次在调用类方法时都在方法前写上类名: import static java.lang.Math.*;
这样在调用Math的方法时就可以简单地写出方法名,例如: cos(radians);
----------------------------------------------------------
1、基本方法: abs, max, min, ceil, floor, rint, round
重载abs方法,返回一个数(int、long、float、double)的绝对值
Math.abs(-30.5) == 30.5
Math.abs(-100.0989) == 100.0989
Math.ceil(30.4) == 31.0
Math.ceil(-8.0989) == -8.0
重载max和min方法,返回两个数(int、long、float、double)的最大值和最小值
public static double ceil(double x); //向上取整,返回double
public static double floor(double x); //向下取整,返回double
public static double rint(double x); //以double值返回与x最接近的整数,如果x到两个整数的距离相等,返回其中的偶数
public static long round(double x); //返回(long)Math.floor(x+0.5);
public static int round(float x); //返回(int)Math.floor(x+0.5);
2、指数和对数方法: (Math.E = 2.7183) exp, log, pow, sqrt
3、三角函数: sin, cos, tan, asin, acos, atan double atan2 (double y, double x); //将直角坐标系的坐标(x, y)转变为极坐标中的坐标(r, theta),并返回角度thera public static double toDegrees(double radians);
public static double toRadians(double degree);
4、随机数 0.0 <= Math.random() < 1.0 如果要得到一个[0, 10)之间的随机整数: int number = (int)(Math.random() * 10);
如果要得到一个[50, 100)之间的随机整数:
int number = 50 + (int)(Math.random() * 50);
如果要得到一个(a, a+b]之间的随机整数:
int number = a + (int)(Math.random() * b);
使用Math.Random()可以得到单个随机数,但若要得到一系列随机数,则可以使用java.util.Random 类,通过创建对象,调用相应的方法实现
Java-Math的更多相关文章
- java.math.RoundingMode 几个参数详解
java.math.RoundingMode里面有几个参数搞得我有点晕,现以个人理解对其一一进行总结: 为了能更好理解,我们可以画一个XY轴 RoundingMode.CEILING:取右边最近的整数 ...
- 【java.math.BigInteger】常用函数
1. /* 返回此BigInteger的函数正负号. 此方法返回-1,0或1作为此BigInteger的值对应是负,零或正数. */ java.math.BigInteger.signum(BigIn ...
- 【java.math.BigInteger】【转】常见问题
好大的链接给原作 Q: 在java怎样将BigInteger类型的数据转成int类型的? A:BigInteger的intValue()可以获得int类型数值. Q: java.math.BigInt ...
- [记录]java.math.biginteger cannot be cast to java.lang.long
可以直接使用BigInteger类型进行接收, BigInteger id = (BigInteger)QueryRunner(conn,"SELECT LAST_INSERT_ID&quo ...
- java.math.BigInteger使用心得总结(转)
今天参考课本写了一个关于二进制与十进制转换的程序,程序算法不难,但写完后测试发现不论是二转十还是十转二,对于大于21亿即超过整数范围的数不能很好的转换.都会变成0.参考书籍发现使用使用BigInteg ...
- java.math.BigDecimal类
BigDecimal类用于高精度计算.一般的float型和Double型数据只可以用来做科学计算或者是工程计算,由于在商业计算中,要求的数字精度比较高,所以要用到java.math.BigDecima ...
- java.math.BigDecimal()的用法
Java中简单的浮点数类型float和double是不能进行运算的,不光Java,很多语言都是这样. 我们运行下面程序你将会看到 public class TestMathDecimal { publ ...
- Java中的java.math.BigInteger
Java中的java.math.BigInteger /** * */ package com.you.model; /** * @author YouHaidong * */ public clas ...
- 数据转换失败 java.math.BigDecimal cannot be cast to java.lang.String
从接口获取到数据,在转换的时候出现错误:java.math.BigDecimal cannot be cast to java.lang.String 因为一开始用的是使用关键字进行强制转换,后来发现 ...
- [十五]java.math包简介,RoundingMode与MathContext
java.math包提供了java中的数学类 包括基本的浮点库.复杂运算以及任意精度的数据运算 '可以看得到,主要包括三个类一个枚举 BigDecimal和BigInteger接下来会详细介绍 先 ...
随机推荐
- MYSQL存储过程事务列子
CREATE DEFINER=`root`@`localhost` PROCEDURE `createBusiness`(parameter1 int) BEGIN #Routine body goe ...
- 大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。
python requests库发送请求时,比如get请求,大概过程. 一.发起get请求过程:调用requests.get(url,**kwargs)-->request('get', url ...
- hdoj 1233 还是畅通工程(最小生成树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233 思路分析:该问题为最小生成树问题,使用kruskal算法或者prim算法即可解决: 代码如下: ...
- oracle 分组后取每组第一条数据
‘数据格式 分组取第一条的效果 sql SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, test ...
- linux下TUN/TAP虚拟网卡的使用
转载:http://wushank.blog.51cto.com/3489095/1306849 tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设 ...
- STL之使用vector排序
应用场景: 在内存中维持一个有序的vector: // VectorSort.cpp : Defines the entry point for the console application. #i ...
- U盘安装Win7系统教程
U盘安装系统教程: http://wiki.jd.com/knowledge/6699.html
- UML初了解
最近项目中有看UML图,很是模糊一些东西,今天查资料,发现这篇博文很好,转载了,也解了不少疑惑. 原文:http://www.uml.org.cn/oobject/201008311.asp 在绘画U ...
- 【Linux命令】Ubuntu14.04+QT5.2配置mysql
安装qt: 官网下载qt5.2.1:qt-opensource-linux-x64-5.2.1.run 直接命令行运行:./qt-opensource-linux-x64-5.2.1.run 选择安装 ...
- MongoDB学习笔记1(简介)
一.简介 1.丰富的数据类型 MongoDB是一种非关系型数据库,是面向文档的数据库. MongoDB没有模式,文档的键不会事先定义,也 ...