目
录
System 类包含一些有用的类字段和方法,它不能被实例化:
1.Math类
Math 类包含用于执行基本数***算的方法,如初等指数、对数、平方根和三角函数等.
Math类中常见的静态常量和静态方法:
- public static final double E ; 自然底数
- public static final double PI; 圆周率
- Math.abs(int a); 取a的绝对值
- Math.ceil(double a); a向上取整
- Math.floorl(double a); a向下取整
- Math.max( int a, int b); 获取最大值
- Math.min(int a, int b); 获取最小值
- Math.pow(double a, double b); 获取a的b次幂
- Math.random (); 获取随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0.区间在[0,1)
- Math.round( float a); 四舍五入
- Math.sqrt(double a); 获取正平方根
public class MathTest {
public static void main(String[] args) {
//E :自然底数 PI:圆周率
double e=Math.E;
double pi = Math.PI;
System.out.println(e); //2.718281828459045
System.out.println(pi); //3.141592653589793
//取绝对值
System.out.println(Math.abs(-10)); //10
//向上取整 向下取整
int ceil = (int) Math.ceil(3.14);
int floor = (int) Math.floor(3.14);
System.out.println(ceil); //4
System.out.println(floor); //3
//获取最小值
double min = Math.min(60, 3.5);
System.out.println(min); //3.5
//获取三个数中的最大值
int max = Math.max(Math.max(5, 90), 500);
System.out.println(max); //500
//获取2的4次幂
System.out.println(Math.pow(2, 4)); //16.0
//四舍五入
System.out.println(Math.round(3.69)); //4
//获取正平方根
System.out.println(Math.sqrt(4)); //2.0
//获取立方根
System.out.println(Math.pow(8, 1 / 3.0)); //2.0
}
}
2.Random类
产生随机数可用相同的种子:
Random类用于产生随机数如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列.一般生成随机数需要不一样的,所以一般不会使用到种子!
random.nextInt(); / random.nextLong(); / random.nextDouble(); / random.nextBoolean();等等,可以生成任意类型的随机数.
public class Test {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i < 10; i++) {
//生成随机整数 范围自己指定。
int num = random.nextInt(10); //0-9
System.out.println("num:"+num);
//生成10个1-9之间的随机数,这个时候没重新运行就会生成的新一轮的随机数
}
/* 创建一个新的随机数生成器。
Random( long seed)
使用单个 long 种子创建一个新的随机数生成器.*/
Random random2 = new Random(10L);
for (int i = 0; i < 10; i++) {
int num = random2.nextInt(10);
System.out.println("num:"+num);
//生成10个1-9之间的随机数,这个时候不管运行多少次都是生成的同一轮的随机数
}
}
}
3.System类
System 类包含一些有用的类字段和方法,它不能被实例化:
- in (public static final InputStream in) “标准”输入流.此流已打开并准备提供输入数据.通常,此流对应于键盘输入.例:Scanner scanner = new Scanner(in);
- out (public static final PrintStream out) “标准”输出流.此流已打开并准备接受输出数据.通常,此流对应于显示器输出.例:System.out.println(123);(这部分深层次的io流什么的等后期学习了再做补充!)
- System.exit(0); 退出JVM 0 是正常退出,非0是强制退出,退出之后,程序不再继续执行!
- System.currentTimeMillis(); 获取当前系统的毫秒值(获取的是 1970-01-01 00:00:00----到现在所间隔的毫秒值)一般可用作统计一个程序运行会消耗多少毫秒.
- System.gc(); 运行垃圾回收器.(对象用完后置为null 有利于垃圾回收器的及早回收)
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Scanner;
public class SystemTest {
public static void main(String[] args) {
InputStream in = System.in;
Scanner scanner = new Scanner(in);
PrintStream out = System.out;
out.println("abc"); //abc
System.out.println(200); //200
//1970-01-01 00:00:00----到现在所间隔的毫秒值
long timeMillis = System.currentTimeMillis();
System.out.println(timeMillis); //1651723110743
//统计一个程序运行会消耗多少毫秒
long start = System.currentTimeMillis();
for (int i = 0; i < 5000; i++) {
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) + "毫秒"); //耗时:39毫秒
//运行垃圾回收器,一般手动运行,不一定就可以出发垃圾回收
System.gc();
}
}
public class SystemexitTest {
public static void main(String[] args) {
System.out.println("abc");
System.out.println("abc");
//退出JVM 0 是正常退出,非0是强制退出
//System.exit(0);退出之后,程序不再继续执行!
for (int i = 0; i < 100; i++) {
if (i == 20) {
System.exit(0);
}
}
//这后面的就不会再继续执行了!
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
System.out.println("abc");
//结果:abc
// abc
}
}
4.BigDecimal类
如果需要更高精度的要求,double就不满足了.BigDecimal 这个类可以满足我们对精度要求.一般在银行金融方法需要较高的精度.就会用到这个类.
BigDecimal类中的常用的方法:
- add (BigDecimal augend) 加法
- subtract (BigDecimal subtrahend) 减法
- multiply (BigDecimal multiplicand) 乘法
- divide (BigDecimal divisor) 除法
- divide (BigDecimal divisor,int scale, int roundingMode) scale 小数点后面保留几位小数
- BigDecimal.ROUND_HALF_UP 向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("3.25585858585474747474");
BigDecimal b = new BigDecimal("3.2558585858547474747499999");
BigDecimal multiply = a.multiply(b); //乘
String s = multiply.toString();
System.out.println(s); //10.600615131084076033041750791647095827340252526
BigDecimal c = new BigDecimal("6");
BigDecimal d = new BigDecimal("3");
//能整除
BigDecimal divide = c.divide(d);
System.out.println(divide); //2
//不能整除
BigDecimal e = new BigDecimal("10");
BigDecimal f = new BigDecimal("3");
//ROUND_HALF_UP,向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
BigDecimal divide2 = e.divide(f, 3, BigDecimal.ROUND_HALF_UP);
System.out.println(divide2); //3.333
}
}
(小编也在努力学习更多哟!以后再慢慢分享的啦!)
希望对友友们有所帮助!!!!