一、Math类(主要封装算数运算的静态方法)

定义:

Math是没有构造方法的.

java语言中提供了一个执行数学基本运算的Math类,Math类包括常用的数学运算和一些数学函数。还提供了一些常用的常量,PI, E等。

Math类中提供了许多数学函数算法,这些函数都被定义为static形式

调用起来也方便:

Math.数学方法

Math.PI

Math.E

常用的数学运算方法

1.三角函数

正弦:public static double sin(double a);

余弦:public static double cos(double a);

正切:public static double tan(double a);

反正弦:public static double asin(double a);

反余弦:public static double acos(double a);

反正切:public static double atan(double a);

角度转弧度:public static double toRadians(double angdeg);

弧度转角度:public static double toDegrees(double angdeg);

简单示例几个:

Math.max():较大数

Math.min():较小数

Math.ceil():不小于最小的数

Math.floor():不大于最大的数

Math.round():四舍五入

二、随机数

Math.random()

默认生成0.0~1.0的double型随机数。

Math类的random()方法也可以随机生成随机字符
(char)('a'+Math.random()*('z'-'a'+1));      (a~z)

(char)(char1+Math.random()*(char2-char1+1));  (A~Z)

Random类:(主要用于产生随机数)

除了Math类的random()方法可以获取随机数之外,Random类也可以获取随机数。

Random r=new Random();

Random r=new Random(seedValue);
 r:Random对象。

seedValue:随机数生成器的种子。

常用的方法:

public int nextInt():返回一个随机整数

public int nextInt(int n):返回大于0小于n的随机整数。

public long nextLong():返回一个随机长整型

public boolean nextBoolean():返回一个随机布尔型值

public float nextFloat():返回一个随机浮点型值

public double nextDouble():返回一个随机双精度型值

public double nextGaussian():返回一个概率密度为高斯分布的双精度值

练习:

 public static void main(String[] args) {
//1、试随机产生一个4位数
//返回指定位数的随机数的公式:(int)(Math.random) * (最大数—最小数) +最小数
int num = (int)(Math.random() * (9999-1000) + 1000);
System.out.println(num);//输出随机四位整数
//2、返回不大于546.2134的最大整数
int num1 = (int) Math.floor(546.2134);
System.out.println(num1);//546
//3、返回大于123.1123的最小整数
int num2 = (int)Math.ceil(123.1123);
System.out.println(num2);//124
//4、从“a,b,c,d…z,A,B,C,….,Z”随机取4个字母在控制台上显示
String s = "QWERTYUIOPASDFGHJKLZXCVBNMzxcvbnmasdfghjklqwertyuiop";
char[] c = s.toCharArray();
Random random = new Random();
for(int i=1 ;i<5;i++) {
System.out.print(c[random.nextInt(c.length)]);//随机生成四位字母
}
}

三、大数值

大数值有两种类型的BigInteger和BigDecimal

BigInteger:int,long无法表示的大整数

BigDecimal:float,double无法表示的大浮点数

Java—Math类和随机数类的更多相关文章

  1. [19/03/18-星期一] 常用类_Math(数学)类&Rondom(随机数)类

    一.Math(数学)类(单独一个Java.Math 包中) java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型.如果需要更加强大的数学运算能力, ...

  2. Java基础教程——Random随机数类

    Random类 java.util.Random类用于产生随机数.需要导入包: import java.util.Random; 方法 解释 Random() 创建一个Random类对象 Random ...

  3. Java常用类之【Math类、Random类、System类、Runtime类】

    一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...

  4. Java中的大数处理类BigInteger和BigDecimar浅析

    这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; BigInteg ...

  5. BIgInteger类和BigDecimal类的理解

    第一部分: 这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal; Bi ...

  6. Java学习笔记26(Math类、Arrays类、BigInteger类、BigDecimal类)

    Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即 ...

  7. Java基础(四):Java Number & Math 类、Character 类、String 类、StringBuffer & StringBuilder 类

    一.Java Number & Math 类: 1.Number类: 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等.然而,在实际开发 ...

  8. 常用类--Date日期类,SimpleDateFormat日期格式类,Calendar日历类,Math数学工具类,Random随机数类

    Date日期类 Date表示特定的时间,精确到毫秒; 构造方法: public Data() public Date(long date) 常用方法: public long getTime() pu ...

  9. 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)

    1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则)     * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B: ...

随机推荐

  1. ueditor的上传文件漏洞(c#)

    项目中使用了ueditor,安全测试发现一个漏洞,涉及漏洞的文件名字为UploadHandler.cs,其中有一个方法: private bool CheckFileType(string filen ...

  2. 汉诺塔hanoi

    问题描述: 有一个梵塔,塔内有三个座A.B.C,A座上有诺干个盘子,盘子大小不等,大的在下,小的在上(如图). 把这些个盘子从A座移到C座,中间可以借用B座但每次只能允许移动一个盘子,并且在移动过程中 ...

  3. Apache 的 ab 压测工具快速使用

    ab 是一个 httpd 自带的很好用的压力测试工具,它是 apache bench 命令的缩写.ab 命令会创建多个并发访问线程,模拟多个访问者同时对某一 URL 地址进行访问.可以用来测试 apa ...

  4. Dubbo学习笔记7:Dubbo的集群容错与负载均衡策略

    Dubbo的集群容错策略 正常情况下,当我们进行系统设计时候,不仅要考虑正常逻辑下代码该如何走,还要考虑异常情况下代码逻辑应该怎么走.当服务消费方调用服务提供方的服务出现错误时候,Dubbo提供了多种 ...

  5. [原]Android Fragment 入门介绍

    Fragment Fragment 产生,优点,用途,使用方法简介 1 Fragmeng简介 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片.片段.其上的是为 ...

  6. MAC Book 共享网络连接

    CHENYILONG Blog MAC Book 共享网络连接 MAC Book 共享网络连接 MAC比Windows共享连接要方便很多,只需要以下两步操作: 1.打开系统偏好设置,选择共享 2.选择 ...

  7. python中的__enter__ __exit__

    我们前面文章介绍了迭代器和可迭代对象,这次介绍python的上下文管理.在python中实现了__enter__和__exit__方法,即支持上下文管理器协议.上下文管理器就是支持上下文管理器协议的对 ...

  8. Python程序员之面试必回习题

    写在前面 近日恰逢学生毕业季,课程后期大家“期待+苦逼”的时刻莫过于每天早上内容回顾和面试题问答部分[临近毕业每天课前用40-60分钟对之前内容回顾.提问和补充,专挑班里不爱说话就的同学回答]. 期待 ...

  9. 关于caffe的安装问题

    在caffe的安装过程中,出现 /usr/bin/ld: cannot find -lcblas /usr/bin/ld: cannot find -latlas的问题 这时解决方案为http://s ...

  10. 各浏览器 position: fixed 造成的bug 通用解决办法,Safari, iOS

    将原来使用 position: fixed  的元素外层包裹一个 div.fixedWrapper .fixedWrapper { width: 100%; overflow: hidden; pos ...