天天看点

javaMath类+大数

  • Math:类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

    * 父类:Object

    * 静态类,所有的属性和方法使用类名调用

    * JDK1.0

    * 常用方法

    * 求2个数的最大值

    * 求2个数的最小值

    * 随机数

    * 向上取整

    * 向下取整

    * 四舍五入

    * 求次幂

    * 平方根

    * 绝对值

public class Demo {
		public static void main(String[] args) {
		
		//1:获取圆周率
		//System.out.println(Math.PI);
		//2:求绝对值
		/*int a = -10;
		int b =  20;
		//System.out.println(Math.abs(a));
	    System.out.println(Math.max(a, b));
	    System.out.println(Math.min(a, b));*/
		//3:向上取整  天花板函数  取最接近该小数的最大整数
		double a = 10.9;
		System.out.println(Math.ceil(a));
		//4:向下取整  地板函数  取最接近该小数的最小整数
		System.out.println(Math.floor(a));
		//5:返回第一个参数的第二个参数次幂的值。  Infinity  正无穷      -Infinity负无穷
		System.out.println(Math.pow(2,64));
		//6:返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
		System.out.println((int)(Math.random()*8)+3);
		//7:四舍五入取整
		System.out.println(Math.round(10.189));
		//保留2位小数
		double d = Double.parseDouble(String.format("%.2f", 10.189));
		System.out.println(d);
		//8 返回正确舍入的 double 值的正平方根。  NaN  not a number
		System.out.println(Math.sqrt(10));
		}

}
	
           
import java.math.BigInteger;

public class Demo {
	
	/*
	 * 如何得到比long类型还大的值
	 * BigInteger:大整型
	 * 不可变的任意精度的整数。
	 * 
	 */
	public static void main(String[] args) {
		//long max = Long.MAX_VALUE;
		/*System.out.println(max);
		System.out.println(max+1);*/
		// 将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
		BigInteger bg = new BigInteger("9223372036854775807");
		bg = bg.add(new BigInteger("132416546546541984984198489498498498494984984984984984984"));
		System.out.println(bg);
		
	}

}

           
import java.math.BigDecimal;

public class Demo {
	
	/*
	 * 获取比double最大值还要大的数字
	 * BigDecimal:大浮点型
	 */
	public static void main(String[] args) {
		/*double max = Double.MAX_VALUE;
		System.out.println(max);
		System.out.println(max+max);*/
	    BigDecimal  bd = new BigDecimal("1.7976931348623157E308");
	    bd = bd.add(new BigDecimal("1.7976931348623157E308"));
	    System.out.println(bd);
		
	}

}