java.lang.math类功能_java系列13:lang包:Math类、Object类、Class类

一、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();

}

}

}

运行结果

你可能感兴趣的:(java.lang.math类功能_java系列13:lang包:Math类、Object类、Class类)