Java的数据类型分为两大类:基本类型(primitive type)和引用类型 (reference type)
Java中定义了3类8种基本数据类型
逻辑型-boolean
文本型- char
数值型- byte, short, int, long, float, double
注:引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!
整型变量整型用于表示没有小数部分的数值,它允许是负数。
整型的范围与运行Java代码的机器无关,这正是Java程序具有很强移植能力的原因之一。于此相反,C和C++程序需要针对不同的处理器选择最有效的整形。
类型
占用存储空间
表数范围
Byte
1字节
-128~127
Short
2字节
-215 ~ 215-1 (-32768~32767)
Int
4字节
-231 ~ 231-1
(-2147483648~2147483647) 约21亿
Long
8字节
-263 ~ 263-1
Java 语言整型常数的三种表示形式:
十进制整数,如:99, -500, 0。
八进制整数,要求以 0 开头,如:015。
十六进制数,要求 0x 或 0X 开头,如:0x15 。
Java语言的整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’ ,如:
long a = 55555555; //不出错,在Int表示的范围内(21亿内)。
long b = 55555555555;//不加l出错,已经超过int表示的范围。 报错:The literal 55555555555 of type int is out of range
Java中没有无符号类型
代码//测试整数类型:byte,short,int,long。以及进制之间的转换问题
public class TestDataType {
public static void main(String[] args){
int a = 10;
int a2 = 010;
int a3 = 0xf;
// byte b = 200;
// System.out.println(b);
System.out.println(a);
System.out.println(a2);
System.out.println(a3);
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toOctalString(a));
System.out.println(Integer.toHexString(a));
t a5 = 10;
long a6 = 200;
byte b2 = 100; //如果数据的大小没有超过byte/short/char的表述范围,则可以自动转型。
long a7 = 11123213232L;
long l = 3;
long l2 = l+3; //L问题