Java 异常类和常用类、容器、泛型基本介绍

文章介绍了Java中的异常处理机制,包括try-catch-finally和throws关键字,强调了异常处理在确保程序健壮性上的重要性。此外,还讨论了String、StringBuffer类以及Date和Calendar类的功能。容器和泛型的概念也被提及,特别是List、Set、Queue和Map接口,以及泛型在类型安全和代码简洁性上的优势。
摘要由CSDN通过智能技术生成

1.异常(exception)

简介:在java语言中,在程序执行时发生的不正常情况成为异常,逻辑或语法错误等不算在内。

可大致分为两类,1.Error:jvm无法解决的严重问题     

                             2.Exception:一般性问题,可进行针对性改进解决,可分为运行时异常和编译                                                       时异常。

引入:当程序执行到某条语句抛出异常(比如用0当作分母抛出的数学异常,试图打开一个根本不存在的文件、数组下标越界等),程序便会终止,这在一些大型项目中十分致命,我们评价此程序健壮性太低,对此,java设计者提供一个异常处理机制解决该问题。

异常处理1:try-catch(异常捕获)

try{
//代码块
} catch(exception XXX){
//若异常则输出异常信息,如:
System.out.println(xxx.getMessage())
//或执行其他排错操作
}finally{
//不管是否发生异常都执行该代码块的内容
}

异常处理2:throws(声明异常)

简介:如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。(简称踢皮球)

用法:在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类。

修饰符 返回值类型 方法名称 (参数)throws 异常1名称,异常2名称{

}

自定义异常:throw(抛出异常)

定义类:自定义异常类名(程序员自己写)继承Exception(该异常属于编译异常)或RuntimeException(该异常属于运行时异常)

格式:throw new (异常名) (参数列表)

2.常用类(多查看自java api)

string类

1)String对象用于保存字符串,也就是一组字符序列(本质仍是char数组)
2)字符串常量对象是用双引号括起的字符序列。
3)字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节。

4)构造器(构造方法很多)常用如下:

   String s1 = new String()
   String s2 = new String(String original)
   String s3 = new String(char[] a)
   String s4 = new String(char[] a,int startlndex,int count)

StringBuffer类(对String类的一种增强)

1)  java.lang.stringBuffer代表可变的字符序列,可以对符串内容进行增删。很多方法与String相同,但StringBuffer是可变长度的,操作时作用于本身,不会新建对象。

2)StringBuffer是一个容器。

Date 类与 Calendar 类

Date 类:可获取当前系统时间(为老外的时间格式)

Date (xxx)=new Date()

对此可创建 SimpleDateFormat对象来指定相应的格式

Calendar类:Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH
DAYOFMONTH、HOUR等日历之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

Math类

  • 由于Math类在java.lang包下,所以不需要导包。

  • 因为它的成员全部是静态的,所以私有了构造方法

 random类:

Rondom random = new Random();

random.nextInt();//返回一个随机整数

random.nextInt(100);//返回 [0,99) 之间的整数

random.nextBoolean();//返回一个随机 boolean 值

3.容器.泛型

容器

Java提供的一套容器类,其中基本类型是List、Set(集)、Queue和Map(映射),这些对象类型也称之为集合类。

具体结构:

  • Collection
    • List
    • Set
    • Queue
  • Map

列表( List ):数组方式实现,维护元素的索引顺序

– 对象按索引存储
– 可以存储重复元素

集(Set)是最简单的一种集合:关心唯一性

–对象无序存储
–不能存储重复元素,不维护元素的索引顺序

Queue接口

特殊线性表,“先进先出”

图(Map)

对象以键-值对(key-value)存储
key不允许有重复,value允许有重复
Map中元素,可以将key序列、value序列单独抽取出来

泛型

1)泛型又称参数化类型,是jdk5.0出现的新特性解决数据类型的安全性问题。
2)在类声明或实例化时只要指定好需要的具体的类型即可。
3)Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生ClasscastException异常。同时,代码更加简洁、健壮。
4)泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型。

小结:*为保证程序的健壮性,异常的处理必不可少,程序员应避免运行时异常的出现,而编译型异常是编译器必须要处理的异常。

           *常用类中的容器各具特点,正确使用提高开发效率

           *泛型的本质是为了参数化类型,合理使用可解决强制转换等异常

           *对于容器个人理解为java设计者为提高数据存储效率将数据结构及其维护方法根据                          其特性不同封装成不同的容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值