JavaSE08

StringBuffer 和StringBuilder的常用方法

增加了操作字符串的方法

String:字符串常量,字符串长度不可变.改变了字符串,新建String对象.适用操作字符 串少

StringBuffer:字符串常量,同步,线程安全,适合同步,频繁对字符串操作.多线程大 量操作

StringBuilder:字符串常量,不同步,线程不安全,效率比较高.单线程大量操作字符串

 

  • 日期 java.util.Date类

Java.sql.Date  为了与数据库的Date类型相匹配

Java.util.Date类 封装好当前的日期和时间对象

 

  • 日历

抽象类Calendar  实现类GregorianCelendr

 

  • 日期和日历的区别
  1. 名字上:日期,日历; 作用范围不一样
  1. 日期:处理当前时间
  2. 日历:处理到年月日
  1. 类型:Date 普通类,日历类是抽象类
  2. 操作方式:日历操作方法比日期多很多
  1. Date操作时间比较方便
  2. 日历操作年,月,日比较方便
  3. 日历肯定更好用

 

 

  • 异常

异常exception是程序中的一些风险,这些风险处理机制,可以避免异常

比如:空指针,数组下标越界,类型转换

错误error是不符合程序的规范

比如:程序中没有写符号等

异常有两种:

检查性异常,和运行时异常(非检查性)

检查性异常:必须要处理的异常. 只能自己处理,不能抛出此异常.比如IO异常和SQL异常

 

运行时异常:运行时异常可能被避免的异常

比如:常见异常,内存溢出异常

 

Exception类

 

Exception是所有异常类的父类

Throwable类子类: Exception(异常),Error(错误);

Exception类主要的两个子类:IOException 和 RuntimeException类

异常类都是处在java.lang包中,不用导包,默认加载到了程序中

 

异常处理机制

两种:1.抛出异常  2.捕获异常

抛出异常:把异常抛给上一级进行处理,使用者不处理

语法:throws Exception

捕获异常:使用者进行捕获异常

语法:

try{

//程序的代码

}catch(Exception e){

//捕获异常的区域

//把异常打印输出流中

e.printStackTrace()

}finally{

//最终会执行的区域

}

Try代码块:程序代码。可能会出现异常的代码块

Catch代码块:捕获异常代码块,异常出现后,会在此代码块中捕获,并且执行异常的方法

Finally代码块:可写,一定会执行的代码块

 

 

多重捕获异常

一个try代码块后面有多个catch代码块,说明要捕获多个异常

多重捕获异常规则:从小异常到大异常的捕获顺序,捕获的异常更精准,更详细.执行顺序从上往下每个catch都会执行,知道异常被捕获

 

Finally代码块

一定会执行的代码块,可以在此代码块中运行清理等收尾善后的工作

比如:JDBC的连接,资源关闭

 

声明自定义的异常:

  1. 所有异常的父类都是Exception,Exception的父类是Throwable类.自定义的异常必须继承Exception类
  2. 声明检查性异常,继承Exception类
  3. 声明运行时异常,继承RuntimeException类
  4. 声明异常类与普通类一样,包含变量,构造方法,方法

 

你可能感兴趣的:(Java基础)