常用类
Object
Java一切对象的父类,toString()会自动调用,有时需要根据需要重写某些方法
public boolean equals(Object obj) //判断两个对象是否相等
public String toString() //返回该对象的字符串表现方式
public int hashCode() //返回该对象的哈希码值
包装类
因为java扬言自己是完全面向对象的语言,但是数据类型就不是对象,有点打脸~所以有了包装类,包装类就是各个基本数据类型的对象化类
int => Integer
char => Character
别的基本类型转成包装对象是将首字母大写即可
装箱与拆箱(JDK1.5以后能自动发生):
装箱:基本数据类型转成包装类型
拆箱:包装类型转成基本数据类型
Integer val = Integer.valueOf(12);//手动装箱 Integer val2 = 12;//自动装箱 int val3 = val.integerValue();//手动拆箱 int val4 = val2;//自动拆箱
Date
由于很多方法不能国际化而被废弃了,记着下面3个构造方法就好了,用于创建时间
构造方法:
public Date() //获取当前时间,此时间不是国际化的
public Date(long date) //把一个毫秒数转成时间
public long getTime() //把时间转成毫秒数
SimpleDateFormat
用于将Date对象格式化
构造方法:public SimpleDateFormat(String pattern) //传入转换格式
格式:年(yyyy)月(MM)日(dd)时(HH)分(mm)秒(ss)毫秒(SSS)
日期转字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss"); System.out.println(sdf.format(new Date()));
字符串转日期
String time = "2017-06-23 23:00:00.000"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss"); try { System.out.println(sdf.parse(time)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Calendar
Date类用于创建时间,SimpleDateFormat类用于格式化时间,Calendar类用于获取时间的细节,比如单独获取时分秒
是一个抽象类不能直接实例化
Calendar cale = Calendar.getInstance(); int y = cale.get(Calendar.YEAR);//年 int m = cale.get(Calendar.MONTH);//月
Math
Math类里面提供的都是静态方法
ceil(x);//向上取整 flor(x);//向下取整 round(x);//四舍五入(如果操作的是负数,小数位要大于0.5才进位) squrt(x);//开平方根 min(x,y);//返回较小的数 max(x,y);//返回较小的数
...
0.5
System.out.println(Math.round(15.5));//15 System.out.println(Math.round(-15.5));//-15 System.out.println(Math.round(-15.51));//-16
Random
Random r = new Random();
nextInt(x);//0-x的整数 nextDouble(x);//0-x的小数 nextInt();//随机一个整数 nextDouble(x);//0-1的小数(前闭后开)
Throwable
Java中所有的异常的父类,分为异常和错误
Error:错误,我们处理不了的问题。比如内存不足,JVM异常
Exception:异常,由程序造成的问题,需要我们处理。
编译时异常:IOException、SqlException、ClassNotFontException
运行时异常:IndexOutOfBoundsException、NullPointException(在内存中找不到,空指针)、ArithmeticException(0作为了除数)
异常处理(捕获)
try...catch,可以跟多个catch块(先子类后父类)
try{ //可能出现异常的code }catch(异常类 名称){ //如果出现异常,执行这里的代码,在这里会产生异常对象 }catch(异常类 名称){ }finally{ //异常处理出口,关闭产生的异常对象。作用是不管有没有异常出现,都会执行这里 }
异常处理(抛出):
在方法体上抛出异常类,用关键字throws
在方法体里面抛出异常对象,用关键字throw
自定义异常:
在用的时候,在方法签名后面要throws(告诉虚拟机有这个异常存在),然后方法体中throw
class MyException extends Exception{ public MyException(){ super(); } public MyException(String arg0){ super(arg0); } }
Scanner
构造方法:可以接受File对象,也可以接受一个字节输入流
public Scanner(File source) throws FileNotFoundException
public Scanner(InputStream source)
两大类方法:hasNext()、hasNextXxx();//返回布尔值
next()、nextXxx();//取得具体内容