Java数据类型可分为两大类:基本数据类型和引用类型
基本数据类型:byte、short、int、long、float、double、char、boolean
引用数据类型:类、接口、数组、枚举(后面讲解)
整数型---- byte(字节), short(短整型), int(整型), long(长整型)
浮点型---- float(单精度浮点型), double(双精度浮点型)
字符型---- char
布尔型---- boolean
计算机:只识别0和1----->二进制
存储的数据:单位,最基本的单位:bit,位
byte:1字节——>8个bit
short:2个字节——>16个bit
int:4个字节——>32个bit
long:8个字节——>64个bit
我们的数据类型都是有符号的,转成0-1码,最高位表示符号位:0表示正数,1表示负数。
1111111 负数
byte型可以的存储的最大的正数 01111111 ---- 127 (2^7-1),最小的负数 — -128 (2^7)
Java中所有的基本数据类型都有固定的存储范围和所占内存空间的大小,而不受具体操作系统的影响,以保证Java程序的可移植性。
byte: 1个字节 ,范围 -128 到 127
short: 2个字节 ,范围 -32768(2^15)到 32767(2^15-1)
int:4个字节
long :8个字节
float:4个字节
double:8个字节
char:2个字节
boolean:不确定(true/false)
float: 单精度浮点数(精度6,7位) 4个字节
double:双精度浮点数 (精度15,16位) 8个字节
Java浮点类型常量有两种表示形式:
十进制数形式,必须含有小数点,例如: 3.14 314.0 0.314
科学记数法形式,如: 3.14e2 3.14E2 314E2
Java浮点型常量默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:double d = 3.14; float f = 3.14f;
注意:float double存储的数据都是近似值。
char c = 'A'; char c2= '好';
char c1 = '\u0061';
//相当于’a’char c2 = 97;
//ASCII美国标准信息交换码,相当于’a’char c2 = '\n'
;。// \ 转义字符 可以将后面的n 转义成为 换行的操作 System.out.print("i的值= "+i+"\n"); System.out.print("y的值 = "+y); System.out.print("f的值 = "+f); System.out.println("c的值 = "+c); // \t 水平制表符 System.out.print("99\t98\t97\t96"); System.out.print("你好\"你好"); System.out.print("你好\\你好");
boolean类型适于逻辑运算,一般用于程序流程控制
boolean类型数据只允许取值true或false,不可以用0或非0的整数替代true和false。
示例:
boolean b = false;
boolean c = true;
基本数据类型之间的转换分为以下两种:
*自动类型转换
*强制类型转换
*boolean 类型不能转换成任何其它基本数据类型。
自动类型转换
:数据类型取值范围小的转为取值范围大的
强制类型转换
:数据类型取值范围大的 转为 取值范围小的. 需要加强制转换符,也就是(要转换的数据类型)。
long l = 100L;
int i = (int)l;
但有可能造成精度降低或数据溢出,使用时要小心。