Math类

java.lang.Math提供了一系列静态方法用于科学计算, 其方法的参数和返回值类型一般都为double型, 如果需要更加强大的数学运算能力计算高等数学中的相关内容, 可使用apache commons下面的Math类库

Math类的常用方法:

abs取绝对值

acos, asin, atan, cos, sin, tan三角函数

sqrt平方根

pow(double a, double b), a^b

max(double a, double b), 取最大值

min(double a, double b), 取最小值

ceil(double a), 大于a的最小整数

floor(double a), 小于a的最大整数

random(), 返回0.0到1.0的随机数

long round(double a), double型数据a转换为long型(四舍五入)

toDegrees(double angrad), 弧度转换为角度

roRadians(double angdeg), 角度转换为弧度

/**************示例程序****************/
public static void main(String[] args) {
// 取正相关操作
System.out.println(Math.ceil(3.1));
System.out.println(Math.floor(3.4));
System.out.println(Math.round(3.1));
System.out.println(Math.round(3.8));
System.out.println("##########################"); // 绝对值, 开方, a的b次幂相关操作
System.out.println(Math.abs(-1));
System.out.println(Math.abs(-1.1));
System.out.println(Math.sqrt(36));
System.out.println(Math.pow(2, 4));
System.out.println("##########################"); // Math类中常用的常量
System.out.println(Math.PI);
System.out.println(Math.E);
System.out.println("##########################"); // 随机数
System.out.println(Math.random());
} /*
4.0
3.0
3
4
##########################
1
1.1
6.0
16.0
##########################
3.141592653589793
2.718281828459045
##########################
0.02732034556476759
*/

Random类

Math类中虽然有产生随机数的方法Math.random(), 但是通常需要的随机数的范围并不是[0,1)之间的double类型数据, 这时就需要对其进行一些复杂的运算. 如果使用Math.random()计算过于复杂的话, 可以使用另一种方式得到随机数, 即Random类, 这个类是专门用来生成随机数, 并且Math.random()底层就是调用的Random类的nextDouble()方法

/******************示例程序*************************/
import java.util.Random;
public static void main(String[] args) {
Random rand = new Random(); // 随机生成[0,1)之间的double类型的数据
System.out.println(rand.nextDouble());
System.out.println("#########################"); // 随机生成int类型允许范围之内的整型数据
System.out.println(rand.nextInt());
System.out.println("#########################"); // 随机生成[0,1)之间的float类型数据
System.out.println(rand.nextFloat());
System.out.println("#########################"); // 随机生成false或true
System.out.println(rand.nextBoolean());
System.out.println("#########################"); // 随机生成[0,10)之间的int类型的数据
System.out.println(rand.nextInt(10));
System.out.println("#########################"); // 随机生成[20,30)之间的int类型的数据
System.out.println(rand.nextInt(10) + 20);
System.out.println("#########################"); // 随机生成[20,30)之间的int类型的数据(此种方法计算较为复杂)
System.out.println((int)(rand.nextDouble() * 10) + 20);
System.out.println("#########################");
} /*
0.18579466820637747
#########################
1695590674
#########################
0.8908015
#########################
false
#########################
9
#########################
21
#########################
25
#########################
*/

最新文章

  1. 关于chrome控制台那些事
  2. 深入理解Redis系列
  3. Windows对象
  4. 面向服务架构(SOA)和企业服务总线(ESB)
  5. LeetCode(五)
  6. oracle PL/SQL(procedure language/SQL)程序设计
  7. 【Winform】 Enum逆向解析
  8. MathType支持64位 WIN 7Office 2013(完美解决)(转载)
  9. 【IOS开发】如何画1像素的线
  10. Cassandra 单机入门例子——有索引
  11. MQ通道搭建以及连通性检查
  12. Dynamics CRM2015 on-premises直接升级Dynamics CRM2016 on-premises
  13. 机器学习(七)EM算法、GMM
  14. 举例子来说明Python引用和对象
  15. mysql本地安装
  16. 怎样检测TCP/UDP端口的连通性
  17. T-SQL :联接查询练习 (杂)
  18. 【java编程】加密算法-对称加密及AES加密算法
  19. 基础练习 回形取数 (循环 + Java 输入输出外挂)
  20. Win7如何解决telnet不是内部或外部命令的方案!

热门文章

  1. 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
  2. Java知识系统回顾整理01基础01第一个程序06Eclipse使用技巧
  3. Matlab 中 imshow 函数
  4. 二进制部署Redis-5.07
  5. 在nginx下导出数据库数据
  6. FastJson解析Json,封装JavaBean对象
  7. Azure Cosmos DB (三) EF Core 操作CURD
  8. 转 Swoole】用swoole简单实现MySQL连接池
  9. go cap和len区别
  10. Promises/A+规范