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接下来会详细介绍 先 ...
随机推荐
- Windows Azure 网站自愈
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写. 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢 ...
- hdoj 1269 迷宫城堡(强连通分量)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1269 思路分析:该问题要求判断是否每两个房间都可以相互到达,即求该有向图中的所有点是否只构成一个强连通 ...
- debian安装vld来查看Opcode,PHP调优。
一: 我的环境: Debian 7 (wheezy) x64 PHP 5.4.4-14 (apt-get 而来) Apache/2.2.22 (同上,非源码编译) 二 :安装vld. (# 代表是r ...
- poj 2155
题目链接 二维树状数组 给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少. 树状数组下标不能为0 二维的每次更新都是从(1,1)到(x,y) 要更新(x1,y ...
- Register/unregister a dll to GAC
gacutil /i "C:\Test.dll"gacutil /u "Test"
- django1.6.x(python3.3)使用pymysql连接mysql
1.安装 pymysql,地址:https://code.google.com/p/pymysql/ 2.安装django 然后执行 django-admin.py startproject mysi ...
- Single Number i and ii
Single Number Given an array of integers, every element appears twice except for one. Find that sing ...
- Linux学习之查找命令find
1.find -name 根据名称查找文件 *通配所有字符: ?统配单个字符 2.find -iname 根据名称不区分大小写 3.find -size 根据文件大小 find / -size + ...
- Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式
原文 Windows Phone 8初学者开发—第13部分:设置LongListSelector中磁贴的样式 第13部分:设置LongListSelector中磁贴的样式 原文地址: http://c ...
- Python转码问题的解决方法:ignore,replace,xmlcharrefreplace
比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode('utf-8′) 可是,在实际开发中,我发现,这种办法经常会出现异常: Un ...