1、异常处理方案:

异常抛出 : throws 把异常抛出到上一层,谁调用谁解决

异常捕获 : try..catch

try{

有可能出现异常的代码;

}catch(FileNotFoundException e){

处理异常代码;

}catch(NullPointerException e){

处理异常代码;

}catch(Exception e){

所有异常都能接收;

}finally{

无论try中是否会出现异常,都会执行finally中的代码

//资源的关闭等代码

}

一个try的后面可以接 1~n个catch,try中如果一旦出现异常,try下面的代码不会执行,直接进入catch的判断,catch从上到下一次判断,满足哪一个catch捕获的类型,就执行对应的语句体,异常一旦捕获,程序执行过程中出现的异常按照指定方案解决,不会影响后续代码的执行

2、自定义异常: 

自定义的异常类型

所有自定义的异常类型必须直接或者间接继承自Exception

如果自定义异常为运行时期异常,需要直接或者间接的继承自RuntimeException

throw 制造异常

3、常用类 --> 字符串

(1)String 不可变长字符序列

(2)StringBuilder 可变长字符序列,线程不安全|不同步,效率较高

(3)StringBuffer  可变长字符序列,线程安全|同步,效率较低

(4)学些一个类:

①类的作用 类的继承体系

②构造器

③方法(静态方法|成员方法)

(5)String类表示字符串。 Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。

(6)String str = "abc";  创建一个字符串对象"abc",字符串常量 -->字符串常量池中

(7)String str2 = new String("haha"); 2个对象  第1个new->在堆中   第2个"haha"-->字符串常量池中

(8)String str2 = new String("abc"); 1个对象  第1个new->在堆中   "abc"->上面已经使用过,字符串常量池中已经存在

(9)字符串底层:

​jdk11-->使用private final byte[] value; 字节数组存储字符串中的字符数据,jdk8--> private final char[] value;字符数组

4、可变长字符序列

(1)StringBuilder : 线程不安全,但不保证同步,相对效率较高,适合使用在单线程下大量操作字符串,效率高

(2)StringBuffer : 线程安全的,相对效率较低

多线程下大量操作字符串建议使用StringBuffer

(3)String : 少量修改字符串,适合使用String,因为表示字符串String对象简单,功能强大的API

(4)效率: StringBuilder > StringBuffer > String

​    (5)扩容:append--> int newCapacity = (oldCapacity << 1) + 2; 每次扩容原容量的2倍+2

5、基本数据类型的包装类:

基本           包装

byte          Byte

short         Short

int           Integer

long          Long

char          Character

boolean       Boolean

float         Float

double        Double

(1)包装类的优点:

①类可以提供很多成员,功能...

②集合中之能存储引用数据类型,想要存储基本数据类型数据的时候,可以先转为对应的包装类型,再存储

③基本数据类型与对应包装类型数据的默认值不同,当在具体业务下,比如区分账户余额的0与null两种状态,可以使用包装类型表示账户余额

(2)基本数据类型的优点:

有利于节约内存

(3)自动拆装箱:

①自动装箱:  基本-->包装

②自动拆箱:  包装-->基本

6、Math 数学相关类

(1)静态工厂--> 工具类

java.lang下不需要导包

(2)随机整数:

[min,max)  (int)(Math.random()*(max-min)+min)

[0.0,1.0) * (max-min)

[0.0,max-min) + min

[min,max)

[min,max] (int)(Math.random()*(max-min+1)+min)

7、Date:

(1)Date类表示特定的时刻,精度为毫秒。

(2)日期格式转换器   SimpleDateFormat

目标:①将指定格式的字符串转为日期对象  parse(str)

②将日期对象转为指定格式的字符串  format(date)

12、Java——异常的更多相关文章

  1. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

  2. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  3. 第11章 Java异常与异常处理

    1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...

  4. Java 异常讲解(转)

    六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?   1 OutputStreamWrite ...

  5. 关于Java异常和错误的几个问题

    1.Java中什么是Exception? 异常是Java传达给你的系统和程序错误的方式. 在java中,异常功能是通过实现比如Throwable,Exception,RuntimeException之 ...

  6. 一篇不错的讲解Java异常的文章(转载)

    http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已 ...

  7. Java异常处理中finally中的return会覆盖catch语句中的return语句

    Java异常处理中finally中的return会覆盖catch语句中的return语句和throw语句,所以Java不建议在finally中使用return语句 此外 finally中的throw语 ...

  8. Java异常错误的面试题及答案

    1) Java中什么是Exception? 这个问题经常在第一次问有关异常的时候或者是面试菜鸟的时候问.我从来没见过面高级或者资深工程师的 时候有人问这玩意,但是对于菜鸟,是很愿意问这个的.简单来说, ...

  9. 全面理解Java异常的运行机制

    1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...

  10. java异常面试常见题目

    在Java核心知识的面试中,你总能碰到关于 处理Exception和Error的面试题.Exception处理是Java应用开发中一个非常重要的方面,也是编写强健而稳定的Java程序的关键,这自然使它 ...

随机推荐

  1. TVM交叉编译和远程RPC

    TVM交叉编译和远程RPC 本文介绍了TVM中使用RPC的交叉编译和远程设备执行. 使用交叉编译和RPC,可以在本地计算机上编译程序,然后在远程设备上运行它.当远程设备资源受到限制时(如Raspber ...

  2. NVIDIA数据中心深度学习产品性能

    NVIDIA数据中心深度学习产品性能 在现实世界的应用程序中部署AI,需要训练网络以指定的精度融合.这是测试AI系统的最佳方法-准备将其部署在现场,因为网络随后可以提供有意义的结果(例如,对视频流正确 ...

  3. Json文件解析(下)

    Json文件解析(下) 代码地址:https://github.com/nlohmann/json   从STL容器转换 任何序列容器(std::array,std::vector,std::dequ ...

  4. Spring——Bean的作用域

    Spring中Bean的作用域有五种,分别是singleton.prototype.request.session.globalSession.其中request.session.globalSess ...

  5. QT基本数据类型

    因为Qt是一个C++框架, 因此C++中所有的语法和数据类型在Qt中都是被支持的, 但是Qt中也定义了一些属于自己的数据类型, 下边给大家介绍一下这些基础的数类型. QT基本数据类型定义在#inclu ...

  6. 【渗透实战】那些奇葩的WAF_第二期_无意发现通杀漏洞,空字节突破上传!

    /文章作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何 ...

  7. Java设计模式(5:设计模式的分类及工厂模式详解)

    一.设计模式的分类 总的来说,设计模式可以分为三大类:创建型模式.结构型模式.行为型模式,具体如下图: 二.工厂模式 工厂模式分为简单工厂模式.工厂方法模式和抽象工厂模式.其中简单工厂模式并不属于23 ...

  8. 第三节:Redis缓存雪崩、击穿、穿透、双写一致性、并发竞争、热点key重建优化、BigKey的优化 等解决方案

    一. 缓存雪崩 1. 含义 同一时刻,大量的缓存同时过期失效. 2. 产生原因和后果 (1). 原因:由于开发人员经验不足或失误,大量热点缓存设置了统一的过期时间. (2). 产生后果:恰逢秒杀高峰, ...

  9. Java synchronized对象级别与类级别的同步锁

    Java synchronized 关键字 可以将一个代码块或一个方法标记为同步代码块.同步代码块是指同一时间只能有一个线程执行的代码,并且执行该代码的线程持有同步锁.synchronized关键字可 ...

  10. JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇

    JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题).我们也知道我们Java程序 ...