字符串、异常、随机数小结

一、字符串

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

原文地址:https://www.cnblogs.com/limengkun/p/10668164.html

时间: 2024-10-13 06:43:44

字符串、异常、随机数小结的相关文章

C++输入一行字符串的一点小结

C++输入一行字符串的一点小结 原文链接: http://www.wutianqi.com/?p=1181 大家在学习C++编程时,一般在输入方面都是使用的cin. 而cin是使用空白(空格,制表符和换行符)来定字符串的界的. 这就导致了对于带有空格的字符串,比如"I Love C++奋斗乐园论坛" 只能读入"I",后面的都无法读入. 这时怎么办?  一.对于字符数组: 方法一:getline() 读入整行数据,它使用回车键输入的换行符来确定输入结尾. 调用方法:

KMP Algorithm 字符串匹配算法KMP小结

这篇小结主要是参考这篇帖子从头到尾彻底理解KMP,不得不佩服原作者,写的真是太详尽了,让博主产生了一种读学术论文的错觉.后来发现原作者是写书的,不由得更加敬佩了.博主不才,尝试着简化一些原帖子的内容,希望能更通俗易懂一些.博主的帖子一贯秉持通俗易懂的风格,使得非CS专业的人士也能读懂,至少博主自己是这么认为的-.-||| KMP算法,全称Knuth-Morris-Pratt算法,根据三个作者Donald Knuth.Vaughan Pratt.James H. Morris的姓氏的首字母拼接而成

Python学习总结7:随机字符串和随机数

Python生成随机数与随机字符串,需要import random模块.random模块最常用的几个函数如下: 1. random.random(a, b) 用于生成一个0到1的随机符点数: 0 <= n < 1.0 >>> import random >>> random.random() 0.85415370477785668 >>> random.uniform(1, 10) 5.4221167969800881 2. random.

混淆篇之字符串常见操作方法小结

1.0String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 2.0String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() 返回在指定位置的字符. str.charAt(index)方法:获取指定索引 位置的字符,索 引从0开始,,//str[0]-

c语言 伪 随机数 小结

需求: 输出[x,y]之间的随机数 算法: rand()%(y-x+1)+x #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/time.h> //交换函数 void swap(int *a, int *b){     int temp= 0;     temp = *a;     *a = *b;     *b = temp; } //求两个随机数[20,40]数组

字符串逆序小结

1.普通逆序         可以任意申请内存或变量,对于指针版本,此方法不好,需要在函数内开辟空间,在函数结束前返回该空间首地址,由于不能释放该内存,出现内存泄漏 ,所以这里只提供引用版本: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> using namespace std; void Reverse(string &str) { int len = str.size(); i

C#几种截取字符串的方法小结

1.根据单个分隔字符用split截取 例如: string st="GT123_1"; string[] sArray=st.split("_"); 输出:sArray[0]="GT123",sArray[1]="1"; 2.利用多个字符来分隔字符串 例如: string str = "GTAZB_JiangjBen_123"; string[] sArray = str.Split(new char[2]

转:C++输入一行字符串的一点小结

原文链接: http://www.wutianqi.com/?p=1181 大家在学习C++编程时,一般在输入方面都是使用的cin.而cin是使用空白(空格,制表符和换行符)来定字符串的界的.这就导致了对于带有空格的字符串,比如”I Love C++奋斗乐园论坛”只能读入”I”,后面的都无法读入.这时怎么办?  一.对于字符数组:方法一:getline()读入整行数据,它使用回车键输入的换行符来确定输入结尾.调用方法: cin.getline(str, len);第一个参数str是用来存储输入行

C语言的字符串操作函数小结

一.strcat()函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾.它返回一个指向字符串dest首地址的指针.它的声明如下: char *strcat(char *dest, const char *src) 实例如下: #include <stdio.h> #include <string.h> int main() { char dest[50]="Who ar