版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014070705/article/details/46714063
java数据类型分为两大类
1. 原生数据类型 (Primitive Data Type )
字节型 | byte | 1个字节 |
整型 | int | 4个字节 |
短整型 | short | 2个字节 |
长整型 | long | 8个字节 |
单精度浮点型 | float | 4个字节 |
双精度浮点型 | double | 8个字节 |
字符型 | char | |
布尔型 | boolean | true,false |
注意:
- java语言中默认整型为int,声明为long要在后面加上“L”或“l”,默认浮点型为double,声明为float需要在后面添加“F”或“f”;eg:long i=1234567890;编译会出错,默认为int,等号两边类型不一致。
-
原生数据类型中的数值型(byte、int、short、long、float、double)有自己的范围;eg:byte:-128~127
-
类型之间的转换,一般情况下容量小的自动转换成容量大的:byte、short、char<int<long<float<double
小结:
1. Java 中的原生数据类型共有 8 种:
1) 整型:使用 int 表示。 (32 位)
2) 字节型:使用 byte 表示。 (表示-128~127 之间的 256 个整数, 8 位) 。
3)短整型:使用 short 表示。 (16 位)
4)长整型:使用 long 表示。 (64 位)
5)单精度浮点型:使用 float 表示。 所谓浮点型,指的就是小数,也叫做实数 ,比如 1.2 。
6)双精度浮点型:使用 double 表示。。 双精度浮点型表示的数据范围要比单精度浮点型大。
7)字符型:使用 char 表示(char 是 character 的缩写) 。所谓字符,就是单个的字符表示,
比如字母 a,或者中文张,外面用单引号包围上。比如 char a = ‘B’; char b = ‘张’;
8)布尔类型,使用 boolean 表示。布尔类型只有两种可能值,分别是 true 与 false。
2. Java 中的所有浮点类型默认情况下都是 double。 。 不能将 double 类型的值赋给 float 类 型
的变量,即便该 double 类型的值处于 float 类型的范围内也是不可以的。总之,能否成
功赋值取决于 等号右边的值类型与等号左边的变量 类型是否一致。
3. 如何将 double 类型的值赋给 float 类型的变量?答案就是(1)强制类型转换, 将 double 类
型的值强制转换为 float 类型。(2)使用 java 预言的支持。
强制转换的语法: 类型 变量名 = ( 类型)变量值;
4. 变量在使用前必须要赋值; 变量必须要声明其类型方可使用; 变量在使用前必须要定义,
并且只能定义一次。
5. 如下代码无法通过编译:
int a = 1;
short b = a;
a 是 int 类型,b 是 short 类型,int 类型表示的数据范围要比 short 类型大,不能将表示
范围大的值赋给表示范围小的变量。
6. 如下代码可以通过编译:
short a = 1;
int b = a;
a 是 short 类型,b 是 int 类型,int 类型表示的数据范围要比 short 类型大,可以将表示
范围小的值赋给表示范围大的变量。
7. 总结:可以将表示范围小的值赋给表示范围 大的变量;但不能直接将表示范围大的值赋
给表示范围小的变量,只能通过强制类型转换实现。
1) 整型:使用 int 表示。 (32 位)
2) 字节型:使用 byte 表示。 (表示-128~127 之间的 256 个整数, 8 位) 。
3)短整型:使用 short 表示。 (16 位)
4)长整型:使用 long 表示。 (64 位)
5)单精度浮点型:使用 float 表示。 所谓浮点型,指的就是小数,也叫做实数 ,比如 1.2 。
6)双精度浮点型:使用 double 表示。。 双精度浮点型表示的数据范围要比单精度浮点型大。
7)字符型:使用 char 表示(char 是 character 的缩写) 。所谓字符,就是单个的字符表示,
比如字母 a,或者中文张,外面用单引号包围上。比如 char a = ‘B’; char b = ‘张’;
8)布尔类型,使用 boolean 表示。布尔类型只有两种可能值,分别是 true 与 false。
2. Java 中的所有浮点类型默认情况下都是 double。 。 不能将 double 类型的值赋给 float 类 型
的变量,即便该 double 类型的值处于 float 类型的范围内也是不可以的。总之,能否成
功赋值取决于 等号右边的值类型与等号左边的变量 类型是否一致。
3. 如何将 double 类型的值赋给 float 类型的变量?答案就是(1)强制类型转换, 将 double 类
型的值强制转换为 float 类型。(2)使用 java 预言的支持。
强制转换的语法: 类型 变量名 = ( 类型)变量值;
4. 变量在使用前必须要赋值; 变量必须要声明其类型方可使用; 变量在使用前必须要定义,
并且只能定义一次。
5. 如下代码无法通过编译:
int a = 1;
short b = a;
a 是 int 类型,b 是 short 类型,int 类型表示的数据范围要比 short 类型大,不能将表示
范围大的值赋给表示范围小的变量。
6. 如下代码可以通过编译:
short a = 1;
int b = a;
a 是 short 类型,b 是 int 类型,int 类型表示的数据范围要比 short 类型大,可以将表示
范围小的值赋给表示范围大的变量。
7. 总结:可以将表示范围小的值赋给表示范围 大的变量;但不能直接将表示范围大的值赋
给表示范围小的变量,只能通过强制类型转换实现。