Math
Posted guochengfirst
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Math相关的知识,希望对你有一定的参考价值。
一,Math类
1,域
PI和E
public class Demo01 { public static void main(String[] args) { System.out.println(Math.E);//自然对数2.718281828459045 System.out.println(Math.PI);//Π3.141592653589793 } }
2,数学函数
三角函数,指数函数,取整函数,取最值函数,取平均函数
三角函数:
public class Demo02 { public static void main(String[] args) { //正弦函数sin(Π/2) System.out.println("Π/2正弦值:"+Math.sin(Math.PI/2));//Π/2正弦值:1.0 //余弦函数cos(Π) System.out.println("Π/2余弦值:"+Math.cos(Math.PI));//Π余弦值:-1.0 //120°的弧度值 System.out.println("120°的弧度值:"+Math.toRadians(120));//2Π/3 120°的弧度值:2.0943951023931953 //Π/2的角度 System.out.println("Π/2的角度:"+Math.toDegrees(Math.PI/2));//Π/2的角度:90.0 } }
指数函数:
public class Demo03 { public static void main(String[] args) { //e的a次方 System.out.println("e的平方:"+Math.exp(2));//e的平方:7.38905609893065 //e为底a的对数 System.out.println("ln2:"+Math.log(2));//ln2:0.6931471805599453 //10为底a的对数 System.out.println("10为底2的对数:"+Math.log10(2));//10为底2的对数:0.3010299956639812 //a的平方根 System.out.println("4的平方:"+Math.sqrt(4));//4的平方:2.0 //a的立方根 System.out.println("9的立方:"+Math.sqrt(9));//9的立方:3.0 //a的b次方 System.out.println("2的三次方:"+Math.pow(2,3));//2的三次方:8.0 } }
取整函数:
public class Demo04 { public static void main(String[] args) { //大于某个参数的整数 System.out.println("大于2.1的整数:"+Math.ceil(2.1));//大于2.1的整数:3.0 //小于某个参数的整数 System.out.println("小于2.1的整数:"+Math.floor(2.1));//小于2.1的整数:2.0 // 接近某个参数的整数 System.out.println("接近1.1的整数:"+Math.rint(1.1));//接近1.1的整数:1.0 } }
最值和绝对值:
public class Demo05 { public static void main(String[] args) { //最值 System.out.println("4和6较大者:"+Math.max(4,6));//4和6较大者:6 System.out.println("4和6较小者:"+Math.min(4,6));//4和6较小者:4 //绝对值 System.out.println("-5的绝对值:"+Math.abs(-5));//-5的绝对值:5 } }
3,随机数
public class Demo06 {
public static void main(String[] args) {
//默认产生0-1的douoble随机数
System.out.println("默认产生0-1的douoble随机数:"+Math.random());//默认产生0-1的douoble随机数:0.4942204115967299
//产生0-2的随机数
System.out.println("产生0-2的随机数:"+Math.random()*2);//产生0-2的随机数:1.0663961692779989
//产生3-4的随机数
System.out.println("产生3-4的随机数:"+(3+Math.random()));//产生3-4的随机数:3.2547938140289996
//产生5-7的随机数
System.out.println("产生5-7的随机数:"+(5+Math.random()*2));//产生5-7的随机数:6.779036468953744
//产生a-z的随机字符
System.out.println("产生a-z的随机字符:"+(char)(‘a‘+Math.random()*(‘z‘-‘a‘+1)));//产生a-z的随机字符:m
//产生A-Z的随机字符
System.out.println("产生A-Z的随机字符:"+(char)(‘A‘+Math.random()*(‘Z‘-‘A‘+1)));//产生A-Z的随机字符:F
}
}
4.大小数运算BigDecimal
加法add
public class Demo07 { public static void main(String[] args) { double d1=Math.random(); double d2=Math.random(); double d3=d1+d2; System.out.println(d1);//0.4357745166939949 System.out.println(d2);//0.17431581845700095 System.out.println(d3);//0.6100903351509959 BigDecimal b1=new BigDecimal(d1); BigDecimal b2=new BigDecimal(d2); System.out.println(b1); //0.43577451669399491773759791612974368035793304443359375 System.out.println(b2); //0.17431581845700094834938909116317518055438995361328125 System.out.println(b1.add(b2));//0.61009033515099586608698700729291886091232299804687500 } }
double计算数据有丢失,而BigDecimal就没有
减法substract,乘法multiply,除法divide (除法涉及商末尾小数点处理,有兴趣再研究)
以上是关于Math的主要内容,如果未能解决你的问题,请参考以下文章