首页 > 代码库 > [JAVA_开课吧资源]第三周 常用类库、异常处理

[JAVA_开课吧资源]第三周 常用类库、异常处理

主题一 常用类库

» 类库中常用的包

Java类库中的类和接口大多封装在特定的包里,每个包具有自己的功能。

[请点击查看更多内容 转自CSDN博客XXX的专栏]

» Object类的一些常用方法

  • hashCode:public int hashCode()返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表
  • equals:public boolean equals(Object obj)指示某个其他对象是否与此对象“相等”
  • toString:public String toString()返回该对象的字符串表示

[请点击查看更多内容 转自CSDN博客Rookie的专栏]

» Math类的方法

java.lang.Math类中包含基本的数字操作,如指数、对数、平方根和三角函数。java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal)算法的类。

[请点击查看更多内容 转自fens的博客]

» 基本数据类型与数据类型类的区别

  • 基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的
  • java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的(对像的引用在堆栈上创建)使用数据类型类的优点
  • 封装类的出现,更方便的使用一些基本类型不具备的方法,比如valueOf(),toString()等等
  • 如果想传递一个int对象的引用,而不是值,那只能用封装类

[请点击查看更多内容 转自百度文库]

» 字符串和字符串缓冲区

字符序列除了可以存储在字符数组中,还可以以字符串和字符串缓冲区实例对象的形式存储。这里介绍的字符串 值得是类java.lang.String的实例对象。与字符数组相比,字符串不含成员域“length”。Java的软件包提供了 非常丰富的与字符串相关的方法,包括将各种类型的数据转化成为字符串。类java.lang.String的实例对象一旦创建,则它所包含的字符序列就不能发生变化。字符串缓冲区类java.lang.StringBuffer与字符串类 java.lang.String非常相似,类java.lang.StingBuffer的实例对象所包换的字符序列可以被修改。

[请点击查看更多内容 转自鱻鯹鯹oоО的博客园]

» String

字符串通常包含一个字符序列。在java语言中,字符串不需要任何特殊字符来界定字符序列的首部和尾部。构造字符串类java.lang.String实例对象的方法主要有4种:

  • 直接采用字符串直 接量的方式。字符串直接量是在java源程序中采用双引号括起来的java字符序列。如:“abcd“
  • 构造字符串类 java.lang.String实例对象的方法是通过来java.lang.String的构造方法并采用new运算符来实现,其格式如下:new String(参数列表)
  • 构造 java.lang.String实例对象的方法是通过各种成员方法生成java.lang.String实例对象。例如:public static String valueOf ( int I )
  • 构造 java.lang.String实例对象的方法是利用运算符 ”+“例如:String s1 = “123” + “456”

[请点击查看更多内容 转自吴勇寿的博客园]

» StringBuffer

字符串缓冲区类java.lang.StringBuffer的实例对象和字符串类java.lang.String的实例对象非常相似,都可以包含一个字符序列。但是字符串实例对象一旦创建完毕,就不能再修改它的字符序列。而字符串缓冲区实例对象在创建之后仍然可以修改它的字符序列。StringBuffer类的构造函数:

  • public StringBuffer()创建一个空的StringBuffer类的对象
     
  • public StringBuffer( int length )创建一个长度为参数length 的StringBuffer类的对象。注意:如果参数length小于0,将触发NegativeArraySizeException异常
     
  • public StringBuffer( String str ) 用一个已存在的字符串常量来创建StringBuffer类的对象
     

[请点击查看更多内容 转自百度百科]

» String和StringBuffer的区别

String和StringBuffer的区别具体如下:

  • String是对象不是原始类型。为不可变对象,一旦被创建,就不能修改它的值。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。String 是final类,即不能被继承。
  • StringBuffer是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象它只能通过构造函数来建立,StringBuffer sb = new StringBuffer()

[请点击查看更多内容 转自yirentianran的CSDN博客]

» 日期类Date

Java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间。

[请点击查看更多内容 转自小山丘的博客园]

 

» 日历类Calendar

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。该类还为实现包范围外的具体日历系统提供了其他字段和方法。

[请点击查看更多内容 转自FreeAquar的博客园]

» 随机数类Random

Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、long、 float、double以及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。类Random中的方法十分简单,它只有两个构造方法:

  • public Random()
  • public Random (long seed)

Java产生随机数需要有一个基值seed,在第一种方法中基值缺省,则将系统时间作为seed。

[请点击查看更多内容 转自 ITeye技术网站lehsyh的博客园]

主题二 异常处理

» 异常

异常是程序在执行时发生的事件,它会打断指令的正常流程。

[请点击查看更多内容 转自百度百科]

» 抛出异常

许多种类的错误将触发异常,这些问题从像硬盘坠毁这样的严重硬件错误,到尝试访问越界数组元素这样的简单程序错误,像这样的错误如果在Java函数中发生,函数将创建一个异常对象并把他抛出到运行时系统(runtime system)。异常对象包含异常的信息,包括异常的类型,异常发生时程序的状态。运行时系统则有责任找到一些 代码处理这个错误。在Java技术词典中,创建一个异常对象并把它抛给运行时系统叫做:异常抛出(throwing an exception)。

[请点击查看更多内容 转自未知网站]

» 捕获异常

当某个函数抛出一个异常后,运行时系统跳入了这样一个动作,就是找到一些代码来处理这个异常。要找的处理异常的可能的代码的集合(set)是:发生异常的方法的调用堆栈(call stack)中的方法的集合(set)。运行时系统向后搜寻调用堆栈,从错误发生的函数,一直到找到一个包括合适的异常处理器(exception handler)的函数。一个异常处理器是否合适取决于抛出的异常是否和异常处理器的异常是同一种类型。因而异常向后寻找整 个调用堆栈,直到一个合格的异常处理器被找到,调用函数处理整个异常。异常处理器的选择被叫做:捕获异常(catch the exception)。

[请点击查看更多内容 转JAVA编程语言百科]

[请点击查看更多内容 转自zuo85693137的和讯博客]

» 异常关键字

Java中的异常可以通过关键字进行控制,主要有try、catch、throw、throws和finally五个。

  • try:使用在程序中有可能会出现不正常的地方,此时可以使用try将可能出现异常的代码段包围起来,如果try语句块中出现异常,那么这个异常就会被抛出
  • catch:用来捕获异常,并在这个语句块中对该异常进行处理,如输出说明语句等
  • finally:不管发生还是不发生异常,都需要执行
  • throw:用来动手引发一个异常
  • throws:声明一个方法会抛出异常

[请点击查看更多内容 转自失意的新浪博客]

» 自定义异常

Java本身自带了一些异常类,但是在某些特定的情况下,还需要用户自己去创建一个异常类,创建异常 类只需要继承Throwable类或者是它的子类Exception就可以了。

  • 第一种定义方式:继承Exception类
  • 第二种定义方式:继承Throwable 类

[请点击查看更多内容 转自zip2006110@126的网易博客]

» throw和throws的区别

throw关键字通常用于方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即终止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法的声明中指明要抛出的异常;如果要捕捉throw抛出的异常,则必须使用try-catch语句 。

用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。

  • throw是语句抛出一个异常。语法:throw (异常对象)
  • throws是方法可能抛出异常的声明(用在声明方法时,表示该方法可能要抛出异常)。语法:[(修饰符)](返回值类型)(方法名)([参 数列表])[throws(异常类)]{......}

[请点击查看更多内容 转自bboo3490的CSDN博客]

» 异常的层次结构

当异常发生时,Java会将该异常包装成一个异常类的对象,并将其引用作为参数传递给相应的catch语句,这样在 catch语句中就可以对这个异常对象进行操作。Java里的异常处理是面向对象的,它具有一个层次结构。两个主要分支:Error,Exception 。

[请点击查看更多内容 转自mars_xdz的csdn博客]

» 声明方法抛出异常

为什么要声明方法抛出异常?

方法是否抛出异常与方法返回值的类型一样重要。假设方法抛出异常之前,没有声明该方法将抛出异常,那么客户程序员可以调用这个方法而且不用编写处理异常的代码。那么一旦出现异常,那么这个异常就没有合适的异常控制器来解决。

为什么抛出的异常一定是已检查异常?

RuntimeException与Error可以在任何代码中产生,它们不需要由程序员显示的抛出,一旦出现错误,那么相应的异常会被自动抛出。而已检查异常是由程序员抛出的,这分为两种情况:客户程序员调用会抛出异常的库函数(库函数的异常由库程序员抛出);客户程序员自己使用throw语句抛出异常。遇到Error,程序员一般是无能为力的;遇到RuntimeException,那么一定是程序存在逻辑错误,要对程序进行修改(相当于调试的一种方法);只有已检查异常才是程序员所关心的,程序应该且仅应该抛出或处理已检查异常。

[请点击查看更多内容 转自亲亲美人的博客园]

» 每个类型的异常的特点

Error体系:Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形。

Exception体系:包括RuntimeException体系和其他非RuntimeException的体系;① RuntimeException: RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。②其他非RuntimeException (IOException等等):这类异常一般是外部错误。

Java中常见的异常类:Throwable,Exception,Error,Runtime Exception,非Runtime Exception。

[请点击查看更多内容 转自红黑联盟]

» 关于异常的其他问题

  • 过度使用异常
  • 将异常与普通错误区分开
  • 异常对象中包含的信息

[请点击查看更多内容 转自亲亲美人的博客园]

» 为什么编译时对异常进行检查

当你确信方法的使用者会处理你的方法抛出的异常时,可以使用编译时异常。不处理编译时异常,程序编译不能 通过。而运行时异常给了方法的调用者以选择,他可以选择处理,也可以不处理。处理的话,进行catch即可,不 处理的话就什么也不做就是了。不处理运行时异常,程序编译能够通过。

[请点击查看更多内容 转自编译网]

» Java运行时异常与编译时异常区别

Java中用2种方法处理异常:

  • 在发生异常的地方直接处理
  • 将异常抛给调用者,让调用者处理

Java异常可分为3种:

  • 编译时异常:Java.lang.Exception,程序正确,但因为外在的环境条件不满足引发
  • 运行期异常:Java.lang.RuntimeException,这意味着程序存在bug,如数组越界,0被除,入参不满足规范.....这类异常需要更改程序来避免,Java编译器强制要求处理这类异常
  • 错误:Java.lang.Error,一般很少见,也很难通过程序解决

[请点击查看更多内容 转自linux公社]