12、Java——异常
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——异常的更多相关文章
- 浅谈java异常[Exception]
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...
- 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
本文转载自 java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...
- 第11章 Java异常与异常处理
1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...
- Java 异常讲解(转)
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWrite ...
- 关于Java异常和错误的几个问题
1.Java中什么是Exception? 异常是Java传达给你的系统和程序错误的方式. 在java中,异常功能是通过实现比如Throwable,Exception,RuntimeException之 ...
- 一篇不错的讲解Java异常的文章(转载)
http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html 六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已 ...
- Java异常处理中finally中的return会覆盖catch语句中的return语句
Java异常处理中finally中的return会覆盖catch语句中的return语句和throw语句,所以Java不建议在finally中使用return语句 此外 finally中的throw语 ...
- Java异常错误的面试题及答案
1) Java中什么是Exception? 这个问题经常在第一次问有关异常的时候或者是面试菜鸟的时候问.我从来没见过面高级或者资深工程师的 时候有人问这玩意,但是对于菜鸟,是很愿意问这个的.简单来说, ...
- 全面理解Java异常的运行机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...
- java异常面试常见题目
在Java核心知识的面试中,你总能碰到关于 处理Exception和Error的面试题.Exception处理是Java应用开发中一个非常重要的方面,也是编写强健而稳定的Java程序的关键,这自然使它 ...
随机推荐
- 端到端TVM编译器(上)
端到端TVM编译器(上) 摘要 将机器学习引入到各种各样的硬件设备中.AI框架依赖于特定于供应商的算子库,针对窄范围的服务器级gpu进行优化.将工作负载部署到新平台,例如手机.嵌入式设备和加速器(例如 ...
- YOLO v4分析
YOLO v4分析 YOLO v4 的作者共有三位:Alexey Bochkovskiy.Chien-Yao Wang 和 Hong-Yuan Mark Liao.其中一作 Alexey Bochko ...
- 立体显示与BCN双稳态手性向列相
立体显示与BCN双稳态手性向列相 狭缝光栅立体显示 技术介绍: 人的左右眼间距大约是65MM,左右眼透过视差光栅看到不同的视角图像,经大脑融合形成立体视觉. 技术优点: 2D/3D可切换: 低成本: ...
- MinkowskiEngine Miscellaneous Classes杂类
Miscellaneous Classes杂类 内核生成器 class MinkowskiEngine.KernelGenerator(kernel_size = -1,stride = 1,dila ...
- 编写HSA内核
编写HSA内核 介绍 HSA提供类似于OpenCL的执行模型.指令由一组硬件线程并行执行.在某种程度上,这类似于 单指令多数据(SIMD)模型,但具有这样的便利:细粒度调度对于程序员而言是隐藏的,而不 ...
- Python基础_python的数据类型
一.Python 的标准数据类型 二.以下单个实际举例分析数据类型 2.1 python的数字类型 Int:整型,Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python ...
- 5.22考试总结(NOIP模拟1)
5.22考试总结(NOIP模拟1) 改题记录 T1 序列 题解 暴力思路很好想,分数也很好想\(QAQ\) (反正我只拿了5pts) 正解的话: 先用欧拉筛把1-n的素数筛出来 void get_Pr ...
- 用vue ui创建的项目怎么关闭eslint校验
在Vue Cli的控制面板找到配置-ESLint configuration,然后关闭保存时检查就可以了
- Unity_DOTween
DOTween官网 DG.Tweening.Ease枚举详解 2019.12.12补充: 问题:当前dotween动画没播放完,便再次播放有冲突的操作,如连续多次播放.正播.倒播,导致显示不正常或报错 ...
- 什么是CAP?
1. 什么是CAP 是一种定理,多用于描述分布式架构,CAP这三个字母对应三种理念,且这三种理念只能两两组合,不能CAP三种理念同时共存(为什么?下面说). C:Consisteny(一致性) A:A ...