java的数据类型分为基本数据类型和引用数据类型。
基本数据类型分为数值型、字符型(char)、布尔型(boolean)
数值型变量
1、整数型
类型 |
占用存储空间 |
表示范围 |
byte |
1字节Byte |
-128~127 |
short |
2字节 |
-215~215-1 |
int |
4字节 |
-231~231-1 |
long |
8字节 |
-263~263-1 |
Java的整型常量的三种表示形式:
— 十进制整数,如12,-31
— 八进制整数,以0开头,如012
— 十六进制数,以0x或0X开头,如0x12
Java的整型常量默认为int类型,声明long类型常量后加L
long a=10L;
2、浮点型
类型 |
占用存储空间 |
表示范围 |
float |
4字节 |
-3.403E38~3.403E38 |
double |
8字节 |
-1.798E308~1.798E308 |
字符型变量
用来表示并存储一个字符,java使用unicode字符集。
字符是由单引号包括起来的单个字符
eg:
char c='b';
什么是unicode字符集?从ASCII字符集说起。。。
1、在计算机当中所有数据用二进制表示,但类似于a、b之类的字母无法直接用二进制表示。
2、标准ASCII码对常见的符号、数字和大小写字母等使用7位二进制进行编号http://baike.baidu.com/view/15482.htm
但ASCII字符集里面只有英文字符,为了方便计算机处理其他语言的字符,unicode为每种语言的每个字符都设定了统一、唯一的二进制码,满足了跨语言文本转换和处理的需求,使用数字0-0x10FFFF来表示字符,最多允许有1114112个字符。
乱码的产生
当向一个文件中写入数据时使用了a字符集转化成二进制数据存储在计算机中,而当数据从计算机中读取出来时使用了b字符集,就产生了乱码。
由于java使用unicode字符集,unicode编码占用两个字节,所以char类型的变量也是占用两个字节,所以在java中一个char变量可以存储一个汉字。
布尔型变量
适用于逻辑运算和程序流程控制,在java当中只有true和false两种取值
eg:
boolean a=true;