JAVASE学习日程第五天

1.String,StringBuilder,StringBuffer直接的区别?
String 是不可变的字符串,这就导致每次对String的操作,都会生成新的string对象,不仅会浪费资源,还会浪费大量的内存空间
StringBuilder是可变的字符串,线程不安全,执行效率高,单线程操作字符串,是三个字符串中速度最快的
StringBuffer是可变的字符串,线程安全,执行效率低,多线程操作字符串,任何字符串对它操作都不会产生新的对象,每个StringBuilder对都有一定的缓冲区容量

2.基本数据类型和包装类型的作用?
1、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是 
2、包装类型是引用的传递;基本类型是值的传递 
3、声明方式不同:
                基本数据类型不需要new关键字;
                 包装类型需要new在堆内存中进行new来分配内存空间 
4、存储位置不同:
                 基本数据类型直接将值保存在值栈中;
                 包装类型是把对象放在堆中,然后通过对象的引用来调用他们 
5、初始值不同:
                 int的初始值为 0 、 boolean的初始值为false 
                 包装类型的初始值为null 
6、使用方式不同:
                基本数据类型直接赋值使用就好;
                 包装类型是在集合如 coolectionMap时使用、
基本数据类型: 包装类型:
short Short
int Integer
long Long
float Float
char Character
boolean Boolean

自动装箱于自动拆箱:
自动装箱:从基本数据类型->包装类型
自动拆箱:从包装类型->基本数据类型
为什么有了int还要Integer?
1.Integer是引用对象,可以使用更多的方法来操作数据
2.容器等内部只能存储引用数据类型的数据,自动装箱使用可以非常灵活
3.从数据库中拿取数据都是null初始,用int的初始化时0,数据类型不匹配

有了Integer还要int?
1.引用数据类型存储对象类型数据,new在堆内存中,对象数据比较消耗资源,基本数据类型存储在常量池中,对比消耗空间小
并且两者之间转换自动拆箱非常方便

3.自定义异常:当java给我们的异常错误中没有我们需要的异常类时,我们可以自己创建自己需要的异常类
用法:
1.定义一个异常类
2.需要继承Exception类(所有异常父类)
3.重写该异常类的构造方法

4.日期类:当我们需要日期格式时,可以使用日期类

Date 类
类 Date代表一个特定的瞬间,毫秒精度。
用法:new Date();

构造器:
Date() 本地日期对象
Date(long date) 根据毫秒数构建日期对象, 日期的基准时间:1970.1.1…
注意:
java.util.Date 包下的日期类
日期的基准时间:1970.1.1…开始计数

1.但是new Date()出来的时间格式不是我们喜欢的格式时,我们可以自定义时间格式
	使用SimpleDateFormat()  使用默认的模板格式进行转换解析
	SimpleDateFormat 日期格式转换类
	SimpleDateFormat(String pattern)   使用参数指定的模板格式进行转换解析
	指定格式模板:
		y 年
		M 月
		d 日
	
		H 24小时
		h 12小时
		m 分
		s 秒
		S 毫秒
	format(Date) 日期对象转为字符串
	parse(String) 字符串转为日期对象

5.枚举类:定义一种事物的所有可能
java中的枚举都是隐性式继承java.lang.Enum
定义枚举类,不用class,用enum关键字来定义
枚举类中的字段,相当于当前枚举类型的一个实例
枚举类中的字段,相当于被public static final 修饰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值