首页 > 代码库 > JAVA基础 数据类型
JAVA基础 数据类型
JAVA基本数据类型
JAVA基本数据类型 | |||
序号 | 类型 | 默认值 | 大小/位 |
1 | byte | (byte)0 | 8 |
2 | short | (short)0 | 16 |
3 | int | 0 | 32 |
4 | long | 0L | 64 |
5 | float | 0.0f | 32 |
6 | double | 0.0d | 64 |
7 | char | \u0000 | 16 |
8 | boolean | false | 1 |
基本数据类型的转换
自动转换
一般情况下,定义了某数据类型的变量,就不能再随意转换。但是JAVA允许用户对基本数据类型做有限度的类型转换。
如果符合以下条件,则JAVA将会自动做类型转换:
(1)由“小”数据转换为“大”数据。
显而易见的是,“小”数据类型的数值表示范围小于“大”数据类型的数值表示范围,即精度小于“大”数据类型。
所以,如果“大”数据向“小”数据转换,会丢失数据精度。比如:long转为int,则超出int表示范围的数据将会丢失,导致结果的不确定性。
反之,“小”数据向“大”数据转换,则不会存在数据丢失情况。由于这个原因,这种类型转换也称为扩大转换。
这些类型由“小”到“大”分别为:(byte,short,char) < int < long < float < double。
这里我们所说的“大”与“小”,并不是指占用字节的多少,而是指表示值的范围的大小。
(2)转换前后的数据类型要兼容。
由于boolean类型只能存放true或false,这与整数或字符是不兼容的,因此不可以做类型转换。
(3)整型类型和浮点型进行计算后,结果会转为浮点类型。
eg:
long x = 30;
float y = 14.3f;
System.out.println("x/y = " + x/y);
float y = 14.3f;
System.out.println("x/y = " + x/y);
Output:
x/y = 1.9607843
可见long虽然精度大于float类型,但是结果为浮点数类型。
强制转换
在不符合自动转换条件时或者根据用户的需要,可以对数据类型做强制的转换。
转换方式如下:
float f = 25.5f;
int x = (int)f;
System.out.println("x = " + x);
int x = (int)f;
System.out.println("x = " + x);
JAVA基础 数据类型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。