1、Java基础数据类型
Java的基本数据类型可以分为两大类:数值类型和布尔类型。而数值类型又可以分为整型和浮点型,整型里的字符型往往也被单独对待。因此常常也把Java里的基本数据类型分为四类:
a、整数类型(整型)
byte:在内存中占1个字节(8位),表数范围-2^7到2^7-1(-128到127)
short:在内存中占2个字节(16位),表数范围-2^15到2^15-1(-32768到32767)
int:在内存中占4个字节(32位),表数范围-2^31到2^31-1
long:在内存中占8个字节(64位),表数范围-2^63到2^63-1
整数常量的表示方式:10进制、8进制(0开头)、16进制(0x或者0X开头)
b、字符型
字符型char在内存中占两个字节。Java语言使用16进制的Unicode编码集作为编码方式,支持世界上所有的书面语言字符。
字符型常量必须使用单引号括起来,有三种表示形式:
1>直接通过单个字符来表示字符常量,比如'A'、'9'
2>通过转义字符表示特殊的字符常量,比如'\n'、'\t'
3>直接使用Unicode值来表示字符常量,格式是'\uXXXX',其中XXXX表示一个16进制的整数
附:字符常量可以采用十六进制的编码方式来表示,范围为'\u0000'到'\uFFFF',一共可以表示65535个字符,其中前256个('\u0000'到'\u00FF')字符与ASCII码中的字符完全重合。
同时由于char类型的值在内存中存储的依然是数字,因此其可以和整数型的值互相赋值,但注意表数范围是16位的无符号正数(0到65535)
// 直接通过单个字符表示字符常量
char
charData0
=
'A'
;
char
charData1
=
'蔡'
;
System.
out
.println(
"charData0="
+
charData0
);
System.
out
.println(
"charData1="
+
charData1
);
// 使用Unicode编码值来表示字符常量
char
charData2
=
'\u0041'
;
// 字符A的十进制ASCII值是65,十六进制的ASCII码值是41,其Unicode码也是41
char
charData3
=
'\u8521'
;
// 字符'蔡'的Unicode表示\u8521
System.
out
.println(
"charData2="
+
charData2
);
System.
out
.println(
"charData3="
+
charData3
);
// 使用转义字符来表示特殊的字符常量
char
charData4
=
'\n'
;
System.
out
.println(
"charData4="
+
charData4
);
/************整型和字符型变量互换***********/
// 直接将字符型变量赋给整型变量
int
intData0
=
'蔡'
;
System.
out
.println(
"intData0="
+
intData0
);
// 直接将一个0到65535范围内的整数赋给一个字符型变量
char
charData5
= 34081;
// 字符'蔡'的十进制表示34081
char
charData6
= 0x8521;
// 字符'蔡'的十六进制表示0x8521
System.
out
.println(
"charData5="
+
charData5
);
System.
out
.println(
"charData6="
+
charData6
);
输出:
charData0=A
charData1=蔡
charData2=A
charData3=蔡
charData4=
intData0=34081
charData5=蔡
charData6=蔡
c、浮点型
Java浮点类型只有两种,分别是float和double。其中float(单精度浮点数)在内存中占4个字节(32位),double(双精度浮点数)在内存中占8个字节(64位)。
单精度浮点型常量必须以f或者F结尾,而double则不需要。表示方式有两种:标准小数形式和科学计数法形式(略)。
d、布尔型
Java中的布尔型的数值只能是true或者false,不能使用0或者非0来表示。其他基本数据类型的值也不能转换成boolean类型。
boolean
booleanData0
=
false
;
// 错误写法,java的布尔类型只能是true或者false,不能使用0或非0来替换
// boolean booleanEData1 = 2;
// boolean booleanErrorData2 = 0;
附:全部代码:
package
javabase;
public
class
DataType {
public
static
void
main(String
args
[]){
// 直接通过单个字符表示字符常量
char
charData0
=
'A'
;
char
charData1
=
'蔡'
;
System.
out
.println(
"charData0="
+
charData0
);
System.
out
.println(
"charData1="
+
charData1
);
// 使用Unicode编码值来表示字符常量
char
charData2
=
'\u0041'
;
// 字符A ASCII值65 ,转换成十六进制的 Unicode码是41
char
charData3
=
'\u8521'
;
// 字符'蔡'的Unicode表示\u8521
System.
out
.println(
"charData2="
+
charData2
);
System.
out
.println(
"charData3="
+
charData3
);
// 使用转义字符来表示特殊的字符常量
char
charData4
=
'\n'
;
System.
out
.println(
"charData4="
+
charData4
);
/************整型和字符型变量互换***********/
// 直接将字符型变量赋给整型变量
int
intData0
=
'蔡'
;
System.
out
.println(
"intData0="
+
intData0
);
// 直接将一个0到65535范围内的整数赋给一个字符型变量
char
charData5
= 34081;
// 字符'蔡'的十进制表示34081
char
charData6
= 0x8521;
// 字符'蔡'的十六进制表示0x8521
System.
out
.println(
"charData5="
+
charData5
);
System.
out
.println(
"charData6="
+
charData6
);
boolean
booleanData0
=
false
;
// 错误写法,java的布尔类型只能是true或者false,不能使用0或非0来替换
// boolean booleanEData1 = 2;
// boolean booleanErrorData2 = 0;
}
}