(不能创建对象)
Math包含执行基本数字运算的方法
Math类的常用方法:
public static int abs(int a)--返回参数的绝对值
System.out.println(Math.abs(-12)); //输出12
public static double ceil(double a)--返回大于或等于参数的最小double值,等于一个整数
System.out.println(Math.ceil(12.24)); //输出13.0
public static double floor(double a)--返回小于或等于参数的最大double值,等于一个整数
System.out.println(Math.floor(12.24)); //输出12.0
public static int round(float a)--按照四舍五入返回最接近参数的int
System.out.println(Math.round(12.24)); //输出12.0
public static int max(int a,int b)--返回两个int值中的较大值
System.out.println(Math.max(1,2)); //输出2
public static int min(int a,int b)--返回两个int值中的最小值
System.out.println(Math.min(1,2)); //输出1
public static double pow(double a,double b)--返回a的b次方的值
System.out.println(Math.pow(1,2)); //输出1
public static double random()--返回值为double的正值
System.out.println(Math.random()); //输出的数在0.0和1.0之间 System.out.pringln(Math.random()*100); //输出的数在0.0到100.0之间 System.out.println(int)(Math.random()); //输出的数为整型数据 //要想取得到100,可在末尾加1
(不能创建对象)
System类包含几个有用的类和方法,它不能被实例化
System常用方法:
public static void exit(int status)--终止当前运行的Java虚拟机,非零表示异常终止
System.out.println("开始"); System.exit(0); System.out.println("结束"); //输出开始 在第二步终止虚拟机运行后,其后的程序不会被调用
public static long currentTimeMillis()--返回当前时间(以毫秒为单位)
System.out.println(System.currentTimeMillis());//输出的是当前时间距离1970年的毫秒数 System.out.println(System.currentTimeMillis()*1.0/1000/60/60/24/265+"年");//距离1970的年数 //同样可以用来记录某某程序的运行时间
是类层次结构的根,每个类都可以把Object类作为超类(直接或者间接地继承该类)
构造方法:public Object()
举例:
//学生类 public class student { private String name; private int age; public void setname(String name) { this.name=name; } public String getname() { return name; } public void setage(int age) { this.age=age; } public int getage() { return age; } } //测试类 public class test { public static void main(String[] args) { student a=new student(); a.setname("lily"); a.setsge(19); System.out.println(a);//此时输出为一串并不直观的字符串 } }
原因是:默认调用了顶级父类Object类的toString函数,可以通过方法重写解决该问题;
//学生类 public class student { private String name; private int age; public void setname(String name) { this.name=name; } public String getname() { return name; } public void setage(int age) { this.age=age; } public int getage() { return age; } public String toString() { return ("姓名:"+name+" "+"年龄:"+age); } } //测试类 public class test { public static void main(String[] args) { student a=new student(); a.setname("lily"); a.setsge(19); System.out.println(a); System.out.println(a.toString());//这样进行操作就可以正常输出啦! } }
可用来比较两个对象的内容是否相同(字符串)
举例:
//学生类 public class student { private String name; private int age; public void setname(String name) { this.name=name; } public String getname() { return name; } public void setage(int age) { this.age=age; } public int getage() { return age; } public boolean equals(Object o) { //判断是否为空 if(this==o)return true; //判断是否为空 判断是否在同一个类中 if(o==null||getClass()!=o.getClass())return false; //向下转型 animal s=(animal) o; //判断年龄是否相同 if(age!=s.age)return false; //判断姓名是否相同 return name!=null?name.equals(s.name):s.name==null; } } //测试类 public class test { public static void main(String[] args) { student s1=new student(); s1.setname("lily"); s1.setage(19); student s2=new student(); s2.setname("lily"); s2.setage(19); System.out.println(s1.equals(s2)); } }