首页 / JAVA / Java 基础数据类型
Java 基础数据类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 基础数据类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2361字,纯文字阅读大概需要4分钟。
内容图文
![Java 基础数据类型](/upload/InfoBanner/zyjiaocheng/831/61c1db188d6e4fb6950535f32df258c2.jpg)
基础数据类型总结
a) 基础类型
byte 8 char 16 short 16 int 32 float 32 long 64 double 64 boolean ~
注意:
boolean类型的字节长度 ,并没有具体的规定。boolean只有两个值true、false。JVM再编译时期将boolean类型的数据转换成int类型,用1表示true,0表示false。JVM支持byte数组类型的数组,所以是通过读取byte数组来进行实现的。
b) 包装类型
Byte Character Short Integer Float Long Double Boolean
自动拆装箱处理
自动装箱:将基本数据类型自动转换成对应的包装类
自动拆箱:将包装类自动转换成对相应的基本数据类型
Integer?i = 10;??//自动装箱
int?b = i;?????//自动拆箱
Integer i =10 其实就等同于Integer i = new Integer(10);减少了开发人员的工作,开发者不需要手动去new一个Integer对象。
c) 缓存池
1 自动拆装箱和缓存机制
Integer integer1 = 3;
Integer integer2 = 3;
if(integer1==integer2) {
System.out.println("integer1==integer2");
}else {
System.out.println("integer1!=integer2");
}
Integer integer3 = 300;
Integer integer4 = 300;
if(integer3==integer4) {
System.out.println("integer3==integer4");
}else {
System.out.println("integer3!=integer4");
}
结果:
integer1==integer2
integer3 !=integer4
解析:
可能都会认为两个if语句中都会返回false,但实际上第一个返回false,第二个返回true。
正是因为缓存池的问题,在Java 5 之后,再Integer之后引入了一个新的功能为了节省内存和提高性能。Integer对象通过使用相同的对象引用实现了缓存和重用。
但是只适用于整数值区间-128 至 +127。只适用于自动装箱,使用构造函数创建对象的时候不适用。
Integer i = 3 等于 Integer i = Integer.valueOf(3);
Integer i = 300 等于 Integer i = new Integer(300); 只有超出缓存值的范围之后才会创建对象。
d) float 与double
Java中不能执行向下转型,因为这会使精度降低。
1.1 字面量是属于double类型的,不能直接将1.1赋值给float变量,向下转型会降低精度。
float f 1=1.1;//会提示报错
1.1f 字面量才是float类型
float f = 1.1f;
e) 隐式类型转换
字面量1 是int类型,比short精度要高,所以不能向下转型将int转换成short类型。
short s =1;
s = s1 + 1;//此句会报错,int类型不能转换成short类型的数据
s + = ;//编译通过
s++;//编译通过
使用+= 或者 ++ 运算符可以执行隐式类型转换。相当于s = (short) (s + 1);
内容总结
以上是互联网集市为您收集整理的Java 基础数据类型全部内容,希望文章能够帮你解决Java 基础数据类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。