基本数据类型
Java中共三种基本数据类型:数值型、字符型、布尔型
数值类型
类型名称 | 大小 / 格式 | 范围 | 说明 |
---|---|---|---|
整数类型 | |||
byte | 8 bit | -128 ~ 127 | 位元組整数 |
short | 16 bit | -32768 ~ 32767 | 短整型 |
int(常用) | 32 bit | -2147483648 ~ 2147483647 | 整型 |
long | 64 bit | -9223372036854775808 ~ 9223372036854775807 | 长整型 |
实数类型(浮点数) | |||
float | 32 bit | 七位小数 | 单精度浮点数 |
double (常用) | 64 bit | 十五位小数 | 双精度浮点数 |
数值字面量:字面量是在程序中直接出现的基本类型的数据值。
• int i = 34;
• long l = 1000000L;
• float f = 100.2f; 或 float f = 100.2F; f/F不能省
• double d = 100.2d; 或 double d = 100.2D; d/D可以省
注意:整数型字面量默认是int类型,
浮点型字面量默认为double类型。
字符类型
• 字符数据类型char用于表示单个字符。如:
char c = 'A';
char c = '4';
char c = 98; char c = ‘\\’ 第一个\代表转义字符
布尔类型
布尔数据类型来自布尔代数,它的值域包括两个值: true(真)和 false (假)。
• boolean lightsOn = true;
• boolean lightsOn = false;
数值类型转换
数值类型精度由高到低排序:
• double
• float
• long
• int
• short
• byte
将低精度的值赋给高精度类型的变量(由低向高转)
double i=10;
• 10为低精度(字面量int类型)
• i为高精度double类型
低向高转为自动转换
将高精度的值赋给低精度类型的变量(由高向低转)
int i=10.1;
• 10.1为高精度(字面量double类型)
• i为低精度int类型 高向低转为强制类型转换:int i = (int)10.1
(int)为强制类型转换
Java中当两个类型不同的运算对象进行二元运算时,Java 自动 把精度较低的 类型转换成另一个精度较高的类型。
操作数中:
1、如果有double类型为最高精度数据,则都会转换成double类型;
2、如果有float类型为最高精度数据,则都会转换成float类型;
3、如果有long类型为最高精度数据,则都会转换成long类型;
4、其他的低精度运算(byte, short, char, int)
• byte、short、 char、int在一起运算,自动提升为int;
• byte short char 互相运算,也自动提升为int。