字符串异常随机数小结
Posted limengkun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串异常随机数小结相关的知识,希望对你有一定的参考价值。
一、字符串
1、String字符串
String字符串的底层是char数组实现的,且是final修饰的,因此String字符串发生拼接、截取等都会有新的对象生成且一旦创建它的值是不能改的。
2、StringBuffer字符串
StringBuffer也是字符串,但是它相当于一个容器,可以不断的根据自身内容扩展容量,因此,StringBuffer不论怎样发生拼接、截取等,始终都只会有本身这一个对象。因为它相当于于一个容器,可随意扩展,因此特具有增删改查的操作。
3、StringBuilder字符串
StringBuffer和StringBuilder的区别:
1.StringBuffer是线程安全的,而StringBuilder是线程不安全的,所以StringBuffer的性能要比StringBuilder低,因此在今后的开发中我们统一使用StringBuilder。
2.StringBuffer是jdk1.0开始出来的,而StringBuilder是jdk1.5出来的
3、StringBuffer和StringBuilder一样,都是可变字符串,始终只有一个对象,因为StringBuffer和StringBuilder都是引用数据类型,因此在最后转为String的时候需要使用toString方法来转换为固定字符串。
二、Math类(Math类是用来做运算的)
1、BigDecimal: 它要比float与double精度更高的一种类型,和BIgInteger一样,都是是引用数据类型,因此每次使用都必须要new一个对象。语法格式如下:BigDecimal bg = new BigDecimal(“0.2”),括号内必须传入字符串的值。
2、IntegerBigInteger是一个能表示比long更大的数字的类型,但是它是一个引用数据类型,在做运算的时候和BigDecimal一样,必须通过调用方法来完成。
三、随机数
随机数:
1.Math类中的 static double random() 获取值的范围[0.0,1.0),如果想要获取一个[begin,end]的随机数可以使用Math.Random()*(end-bbegin)+begin。
2.Random中的 int nextInt()---》int范围内的随机数int nextInt(int n)----》[0,n)
3.ThreadLocalRandom int nextInt(int least, int bound)
它的范围[least,bound)
4. UUID static UUID randomUUID() 产生的随机数是当前时间+你电脑的ip
四、异常
1、 异常继承体系:
java.lang.Object
|
|___java.lang.Throwable(Throwable 类是 Java 语言中所有错误或异常的超类)
|
|____java.lang.Error(错误):程序中一旦出现了该错误,基本上程序员都是解决不了的
|
|____java.lang.Exception(异常):程序中一旦出现了该异常,程序员基本上都能解决--->我们主要就是学习Exception下面的子孙类
2、 处理异常信息的语法结构:
try{
存放可能出现异常的代码
}catch(异常类型 变量){
存放处理异常代码
}catch(异常类型 变量){//只能抓该异常类型的子孙类或者相等的异常
真实开发处理方式:
1.打印异常信息(因为你要告诉程序员,哪里出现了错误,让程序员方便修改)
2.当你捕捉到这个异常之后,又把这个异常抛给下一个方法进行处理(先不管,目前你们体会不到)
3.我们把捕捉到的异常信息打印到文件中(先不管,因为目前为止还没有学习io流)
}
.....
异常一旦发现,就会进行捕获,只要捕获成功,执行代码块中的内容之后,整个try catch就执行完毕。
3、打印异常信息的相关方法:
1. String getMessage() 返回此 throwable 的详细消息字符串。 用的比较多,它的使用场景,一般用在前端客户查看异常
2. void printStackTrace() 将此 throwable 及其追踪输出至标准错误流(程序员看)。
4、知识总结
①在方法名后面抛出的异常最红抛给了谁?谁调用我这个方法,就抛给了谁;
②运行时类:RunTimeException及其子孙类都是运行时类;
③非运行时类:除了运行时类剩下的都是非运行时类;
④finally中一般写关闭资源释放内存的代码(finally中的代码无论如何都会执行),如果finally中有return语句,那么会覆盖之前的return语句;
⑤throws必须放在方法的()后面,可以抛出多个异常,throw必须放在方法面,只能抛出一个异常。
以上是关于字符串异常随机数小结的主要内容,如果未能解决你的问题,请参考以下文章
stringmath类random随机数datetime异常保护
android.content.res.Resources$NotFoundException: Main 中的字符串资源 ID 致命异常