java工具类--数学相关;Scanner类 System类

参考:https://docs.oracle.com/javase/8/docs/api/index.html

Math

1.所属的包java.lang

2.Math构造方法是私有的 我们不能直接调用创建对象;

3.由于Math中提供的属性及方法都是static 不需要创建对象;

4.常用方法;

  abs(a) 返回给定数字的绝对值 参数 int long float double;;

  ceil(a) floor(a) rint(a) round(a)

  max(a,b) min(a,b) 参数 int long float double;

  pow(a,b);a的b次方法 (参数double 返回值double)

  sqrt(a);开平方根;(参数double 返回值double)

  random() ;随机产生[0,1)的double类型值;0.000---0.999

(int)(Math.random()*10);//产生0-9之间的随机整数

(Math.random()*6)+5;//5.0-10.9之间的小数;//0.99*6=5.4...产生小数的时候精确程度可能有些损失;

public class Test{
	public static void main(String[] args){		
		System.out.println(Math.ceil(1.4));//2.0 向上取整,返回double类型
		System.out.println(Math.floor(1.4));//1.0 向下取整
		System.out.println(Math.rint(1.4));//1.0 临近的整数,如果距离一样,则返回偶数
		System.out.println(Math.round(1.4));//1 //四舍五入的整数		
	}
}

 

Random类

1.在java.util包中的类 需要import导入

2.没有任何继承关系 默认继承Object类

3.查找构造方法-->如何创建对象;

4.类中提供的常用方法;

  r.nextInt();随机产生int取值范围的整数 有正有负

  r.nextInt(int bound);随机产生一个[0-bound)整数

    注意bound必须为正数 否则会出现如下的运行时异常

    

   r.nextFloat() 随机产生一个[0.0-1.0)

  r.nextBoolean() 随机产生一个boolean值 true false

import java.util.Random;
import java.util.UUID;
public class Test{
	public static void main(String[] args){
		Random a=new Random();
		int value=a.nextInt(10);//[0-10)		
		System.out.println(value-10);
		System.out.println(UUID.randomUUID().toString());//数据库表格主键		
	}
}

  

UUID类

1.所属的包 java.util 需要import 导入

2.没有任何继承关系 默认继承Object类

3.构造方法有 没有无参数的 我们通常不会创建对象

System.out.println(UUID.randomUUID().toString());//产生一个32位的随机元素;数据库表格主键

BigInteger类 大整数   long -2的63次方~2的63次方-1

1.所属的包java.math 需要import导入

2.继承自Number

3.如何创建对象 提供的构造方法全部都是带参数的

  通常利用带String参数的构造方法创建这个类的对象

  BigInteger bi=new BigInteger("123");

4.类中的常用方法

  做四则运算

  add() subtract() multiply divide()

5.小例子 设计一个方法 用来计算给定数字的阶乘 

import java.math.BigInteger;
public class Test{
	public BigInteger jieCheng(int num){
		BigInteger rs=new BigInteger("1");
		for(int i=1;i<=num;i++){
			rs=rs.multiply(new BigInteger(i+""));
		}
		return rs;
	}
	public static void main(String[] args){
		Test a=new Test();
		BigInteger result=a.jieCheng(15);
		System.out.println(result);
        }
}

  

BigDecimal 类 超过double取值范围

1.所属的包 java.math包

2.继承Number类

3.通常也是可以通过带String参数 构建对象

4.类中的常用方法

  做四则运算

  add() subtract() multiply divide()

import java.math.BigDecimal;
public class Test{

	public static void main(String[] args){
		BigDecimal d=new BigDecimal("123.456");
		d=d.setScale(2,BigDecimal.ROUND_DOWN);//(位数,设置模式)向下取整
		System.out.println(d);
        }
}

  

 将小数点之前和之后的位数都能处理的类--格式化

DecimalFormat //四色五入

1.所属的包 java.text

2.import 导入才能使用

3.通过带String参数的构造方法创建一个格式化对象 0 #;0该位无数字则补0;#该位无数字则空着;

4.调用format方法将一个小数格式化成一个字符串

import java.text.DecimalFormat;
public class Test{
	public static void main(String[] args){
		DecimalFormat a=new DecimalFormat("000.###");
		String b=a.format(12.45);
		System.out.println(b);
        }
}

 

 Scanner类

1.所属的包java.util包 需要import导包

2.通过一个带输入流的构造方法创建对象

3.常用方法 nextInt() nextFloat() next() nextLine()

System类

1.所属的包java.lang包 不需要导入

2.不需要创建对象 通过类名就可以访问

3.有三个属性及若干的方法

  三个属性 out in err

  方法gc() exit(0); currentTimeMills() //毫秒值

public class Test0516{
	public static void main(String[] args){
		long t=System.currentTimeMillis();
		System.out.println(t);
	}
}

 

 

越努力,越幸运!!! good good study,day day up!!!
原文地址:https://www.cnblogs.com/canglongdao/p/12899525.html