蓝旭培训第二周笔记

目录

1:异常的捕获,抛出,自定义异常.

捕获:​编辑

抛出://很重要因为不能因为一些错误就让程序终止

自定义异常类:

2:包装类,string(buffer,builder),BigDecimal

包装类:

​编辑

String:

BigIntereger:

BigDemical:

3:泛类简介,列表,set,map

泛型:

List:

set:

map:


1:异常的捕获,抛出,自定义异常.

认识异常:异常是导致程序中断运行的一种指令流,如果不对异常进行正确处理,则可能导致程序的中断执行,造成不必要的损失.

异常的范例:

数组越界异常,数字格式化异常,算数异常,空指针异常

1:

空指针

2:

算数异常

捕获:

抛出://很重要因为不能因为一些错误就让程序终止

自定义异常类:

2:包装类,string(buffer,builder),BigDecimal

包装类:

把基本的数据类型进行包装如Byte,Integer(已经被弃用了);

包装的作用:

  1. 自动装箱:基本的数据类型可以自动转化为对应的包装类型
  2. 自动拆箱:包装类型可以自由转换为对应的基本数据类型
  3. 可以把基本类型转化为字符串类型
  4. 可以把字符串类型的数值转化成数值本身对应的数据类型

将int转化为Integer不爆红了

将其他类型转化为字符串类型

字符串到基本数据类型(字符串要全是数字)

String:

Stringbuilder:可以看作一个容器,创建后里面的内容是可变的

作用提高字符串的操作效率

string s=a+b+c+d;这样效率低,这个过程是每想加一次生成一个新的字符串
StringBuilder s= new StringBuilder("abc")

常用方法

public StringBuilder append() 添加数据返回对象本身
public StringBuilder reverse()反转容器种的内容
public int length()返回长度
public String toString() 实现把StringBuilder转化成String

为什么要将StringBuilder变成String?

(gpt给的说法)

  1. 不可变性:String 是不可变的,一旦创建就不能被修改。这在某些情况下是很有用的,比如在多线程环境下保证线程安全,或者作为方法的参数时不希望被修改。

  2. 安全性:String 类型是不可变的,可以避免在程序中意外地修改字符串内容,确保数据的安全性。

  3. 内存消耗:StringBuilder 在进行字符串拼接时会频繁修改内部的字符数组,可能会造成额外的内存消耗。将 StringBuilder 转换为String 后,可以释放 StringBuilder 占用的内存空间,提高程序的内存利用率。

参数传递:有些情况下需要将字符串作为参数传递给方法或者其他对象,此时使用 String 类型更为方便和安全。

链式编程:当我们调用一个方法的时候,不需要用变量接收他的结果,可以继续调用其他方法

int len = getString().substring(1),replace("A","Q").length()

StringBuffer:基本方法与Stringbuilder一样但是更安全一些并且效率低一点.

BigIntereger:

java中整数有四种类型:byte,short,int,long.

特点:上限高,对象一旦创建内部记录的值是不能改变的

BigIntereger(int num, Random rnd) 随机获得大整数
BigIntereger(String val) val只能包含数字,获得指定的大整数
BigIntereger(String val,int radix) 获得指定进制的大整数,把给定进制的数转化为10进制
BigIntereger valueOf(long val) 静态获取对象

方法名

加法add
减法subtract
乘法multiply
除法divide

BigDemical:

作用:用于小数的精确计算

bd=BigDemical(double x)
bd=BigDemical(string x)
通过valueOf静态创建
如果数不是很大建议静态创建

方法名:

加法add
减法subtract
乘法multiply
除法divide(BigDecimal val,精确几位,舍入模式) 

3:泛类简介,列表,set,map

泛型:

可以在编译阶段约束操作的数据类型,并进行检查

泛型的格式<数据类型>

注意:泛型只能支持引用数据类型,如果符合条件就能向集合中添加,没有泛型时可以向集合中添加任意的数据类型

引用数据类型包括类、接口、数组等

作用:统一数据类型,让数据插入集合时不用强制转换,把运行时期的问题转到了编译阶段

细节:

  1. 泛型中不能写基本的数据类型
  2. 指定泛型的具体类型后,传递数据时,可以传入该类类型或者其子类类型
  3. 如果不写泛型默认是object类

泛型类:

class 类名<int>{
}
当一个类中,某个变量的数据类型不确定时,就可以定义带有泛型的类
帮助理解
class ArrayList<E>{}
ArrayList<String> list = new ArrayList<>();

泛型方法:

使用情形方法:中形参类型不确定

方法一:使用类名后面定义的泛型,所有方法都能用

方法二:在方法申明上定义自己的泛型,只有本方法能用

<类型> 返回值类型 方法名(类型,变量名){}
public<T>void show<T t>{}

泛型接口;

interface 接口名<类型>{}

如何应用带一个泛型的接口

方法一:实现类给出具体类型

方法二:实现类延续泛型,创建对象时在确定

List:

实现

ArrayList
LinkedList

方法

add()在末尾添加
clear()清空
size()返回长度
isEmpty()是否为空
get(i)获取第i个元素
set(i,val)让第i个元素变成val

set:

实现:

HashSet

方法:

add()在末尾添加
clear()清空
size()返回长度
isEmpty()是否为空
get(i)获取第i个元素
set(i,val)让第i个元素变成val

map:

实现:

HashMap

方法:

put(key,value)加入
get(key)获取
containKey(key)看是否存在
remove移除关键字
size()
isEmpty()
clear()
entrySet()
getKey()获取关键字
getValue()获取值

  • 45
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值