一、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. javascript函数以及作用域简介

    javascript函数以及作用域简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基本函数 对于JavaScript中函数参数,实际参数的个数可能小于形式参数的个数,函数内 ...

  2. 函数和常用模块【day05】:装饰器前奏(一)

    本节内容 定义 原则 实现装饰器的储备知识 函数及变量 高阶函数 一.定义 1.装饰器:本质是函数. 2.功能:用来装饰其他函数,顾名思义就是,为其他的函数添加附件功能的. 二.原则 不能修改被装饰函 ...

  3. 用Riffstation扒带

    有人说扒带本质就是扒和声 编曲初学者如果是自学的情况下很容易陷入瓶颈,网络上的编曲爱好者大都建议去多扒带,所谓扒带其实就是把别人的编曲自己编出来,然而这要很好的听力,下面我介绍的这款软件就是用来扒和声 ...

  4. cookie添加删除修改

    //cookie添加 document.cookie="username=John Doe"; //添加过期时间 document.cookie="username1=J ...

  5. npm install --save

    1. npm install:本地安装 2. npm install -g:全局安装 我们在使用 npm install 安装模块或插件时,有两种命令把它们写入到 package.json 文件中去, ...

  6. 何凯文每日一句打卡||DAY7

  7. Brief History of Machine Learning

    Brief History of Machine Learning My subjective ML timeline Since the initial standpoint of science, ...

  8. html5 canvas 圆形径向渐变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. C标准库函数中复杂的函数声明

    <signal.h> 中有一个复杂的函数声明.很叫人费解. void (*signal(int sig, void (*handler)(int)))(int); 我们按照向右看向左看的黄 ...

  10. 基于Window10搭建android开发环境

    一.安装JDK 1.下载(网页链接) 2.双击安装文件进行安装,安装在合适目录,例如:D:\Java\jdk1.8.0_201与D:\Java\jre1.8.0_201 3.设置环境变量 3.1.JA ...