基于Java中Math类的常用函数总结

Java中比较常用的几个数学公式的总结:

//取整,返回小于目标函数的最大整数,如下将会返回-2
Math.floor(-1.8);
//取整,返回发育目标数的最小整数
Math.ceil()
//四舍五入取整
Math.round()
//计算平方根
Math.sqrt()
//计算立方根
Math.cbrt()
//返回欧拉数e的n次幂
Math.exp(3);
//计算乘方,下面是计算3的2次方
Math.pow(3,2);
//计算自然对数
Math.log();
//计算绝对值
Math.abs();
//计算最大值
Math.max(2.3,4.5);
//计算最小值
Math.min(,);
//返回一个伪随机数,该数大于等于0.0并且小于1.0
Math.random 

Random类专门用于生成一个伪随机数,它有两个构造器:一个构造器使用默认的种子(以当前时间作为种子),另一个构造器需要程序员显示的传入一个long型整数的种子。

Random比Math的random()方法提供了更多的方式来生成各种伪随机数。

e.g

import java.util.Arrays;
import java.util.Random; 

public class RandomTest { 

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Random rand = new Random();
    System.out.println("随机布尔数" + rand.nextBoolean());
    byte[] buffer = new byte[16];
    rand.nextBytes(buffer);
    //生产一个含有16个数组元素的随机数数组
    System.out.println(Arrays.toString(buffer)); 

    System.out.println("rand.nextDouble()" + rand.nextDouble()); 

    System.out.println("Float浮点数" + rand.nextFloat()); 

    System.out.println("rand.nextGaussian" + rand.nextGaussian()); 

    System.out.println("" + rand.nextInt()); 

    //生产一个0~32之间的随机整数
    System.out.println("rand.nextInt(32)" + rand.nextInt(32)); 

    System.out.println("rand.nextLong" + rand.nextLong());
  } 

} 

为了避免两个Random对象产生相同的数字序列,通常推荐使用当前时间作为Random对象的种子,代码如下:

Random  rand = new Random(System.currentTimeMillis());

在java7中引入了ThreadLocalRandom

在多线程的情况下使用ThreadLocalRandom的方式与使用Random基本类似,如下程序·片段示范了ThreadLocalRandom的用法:

首先使用current()产生随机序列之后使用nextCXxx()来产生想要的伪随机序列:

ThreadLocalRandom trand= ThreadLocalRandom.current(); 

int val = rand.nextInt(4,64); 

产生4~64之间的伪随机数

以上就是小编为大家带来的基于Java中Math类的常用函数总结的全部内容了,希望对大家有所帮助,多多支持我们~

(0)

相关推荐

  • 基于java math API 的详细解释说明

    Math.PI 记录的圆周率Math.E 记录e的常量Math中还有一些类似的常量,都是一些工程数学常用量.Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.cos 余弦函数 Math.acos 反余弦函数Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度Math.ceil 得到不小于某数的最大整数Math.floor

  • 浅谈java中Math.random()与java.util.random()的区别

    今天突然想起来,java产生随机数的问题,上机试了一下,找到了一点区别,在这里总结一下: 直接调用Math.random()是产生一个[0,1)之间的随机数, 如果用 java.util.Random random=new Random();random.nextInt() 这样产生一个长整型的随机数并且与上一次是一样的,如果过一会再产生就不会一样了,例如: for (int i = 0; i < 10; i++) { Random random=new Random(); Thread.sle

  • java 中 String format 和Math类实例详解

    java 中 String format 和Math类实例详解 java字符串格式化输出 @Test public void test() { // TODO Auto-generated method stub //可用printf(); System.out.println(String.format("I am %s", "jj")); //%s字符串 System.out.println(String.format("首字母是 %c",

  • Java中Math类常用方法代码详解

    近期用到四舍五入想到以前整理了一点,就顺便重新整理好经常见到的一些四舍五入,后续遇到常用也会直接在这篇文章更新... public class Demo{ public static void main(String args[]){ /** *Math.sqrt()//计算平方根 *Math.cbrt()//计算立方根 *Math.pow(a, b)//计算a的b次方 *Math.max( , );//计算最大值 *Math.min( , );//计算最小值 */ System.out.pri

  • 浅谈java中math类中三种取整函数的区别

    math类中三大取整函数 1.ceil 2.floor 3.round 其实三种取整函数挺简单的.只要记住三个函数名翻译过来的汉语便能轻松理解三大函数,下面一一介绍 1.ceil,意思是天花板,java中叫做向上取整,大于等于该数字的最接近的整数 例: math.ceil(13.2)=14 math.ceil(-13.2)=-13 2.floor,意思是地板,java中叫做向下取整,小于等于该数字的最接近的整数 例: math.floor(13.2)=13 math.floor(-13.2)=-

  • JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解

    首先还是看看JavaScript: The Definitive Guide, 4th Edition中对三个函数的定义. Math.ceil(): round a number up Arguments: Any numeric value or expression Returns: The closest integer greater than or equal to x. ---------------------------------------------------------

  • 基于Java中Math类的常用函数总结

    Java中比较常用的几个数学公式的总结: //取整,返回小于目标函数的最大整数,如下将会返回-2 Math.floor(-1.8): //取整,返回发育目标数的最小整数 Math.ceil() //四舍五入取整 Math.round() //计算平方根 Math.sqrt() //计算立方根 Math.cbrt() //返回欧拉数e的n次幂 Math.exp(3); //计算乘方,下面是计算3的2次方 Math.pow(3,2); //计算自然对数 Math.log(); //计算绝对值 Mat

  • 基于Java中进制的转换函数详解

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.valueOf("876",8).toString() 二进制转十进制 Integer.valueOf(&qu

  • 基于Java中最常用的集合类框架之HashMap(详解)

    一.HashMap的概述 HashMap可以说是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构. HashMap是基于哈希表的Map接口实现的,此实现提供所有可选的映射操作.存储的是对的映射,允许多个null值和一个null键.但此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 除了HashMap是非同步以及允许使用null外,HashMap 类与 Hashtable大致相同. 此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性

  • 基于Java中的StringTokenizer类详解(推荐)

    StringTokenizer是字符串分隔解析类型,属于:Java.util包. 1.StringTokenizer的构造函数 StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象.java默认的分隔符是"空格"."制表符('\t')"."换行符('\n')"."回车符('\r')". StringTokenizer(String str,String delim)

  • 详谈Java中Object类中的方法以及finalize函数作用

    Object是所有类的父类,任何类都默认继承Object. 一.Object类中的方法 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常. 主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法. 2.getClass方法 final方法,获得运行时类型. 3.toString方法 该方法

  • Java中Arrays类与Math类详解

    Arrays(数组工具类) Java中已经封装好的类,提供大量静态方法供用户对数组的使用. 导包:import java.util.Arrays 1.Arrays.toString(数组) //返回值是一个[]括起来的字符串,将数组中的元素放入[]中 int[] arr=new int[]{1,2,3,4}; String str=Arrays.toString(arr); System.out.println(str); -------------------------------- [1,

  • Java中Object类常用的12个方法(小结)

    目录 前言 1. getClass 方法 2. hashCode 方法 3. equals 方法 4. clone 方法 5. toString 方法 6. notify 方法 7. notifyAll 方法 8. wait(long timeout) 方法 9. wait(long timeout, int nanos) 方法 10. wait 方法 11. finalize 方法 前言 Java 中的 Object 方法在面试中是一个非常高频的点,毕竟 Object 是所有类的"老祖宗&qu

  • Java中String类常用类型实例总结

    目录 1.创建字符串的方法 1.1构造 1.2引用对象  2.字符串的比较 3.字符串的不可改变性 4.数组转字符串  5.判断是否是数字字符串  isNumberChar(  )  6.字节变字符串  7.字符串的查找 8.字符的替换 9.字符串的分割 9.1以单个符号来分割  9.2多个分隔符分割  9.3特殊符号分割 10.提取子串str.substring(  )  11.去空格 12.字符串的拼接 13.StringBuffer   13.1字符串的拼接 13.2方法的返回类型 总结

随机推荐