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. Docker_Swarm集群系统

    Docker_Swarm集群系统 一.Docker Swarm 介绍 实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernete ...

  2. jvm相关自我总结和 VisualVM工具的使用

    idea 二个工具: jclasslib Hexview jdk监控工具 VisualVM工具的使用: https://www.ibm.com/developerworks/cn/java/j-lo- ...

  3. P1091 [NOIP2004 提高组] 合唱队形

    题目描述 $N$位同学站成一排,音乐老师要请其中的$\left ( N-K\right )$位同学出列,使得剩下的$K$位同学排成合唱队形. 合唱队形是指这样的一种队形:设$K$位同学从左到右依次编号 ...

  4. 【NX二次开发】Block UI 切换开关

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  5. 【VBA】列号与字母(列名)的相互转换 (自定义函数)

    1. '列号转字母(列名) Function Num2Name(ByVal ColumnNum As Long) As String On Error Resume Next Num2Name = & ...

  6. 使用Flutter设计一个好看的"我"页面

    近期遇到一些很烦的琐事,状态比较down,很多原本计划好的事情都耽搁了,实在是难顶-- 看到后台一直有朋友问怎么博客和公众号没有更新,所以我忙完得闲就来更了! 前言 起因是最近重拾以前的旧项目(业余做 ...

  7. Redis压测

    测试命令 ​ 这条命令redis自带 redis-benchmark [option] [option value] redis 性能测试工具可选参数如下所示: 序号 选项 描述 默认值 1 -h 指 ...

  8. Pandas高级教程之:处理text数据

    目录 简介 创建text的DF String 的方法 columns的String操作 分割和替换String String的连接 使用 .str来index extract extractall c ...

  9. 数据库创建好之后如何创建scott用户

    SQL> conn / as sysdba Connected. SQL> @%oracle_home%\rdbms\admin\utlsampl.sql 建立完成以后会自动退出sqlpl ...

  10. R语言--图形基本使用1

    1 使用图形 1.1 交互式绘图 使用的是内置数据集:mtcars 画出散点图:plot(mtcars$mpg,mtcars$wt) 给图形加标题:title("车辆耗油与重量之间的关系&q ...