类型转换
基本数据类型的类型转换分为自动类型转换 和 强制类型转换 。
自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换 。转换规则:从存储范围小的类型到存储范围大的类型 。
byte b = 10;
short sh = b;
因为 b 是byte型,存储范围比short型小,所以JVM可以自动把 b 转换为short型,并赋值给 sh.
强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换 。转换规则:从存储范围大的类型到存储范围小的类型 。可能会造成精度损失 。
double pi = 3.14;
int p = (int) pi; //这里就是强制转换
因为 double型的存储范围比 int型大,所以必须使用强制类型转换 把 pi 转换为 int型 。
基本数据类型的存储
那么在程序中定义的基本数据类型,JVM会如何存储呢?这个要看情况 。
Java方法中定义的基本数据类型,属于局部变量,存放在虚拟机栈(VM Stack)中 。
Java类中定义的基本数据类型,如果是非静态成员变量,其所在类被实例化后,是放在堆内存(Heap)中的 。如果是静态成员变量,那么在类加载以后,就会在方法区内为其分配内存 。
基本数据类型的内存分配
关于JVM内存如何划分,可以参考前文《Java面试必考问题:JVM内存区域如何划分? 》 。
【大一java考试题库 java基础考试题及答案】基本数据类型的传递
基本数据类型可以作为传递方法的参数,这里要注意和引用数据类型作为方法参数之间的区别 。
当方法参数类型是基本数据类型时,方法是不能修改基本数据类型的数值;当传递方法参数类型是引用类型时,比如对象或数组,方法是可以修改引用所指向的对象的状态的 。
关于Java基本数据类型的话题基本聊得差不多了,掌握这些基础知识,对于我们参加面试还是非常有帮助的 。
猜你喜欢
- 练胸肌一边大一边小怎么办
- Java从基础到项目教程 java从入门到精通视频免费
- 风吹起来为什么一阵大一阵小 风吹起来一阵大一阵小的原因分析
- java 枚举的定义与用法 java枚举的使用
- 大一寸和两寸有区别吗?
- 一岁宝宝买鞋买大一点好吗?
- 剑灵邪魔铃怎么得 穷拍卖行的买不起 哪个怪爆的几率大一点
- javaweb是前端还是后端 他们的区别是什么
- 怎样自学CATIA。
- 为什么要学java java可以开发什么
