手记

二维数组,异常

一.二维数组的定义

 用来表示行和列数据的数据结构

二.二维数组的声明

   int[][] a;

   int a[][];

注意:声明时不能给初始大小

比如:int a[3][4]//非法的

三.二维数组的初始化

1.静态初始化

  int a[][]={{1,2},{3,4,5},{6,7}};

注意:采用静态初始化时,该数组的行数为花括号里子花括号个数,列数为子花括号中最大数值个数

2.动态初始化

 ①单独给指定的元素赋值

    a[0][0]=3;

②给指定的行添加列数

   a[0]=new int[2];

3.缺省初始化

  对于未满足列个数的行自动补类型默认值

比如:int[][] a=new int[3][];

4.length

length在一维数组中返回该数组的长度,而在二维数组中:

     在数组名的后面:返回该数组行数

   在行数的后面,返回该行的列数

  示例:

public class Test {

public static void main(String[] args) {

int[][] b={{1,2},{2,3,4,5},{5,6,7}};

for(int i=0;i<b.length;i++){

for(int j=0;j<b[i].length;j++){

System.out.println("b["+i+"]["+j+"]="+b[i][j]+",");

}

System.out.println();

}

}

}

一.数组拷贝

当不使用arrayCopy()时,直接对整个数组进行拷贝时,目标数组和源数组使用的是同一份数据

二.arrayCopy()

1.参数:

      src-源数组

      srcPos-源数组中的起始位置

      dest-目标数组

      destPos-目标数据中的起始位置

      length-要复制的数组元素的数量

2.使用arrayCopy()方法,是将源数组中的值复制一份给目标数组,而非是将源数组的目标数组使用同一份数据

一.异常的定义:

异常是因编程错误或外在因素导致程序无法运行的事件

二.异常的分类

1.Error

  动态连接错误,比如JVM错误,这种错误不需要程序员干预,不需要捕获

2.Exception

①运行时异常

  就是程序运行时出现的错误,这种错误是人为造成的,比如1/0,空指针异常等

②非运行时异常

是在写代码时报出的错误,这种错误需要程序员及时处理

比如:文件未找到异常

三.常见异常

 

四.异常处理机制

  执行代码时会抛出异常类对象JRE处理异常类对象如果该异常可以处理,则进行捕获;如果无法处理,则程序退出

五.捕获异常

  try{.....}catch{.....}[finally{.....}]

1.try块

   ①捕获多个异常可以使用一个try块

  ②try块内可以放有异常代码,还可以放无异常代码

2.catch块

①一个catch块只能捕获一种异常,当出现多个异常时,可以使用多个catch块进行捕获

②catch块里出现的异常对象的方法

    a.getMessage():打印该异常对象的信息

    b.printStackTrace():打印错误信息,建议使用

③如果没有异常,则不走catch块

④catch块内异常类顺序,子类父类依次往下

3.finally

①无论该代码有没有错误,都去执行finally块

②作用:进行资源清理工作

③finally块可有可无

      

一.throws关键字

1.作用:抛出异常,不作处理

2.声明:位于方法名后

比如:public void method()  throws Exception{.....}

二.throw和throws

1.throw使用注意:

   当抛出一个非运行时异常对象时,需要通过throws先抛出该异常

2.throws使用注意:

①当一个方法抛出异常,则调用该方法的方法也需要抛出该异常

②当子类复写父类方法时,只能抛出比父类少的异常

一、Exception

非运行时异常,这类异常需要编写代码时及时处理

二、RuntimeException

可以不处理,交由JVM处理

一、创建自定义异常类

1.创建一个类,继承Exception

2.复写Exception类的方法

二、使用自定义异常类

同Exception

原文链接:http://www.apkbus.com/blog-491882-60707.html

0人推荐
随时随地看视频
慕课网APP