zoukankan      html  css  js  c++  java
  • 字符串、异常、随机数小结

    一、字符串

    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类是用来做运算的)

    1BigDecimal: 它要比floatdouble精度更高的一种类型,BIgInteger一样,都是是引用数据类型,因此每次使用都必须要new一个对象。语法格式如下:BigDecimal bg = new BigDecimal(0.2)括号内必须传入字符串的值。

    2IntegerBigInteger是一个能表示比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必须放在方法面,只能抛出一个异常。

  • 相关阅读:
    堆内存内部结构
    JVM 总体结构
    HTTP的工作原理
    HTTP协议简介
    服务器硬件资源_I/O
    maven常用命令行总结
    java enum—枚举的应用
    JAVA闰年的判断
    JAVA数据结构与算法——求最大公约数!!
    ThinkPHP 分页
  • 原文地址:https://www.cnblogs.com/limengkun/p/10668164.html
Copyright © 2011-2022 走看看