Java的异常类和常用类、容器

一、Java的异常类

1.异常的概念

Java异常是Java提供的用于处理程序中错误的一种机制
所谓错误是指程序运行过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在)
Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将提交给Java运行时系统,该过程称为抛出(throw)异常
当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常

2.异常的分类

错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。

异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。
在这里插入图片描述

3.try-catch语句

try {
    可能发生异常的语句
}
catch(ExceptionSubClass1 e) {
    ...
}
catch(ExceptionSubClass2 e) {
    ... //定义处理异常的代码
}

4.自定义异常类

在编写程序是可以扩展Exception类定义自己的异常类,然后根据程序的需要来规定哪些方法产生这样的异常。一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。

public void someMethod() throws SomeException { //声明该方法可能抛出的异常
	if(someCondition()) {
		throw new Exception("错误原因") //构造并抛出异常对象
	}
}

二、Java的常用类

1.String类

构造String对象

String str = “string”; //常量对象
String s = new String("we are students")//String对象

String类的构造方法

//(1)String(char a[])用字符数组创建String对象
char a[] = (J,‘a’,‘v’,‘a’);
String s = new String(a);
//上述过程相当于
String s = new String("Java")//(2)String(char a[],int startIndex,int count)提取字符数组a中的一部分字符创建一个String对象
char a[] = {'零''壹''贰''叁''肆''伍''陆''染''捌''项');
String s = new String(a,2,4);
//上述过程相当于
String s = new String(“贰叁肆伍”);

引用String常量

String s1,s2;
s1 = “你好”;
s2 = “你好”; //s1==s2的值是true

字符串的并置

String you = "你";
String hi = "好";
String testOne;
testOne=you+hi;
Sytem.out.println (hello == testOwo); //输出结果是false
String hello = "你好";
String testTwo = "你"+"好";
Sytem.out.println (hello == testTwo); //输出结果是true
Sytem.out.println ("你好" == testTwo); //输出结果是true
Sytem.out.println ("你好" == testTwo); //输出结果是true
String testThree = you+hi;
Sytem.out.println (testThree == testOwo); //输出结果是false

String类的常用方法

public int length()//获取一个String对象的字符序列的长度
public boolean equals(String s)//比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同
public boolean startsWith/endsWith(String s)//判断当前String对象的字符序列前缀/后缀是否是参数指定的String对象s的字符序列
public int compareTo(String s)//按字典序与参数指定的String对象s的字符序列比较大小
public boolean contains(String s)//判断当前String对象的字符序列是否包含参数s的字符序列
public int indexOf/lastIndexOf(String s,int fromIndex)//从下标fromIndex处开始开始查找str在字符串中第一次/最后一次出现的位置
public String substring(int startpoint)//获得一个新的String对象,新的String对象的字符序列是复制当对象的字符序列中的startpoint 位置至最后位置上的字符所得到的字符序列。String对象调用substring(int start, int end)方法获得一个新的 Sting对象,新的Sring 对象的字符序列是复制当前Srinrg对象的字符序列中的un位置至end-1位置上的字物所得到的字符序列。

2.StringBuffer类

构造对象

StringBuilder();//以默认容量创建空的StringBuilder对象
StringBuilder(int capacity);//以指定容量创建空的StringBuilder对象
StringBuilder(String str);//以指定的字符串创建StringBuilder对象

常用方法

int capacity();//获取容量
int length();//获取长度
append(int value);//追加。可以追加多种类型
insert(int offset,String s);//在指定的位置插入指定数据
deleteCharAt(int index);//删除指定索引处的元素
delete(int start,int end);//删除[start,start-1]范围内的元素
replace(int start,int end,String s);//将[start,end-1]范围内的元素替换成指定字符串
reverse();//元素反转
String subString(int start);//截取指定位置一直到末尾
String subString(int start,int end);//截取[start,end-1]范围

String、StringBuilder和StringBuffer的区别?
String内容不可改变
StringBuilder和StringBuffer内容可变
StringBuilder是线程不安全的,不同步,效率高
StringBuffer是线程安全的,同步,效率低

3.Scanner类

构造对象

Scanner scanner = new Scanner(InputStream is);//构造一个文本扫描器,它生成的值是从指定的值输入流扫描的

成员方法

 boolean hasNext();//是否有下一个数,有true,没有false
 String next();//获取下个数
 int nextInt();//获取下个int数据
 String nextLine();//获取一行数据

4.Date类

构造对象

Date();//以当前时间毫秒值创建Date对象
Date(long time);//以指定的毫秒值创建Date对象

成员方法

long getTime();//获取Date对象的毫秒值
setTime(long time);//设置Data对象的毫秒值

5.Calendar类

构造对象

Calendar calendar = Calendar.getInstance();// 使用Calendar类的static方法getInstance()可以初始化一个日历对象

成员方法

static Calender getInstance();//以默认时区和语言创建日历
int get(int field);//获取指定字段的日历值
set(int field,int value);//给指定的日历字段设置指定的值
set(int year,int month,int date);//设置年月日
Date getTime();//获取日历对象的日期
setTime(Date d);//设置日历对象的日期
add(int field,int amount);//对指定的日历字段添加指定的值

6.Math类、BigInteger类和Random类

Math类

abs(int a);//绝对值
ceil(double d);//向上取整
floor(double d);//向下取整
max(int a,int b);//最大值
pow(double a,double b);//a的b次幂
random();//随机数
round(float f);//四舍五入
sqrt(double d);//算术平方根

BigInteger类

add(BigInteger val):返回当前对象与val的和。
subtract(BigInteger val): 返回当前对象与val的差。
multiply(BigInteger val): 返回当前对象与val的积。
divide(BigInteger val):返回当前对象与val的商。
remainder(BigInteger val):返回当前对象与val的余。
int compareTo(BigInteger val):返回当前对象与val的比较结果,返回值是1-10,分别表示当前对象大于、小于或等于val。
abs():返回当前整数对象的绝对值。
pow(int a);:返回当前对象的a次幂。
String toString():返回当前对象十进制的字符串表示。
String toString(int p):返回当前对象p进制的字符串表示。

Random类

//构建方法
Random();//以当前时间毫秒值作为种子,创建Random对象
Random(long seed);//以指定种子创建Random对象
//成员方法
nextInt();//生成1个int类型范围的随机数
nextInt(int n);//产生1个[0,n-1]范围内的随机数

三、容器

概念
Spring 提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。
分类
Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值