# Java中Math类、Random类和System类的概述

xiaoxiao2021-02-28  13

1:Math (1)针对数学运算进行操作的类 (2)常见方法

A:绝对值

Math.abs(-10)           结果为10

B:向上取整

Math.ceil(12.34)         结果为13.0

C:向下取整

Math.floor(12.34)       结果12.0

D:两个数据中的较大值和较小值

Math.max(12, 23)       结果为23

Math.min(12, 23)        结果为12

E:a的b次幂

Math.pow(2, 3)           结果为8.0

F:随机数

Math.random()          结果为0.0-1.0之间的一个随机数(0.0=<随机数<1.0)

G:四舍五入

Math.round(12.56)    结果为13

Math.round(12.34f)   结果为12

H:正平方根

Math.sqrt(4)               结果为2.0

(3)举例：

A:猜数字小游戏

package cn.itcast.game;                    import java.util.Random;                    import java.util.Scanner;                    /**                         * 这是猜数字小游戏                         * @author 夜斗                         *                          *                     */                    public class GuessNumber {                        private GuessNumber(){                         }             public static void start(){     int number = (int)(Math.random()*100);     Scanner sc = new Scanner(System.in);     int count = 0;     while(true){     System.out.println("请输入一个1-100的数：");     int guessnumber = sc.nextInt();     if(guessnumber>number){          count++;         System.out.println("Bigger");       }      else if(guessnumber<number){         count++;         System.out.println("Smaller");         }        else{           count++;           System.out.println("You are right!");           break; } } if(count<=6){ System.out.println("You are clever!"); } else if(count>6&&count<=9){ System.out.println("You are good!"); } else{ System.out.println("You are normal!");         }             }            }

B:获取任意范围的随机数

package cn.itcast_02;                   import java.util.Scanner;                   public class MathDemo {                                public static void main(String[] args) {                         Scanner s = new Scanner(System.in);                         System.out.println("请输入随机数的起始值：");                         int start = s.nextInt();                         System.out.println("请输入随机数的末尾值：");                         int end = s.nextInt();                         getRandom(start, end);                         }                         public static void getRandom(int start,int end){                 int mid = end - start + 1;                 int result = (int)(mid*Math.random())+start;                 System.out.println("该区间的一个随机数为： "+result);                         }                }

2:Random (1)用于产生随机数的类 (2)构造方法: A:Random() 默认种子，每次产生的随机数不同 B:Random(long seed) 指定种子，每次种子相同，随机数就相同 (3)成员方法: A:int nextInt() 返回int范围内的随机数 B:int nextInt(int n) 返回[0,n)范围内的随机数 3:System (1)系统类,提供了一些有用的字段和方法 (2)成员方法

A:运行垃圾回收器

System.gc();

B:退出jvm

System.exit(0);

C:获取当前时间的毫秒值

System.currentTimeMillis();

D:数组复制

System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length)

src:源数组

srcPos:源数组要复制的起始位置

dest:目的数组

destPos:目的数组放置的起始位置

length:复制的长度

举例：

import java.util.Arrays;                    public class SystemDemo {                    public static void main(String[] args) {             int [] arr = {11,22,33,44,55};             int [] arr2 = {6,7,8,9,10};             System.arraycopy(arr,1,arr2,2,2);             System.out.println(Arrays.toString(arr));       //结果为[11, 22, 33, 44, 55]             System.out.println(Arrays.toString(arr2));   //结果为[6, 7, 22, 33, 10]                    }                     }