(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]
}
}