马士兵java教程笔记3

时间:2022-09-20 08:47:52

异常处理

异常是指 运行期出现的错误 观察错误的名字和行号最重要

ArrayIndexOutOfBound

所谓错误是指程序运行的过程中发生的一些异常事件(除0溢出,数组下标越界,所要读取的文件不存在)

设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果

java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给java运行时系统,这个过程称为throw异常;当java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为catch异常

try{...} catch(ArithmathicException e){...}

public void someMethod()throws SomeException{  //声明该方法可能抛出的异常

if(someCondition()){

throw new SomeException(""); //构造并抛出异常对象

}

}

try{

someMethod();

}catch(someException e){

//异常处理代码

}

异常类 throwable:Error(处理不了的错误)、Exception(可以处理的异常)(RuntimeException,其他exception) 

Exception 异常类的父类 一般需要用户显示的声明或捕获

finally中的代码都会最后被执行,通常在finally语句中可以进行资源的清除工作:关闭打开的文件,删除临时文件

printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容

getMessage()方法,用来得到有关异常事件的信息

void m(int i) throws ArithmeticException{

if(i==0) throw new ArithmeticException("被除数不能为0");}

 

使用自定义异常一般有如下步骤:

1.通过继承java.lang.Exception 类声明自己的异常类

2.在方法适当的位置 生成自定义异常的实例, 并用throw语句抛出

3.在方法的声明部分用throws语句声明该方法可能抛出的异常

class MyException extends Exception{

private int id;

public  MyException(String message, int id){

super(message);

this.id = id;

}

public int getId(){

return id;

}

注意:重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常

 

数组

java中使用关键字new创建数组对象

数组名 = new 数组元素的类型[数组元素的个数]

int []s;

s = new int[5]

 

class Date{...}

Date [] date;

date = new Date[5];

二维数组可以看成以数组为元素的数组

静态初始化:int intA[][] = {{1,2},{1,2,3}};

动态初始化: int a[][] = new int[3][5] or int b[][] = new int[3][] b[0] = new int [1]...

基本类

String类 

常用方法

public char charAt(int index);//返回字符串中第index个字符

public int length();//返回字符串的长度

public int indexOf(String str);//返回字符串中出现str的第一个位置

public int indexOf(String str, int fromIndex);//返回字符串中从fromIndex开始出现str的第一个位置

public boolean equalsIgnoreCase(String another);//比较字符串与another是否一样(忽略大小写)

public String replace(char oldChar, char newChar);//在字符串中用newchar字符替换oldChar字符

静态重载方法

public static String valueOf(..)可以将基础数据类型转成字符串类型

 

重写toString

public String [] split( )

String s = "Mary,F,1976";

String [] sp = s.split(",");

 

StringBuffer 类

java.lang.StringBuffer 代表可变的字符序列

StringBuffer和String类似,但StringBuffer可以对其字符串进行改变

构造方法:

StringBuffer();创建一个不包含字符序列的空的StringBUffer对象

StringBuffer(String str);// 创建一个StringBuffer对象,包含与String对象str相同的字符序列   

重载方法public StringBuffer append() 可以为该StringBuffer对象添加字符