byte
byte数据类型是8位,有符号的,以二进制补码表示的整数;
最小:-128
最大:127
默认:0;
byte类型在大型数组中节约空间,主要替代数组,因为byte变量占用的空间只有int类型的1/4;
例子: byte a = 100, byte b = -50;
short
short数据类型是16位,有符号的以二进制补码表示的整数
最小值: -32768(-2^15)
最大值: 32767(2^15)
short数据类型可以像byte那样节省空间.一个short变量是int类型的变量所占空间的1/2;
默认:0;
例子: short s = 1000, short r = -20000.
int:
int数据类型是32位,有符号的以二进制补码表示的整数;
最小: -2,147,438,648(-2^31);
最大: 2,147,438,647(2^31);
默认值: 0;
例子: int a = 100000, int b = -200000.
long:
long数据类型是64位,有符号的以二进制补码表示的整数.
最小值: -9,223,372,036,854,775,808 (-2^63);
最大值: 9,223,372,036,854,775,807 (2^63);
这种类型主要使用在比较大整数的系统上;
默认值: 0L;
例子: long a = 100000L, Long b = -200000L. 理论上,L不区分大小写,但是若写成l则容易与1混淆,所以最好大写.
Java 基本数据类型,基本介绍
变量就是申请内存来储存.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配储存空间,分配的空间只能用来储存该类型数据.
Java两大类型数据
内置数据类型
byte byte数据类型是8位,有符号的,以二进制补码表示的整数; 最小:-128 最大:127 默认:0; byte类型在大型数组中节约空间,主要替代数组,因为byte变量占用的空间只有int类型的1/4; 例子: byte a = 100, byte b = -50;
short short数据类型是16位,有符号的以二进制补码表示的整数 最小值: -32768(-2^15) 最大值: 32767(2^15) short数据类型可以像byte那样节省空间.一个short变量是int类型的变量所占空间的1/2; 默认:0; 例子: short s = 1000, short r = -20000.
int: int数据类型是32位,有符号的以二进制补码表示的整数; 最小:
-2,147,438,648(-2^31)
; 最大:2,147,438,647(2^31)
; 默认值:0
; 例子:int a = 100000, int b = -200000.
long: long数据类型是64位,有符号的以二进制补码表示的整数. 最小值:
-9,223,372,036,854,775,808 (-2^63)
; 最大值:9,223,372,036,854,775,807 (2^63)
; 这种类型主要使用在比较大整数的系统上; 默认值:0L
; 例子: long a = 100000L, Long b = -200000L. 理论上,L不区分大小写,但是若写成l则容易与1混淆,所以最好大写.float: float数据类型是单精度,32位,符合IEEE 754标准的浮点数. float在储存大型浮点数的时候可以节省内存空间; 默认值
0.0f
;double: double数据类型是双精度,64位,符合IEEE 754标准的浮点数了; 浮点数的默认值为double类型; double类型同样不能表示精确的值,如货币; 默认值
0.0d
; 例子: double d1 = 1234.boolean boolean 数据类型表示一位的信息; 只有两个取值: true和false 这种类型只能作为一种标志来记录true/false情况/ 默认值
false
; 例子: boolean one = true.char: char类型是一个单一的16位Unicode字符; 最小值是
\u0000
(即为0); 最大值是\ufff
(即为65,535); char数据类型可以储存任何字符; 例子: char letter = "A".实例
对于数值类型的基本类型的取值方位,我们无需强制去记忆,因为他们的值都已经以常理的形式定义在对应的包装类中了.请看下面代码例子;
引用类型
Java 常量
常量在程序运行的时候不能被修改. 在java常量中使用final关键字来修饰常量.,声明方式和变量类似;
虽然常量名也可以用小写,但是为了便于识别,通常时候用大写字母来表示常量. 字面量可以赋值给任何内置类型的变量; 例如:
byte, int , long 和 short 都可以用十进制,16进制以及8进制的方式表示. 当使用常量的时候,前缀0表示8进制,. 而前缀
0x
代表16进制,例如:字符串常量和字符常量都可以包含任意Unicode字符.例如:
Java 语言支持一些特殊的转义字符序列
自动类型转换
int类型,常量, 字符型数据可以混合运算.运算中,不同类型的数据转化为同一类型,然后进行运算.转换从低级到高级.
数据类型转换必须满足如下条件:
自动类型转换
必须满足转换前的数据类型的位数要低于转换后的数据类型,例如 short数据类型的位数为16位,就可以自动转换成位数为32的int类型,
强制类型转换
/**
@fate 2018/11/16 19:31 */ public class autoTypeTranslate { public static void main(String[] args) { char c1 = 'a'; int i1 = c1; System.out.println(i1); // 97
} }
隐含强制类型转换:
int