一、Math类
Math类中提供了一系列基本数学运算和几何运算的方法;
该类的构造方法被修饰为private,因此不能实例化;
该类中的所有方法都是静态的,可以通过类名直接调用;
该类被修饰为final,因此没有子类。
常用方法
例:
public class TestMath {
public static void main(String[] args) {
System.out.println("-3的绝对值:" + Math.abs(-3));
System.out.println("2的3次方:" + Math.pow(2, 3));
System.out.println("四舍五入-round:"+ Math.round(3.5763235));
System.out.println("四舍五入-ceil:"+ Math.ceil(3.5763235));
System.out.println("四舍五入-floor:"+ Math.floor(3.5763235));
for (int i = 0; i < 3; i++) {
System.out.println("3个随机数:" + Math.random());
}
for (int i = 0; i < 10; i++) {
// (int)((结束-起始)*Math.random()+起始);
int rdmNum = (int)((1000-500) * Math.random() + 500);
System.out.println("500到1000之间的随机整数" + rdmNum);
}
}
}
// java的random函数生成重复数字的概率比较高。因此,如果要生成唯一的数字,不要使用random。
二、util包的Random类
Random类专门用来生成随机数;
该类的构造方法有2种重载方式。
构造方法
常用方法
例:
package test;
import java.util.Random;
public class TestRandom {
public static void main(String[] args) {
Random ran = new Random();
for (int i = 0; i < 6; i++) {
System.out.println("当前的随机数是:" + ran.nextInt(2));
}
}
}
运行结果
三、Object类
Java中的类体系遵循单根结构,即任何一个类往上追溯都到达同一个父类;Object类就是这个单根体系的根,也就是说它是其它所有类的共同父类。
如果用户定义的类没有扩展任何其它类,则默认扩展自Object类;
Object类中定义的一些方法,会被继承到所有类中。
常用方法
1、toString方法:格式化输出
例:
package test;
class Student {
private String mName;
private int mAge;
public Student(String mName, int mAge) {
this.mName = mName;
this.mAge = mAge;
}
@Override
public String toString() {
String str = "姓名:" + mName + ",年龄:" + mAge;
return str;
}
}
public class ToStringDemo {
public static void main(String[] args) {
Student std = new Student("张三", 24);
System.out.println(std);
}
}
运行结果
四、Class类
Java应用程序实际上都是由一个个对象组成,这些对象分别属于什么类,是从哪个类继承而来,这一系列的信息都是由Class类的实例来记录的。Class类的实例用于记录对象的类描述信息
如果在程序运行时,需要检索某个对象的相关类信息,可以调用该对象的getClass方法来获得记录其描述信息的Class类实例
Class类没有公共的构造方法,无法通过new运算符实例化,只能通过对象的getClass方法,或是通过Class的静态方法forName来获得实例。
创建对象的方法
常用方法
例:
package test;
public class TestClass {
public static void main(String[] args) {
Student stu1 = new Student();
stu1.name = "老大";
System.out.println("stu1的姓名:" + stu1.name);
try {
Class cla = stu1.getClass();
Student stu2 = (Student) cla.newInstance();
stu2.name = "老二";
System.out.println("stu2的姓名:" + stu2.name);
//在方法中指定的包路径下查找Student.class的文件,由Class直接加载到JVM中运行
Class cla2 = Class.forName("test.Student");
Student stu3 = (Student) cla2.newInstance();
stu3.name = "老三";
System.out.println("stu3的姓名:" + stu3.name);
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行结果