java基础知识(未完待续)

1. 数据类型

1. Java的基本数据类型

Java有8大基本数据类型:byte(8位),short、char(16位),int、float(16位),long、double(64位),boolean(布尔类型)。

Java中整数的默认类型是int,小数的默认类型是double。float a=3.12是错误的,因为小数3.12的数据类型默认是double,因此要改为float a=(float)3.12或者float a=3.12F,前者是一种强制转换,强制转换会损失精度,产生误差,并且容易超出取值范围,后者在3.12后面加了个F,这是在告诉编译器这是个float类型的数。


图片来源于网络

上图展示了Java基本数据类型所占字节以及相互转换的过程。

2. Java中String类的基本特点

(1)字符串的实例化
String有两种方法进行实例化,一是直接赋值,二是采样构造方法。
直接赋值如下图所示:


图片来源于网络

采样直接赋值实例化时,实例化对象会自动保存到对象池中。当下次采用直接赋值实例化对象时,若对象池中有此内容,则直接引用。如果没有,则开辟新的对象,并自动保存到对象池中。

采样构造方法如下图所示:


图片来源于网络

String中两种实例化方法的区别:
[1] 直接赋值开辟一个堆内存空间,实例化对象会自动保存到对象池中供下次使用;
[2] 采用构造方法会开辟两个堆内存空间,其中一个会变成垃圾,并对字符串共享造成影响,使用intern方法可以手工入池。

(2)字符串修改
字符串常量不可改变,我们常说的字符串变更,是字符串对象的改变,如下图所示:


图片来源于网络

3. 装箱和拆箱

装箱是把值类型变成引用类型;拆箱是把引用类型变成值类型。
例如:
int a=5;
String b=a; 装箱
int c=int.Parse(b); 拆箱

Reference:

  1. https://www.cnblogs.com/ownraul/p/5496834.html
  2. https://www.cnblogs.com/123hll/p/5805040.html
  3. https://blog.csdn.net/zwn1999/article/details/76710050
posted @ 2018-08-15 09:11  wumh7  阅读(163)  评论(0编辑  收藏  举报