1 Math(应用)
1、Math类概述
Math 包含执行基本数字运算的方法
2、Math中方法的调用方式
Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用
3.
方法名 方法名 | 说明 |
---|---|
public static int abs(int a) | 返回参数的绝对值 |
public static double ceil(double a) | 返回大于或等于参数的最小double值,等于一个整数 |
public static double floor(double a) | 返回小于或等于参数的最大double值等于一个整数 |
public static int round(float a) | 按照四舍五入返回最接近参数的int |
public static int max(int a,int b) | 返回两个int值中的较大值 |
public static int min(int a,int b) | 返回两个int值中的较小值 |
public static double pow (double a,double) | 返回a的b次幂的值 |
public static double random() | 返回值为double的正值,[0.0,1.0)` |
System
System常用方法:
方法名 | 说明 |
---|---|
public static void exit(int status) | 终止当前运行的 Java 虚拟机,非零表示异常终止 |
public static long currentTimeMillis() | ) 返回当前时间(以毫秒为单位) |
public class SystemDemo {
public static void main(String[] args) {
// 获取开始的时间节点
long start = System.currentTimeMillis();
for (int i = 1; i <= 10000; i++) {
System.out.println(i);
}
// 获取代码运行结束后的时间节点
long end = System.currentTimeMillis();
System.out.println("共耗时:" + (end - start) + "毫秒");
}
}
结果:
1 Date类
计算机中时间原点
1970年1月1日 00:00:00
时间换算单位
1秒 = 1000毫秒
Date类概述
Date 代表了一个特定的时间,精确到毫秒
Date类构造方法
public Date() | 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 |
---|---|
public Date(long date) | 分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数 |
public static void main(String[] args) {
Date date = new Date(); //public Date();系统当前时间
System.out.println(date);
long time = System.currentTimeMillis();
Date date1 = new Date(time); // public Date(long date);接受一个距今的毫秒值
System.out.println(date1);
}
Random
概念:Random通常用于生成随机数或选择随机元素。随机数是指在一定范围内以随机顺序选择的数值。这些随机数可以用于模拟随机的情况,例如游戏中的掷骰子、抽奖或密码生成等。
公式:在区间 [min,max] 中生成一个随机数, random. 数据类型 (max-min +1)+min;
例子
生成一个[0,100)区间的整数
int n = random.nextInt(100);
生成一个 [1,100] 区间的整数
int n = random.nextInt(100)+1;
生成一个[50,100] 区间的整数
int n = random.nextInt(51)+50;
String、StringBuffer、StringBuilder
区别如图
2.String
String是不可变的,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。
可以看出来,再次给s赋值时,并不是对原来堆中实例对象进行重新赋值,而是生成一个新的实例对象,并且指向“def”这个字符串,s则指向最新生成的实例对象,之前的实例对象仍然存在,如果没有被再次引用,则会被垃圾回收。
StringBuffer
StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString()方法将其转换为一个String对象。StringBuffer对象是一个字符序列可变的字符串,它没有重新生成一个对象,而且在原来的对象中可以连接新的字符串。
4.StringBuilder类也代表可变字符串对象。实际上,StringBuilder和StringBuffer基本相似,两个类的构造器和方法也基本相同。不同的是:StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高