栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java学习笔记

java种字符转字符串的四种方式:

package demo1;


public class Ch1 {
    public static void main(String[] args) {
        char c='a';


//第一种
        String s1=Character.toString(c);
        //第二种
        String s2=""+c;
        System.out.println(s2);
//第三种
        String s3=new String(new char[]{c});
        //第四种
        String s4=String.valueOf(c);
    }
}

异常就是在程序执行过程中,出现了非正常情况,严重会导致jvm的非正常停止

在java面向对象编程中,把异常视为一个对象,可以把异常定义成一个类

产生异常就是要创建一个异常对象并抛出一个异常对象

 面试题:

1,throw和throws的区别

throws:

用在方法声明之后,跟的是异常类名,可以跟多个

表示声明异常,由该方法的调用者来处理

表示出现该异常可能性,并不一定会发生异常

throw:

用在方法体内,跟的是异常对象名

表示抛出异常,由方法体内的语句来处理

执行throw一定抛出了某种异常

2,编译期异常和运行时异常的区别

编译期异常(checked):

在编译时期,就会检查,如果没有处理异常,则编译失败

都是Exception类及其子类

Exception的子类例如:

1,ClassNotFoundException

2,InterruptedException

3,IUException

4,NoSunchFieldException

5,ParseException

运行期异常(runtime)

在运行期间,检查异常,在编译时期不会报错

都是RintimeException类及其子类

例如:

1,NullPointerException

2,IndexOutOfBoundException

3,IllegalArgumentException 

4,ClassCastException

5.SystemException

自定义异常类是根据自己的业务异常情况来定义类

1. 自定义一个编译期异常,自定义类,继承于Exception

2. 自定义一个运行期异常类,并继承于 RuntimeException


*  异常的继承体系结构
*  最顶级的Throwable:错误,异常
*  Error:正常情况下,不太可能出现的。绝大多数Error都会导致程序处于
*         非正常的状态下,很难恢复。外力的作用下,不考虑。
*         Error是Throwable的子类。它是在Java程序处理范围之外的。
*  Exception:Java语言中,将程序执行中发生的不正常的情况称之为异常。
*     编译期异常:写代码的时候,抛异常。如果编译器不解决,会编译不通过,一直报红。
*     运行期异常:RuntimeException,运行时会抛异常,平时没事***
*
*  自定义异常:
*      Java中异常机制,但是结合实际业务。
*      怎么自定义异常?
*      1.所有异常必须是Throwable的子类(大材小用,没必要)
*      2.如果要定义一个编译期异常,需要继承Exception类。
*      3.如果要定义一个运行期异常,需要继承RuntimeException类。
* 异常链
* 一个异常被抛出去之后会继续被调用这个方法的方法捕获或抛出,异常会扩散。
class A{
    public void a() {
        throw new ServiceException(201,"业务异常...");
    }
}
class B {
    public void b() {
        A aa = new A();
        aa.a();
//        try {
//            aa.a();
//        } catch (Exception e) {
//           e.printStackTrace();
//        }
        System.out.println("b方法的语句");
    }
}
class C {
    public void c(){
        B b = new B();
        b.b();
        System.out.println("c方法的语句..");
    }
}
public class Ch05 {

    public static void main(String[] args) {
        C c = new C();
        c.c();
        System.out.println("Ch05的语句");
    }
}
* catch可以写多个,有顺序问题。
* 先写小的,再写大的
 public static void main(String[] args) {
        int num1 = 10;
        int num2 = 0;
        try {
            System.out.println(num1 / num2);
            // 开发角度来说,应该写指定的。
        } catch (ArithmeticException e) {
//            e.printStackTrace();
            System.out.println("除数不能为0");
        } catch (Exception e){
            System.out.println("未知错误");
        }
    }

异常好处:

将异常处理代码与普通代码区分开

能将异常信息传播到调用堆栈中

能对异常类型进行区分和分组

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号