Java基本数据类型
- 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。
- 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来存储该类型数据。
通过定义不同类型的变量,可以在内存中存储整数,小数或者字符。
Java两大数据类型
- 内置数据类型
- 引用数据类型
基本类型 | 二进制表示 | 包装类 | 最小值 | 最大值 |
---|---|---|---|---|
byte | 8位 二进制补码表示有符号整数 | java.lang.Byte |
Byte.MIN_VALUE=-128 |
Byte.MAX_VALUE=127 |
short | 16位 二进制补码表示的有符号整数 | java.lang.Short |
Short.MIN_VALUE=-32768 |
Short.MAX_VALUE=32767 |
int | 32位二进制补码表示的有符号整数 | java.lang.Integer |
Integer.MIN_VALUE=-2147483648 |
Integer.MAX_VALUE=2147483647 |
long | 64位二进制补码表示的有符号整 | java.lang.Long |
Long.MIN_VALUE=-9223372036854775808 |
Long.MAX_VALUE=9223372036854775807 |
float | 单精度、32位、符合IEEE 754标准的浮点数 | java.lang.Float |
Float.MIN_VALUE=1.4E-45 |
Float.MAX_VALUE=3.4028235E38 |
double | 双精度、64 位、符合 IEEE 754 标准的浮点数 | java.lang.Double |
Double.MIN_VALUE=4.9E-324 |
Double.MAX_VALUE=1.7976931348623157E308 |
char | 单一的 16 位 Unicode 字符 | java.lang.Character |
Character.MIN_VALUE=\u0000(十进制等效值为 0) |
Character.MAX_VALUE=\uffff |
boolean | 表示一位的信息 | 只有两个取值:true 和 false | 默认值是false |
JAVA中还存在另外一种基本类型 void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。
- 在Java中,引用类型的变量非常类似于C/C++的指针,引用类型指向一个对象,
指向对象的变量是引用变量
,这些变量在声明时被指定为一个特定的类型。变量一旦声明后,类型就不能被改变了。 - 对象、数组都是引用数据类型。
- 所有引用类型的默认值都是
null
- 一个引用变量可以用来引用任何与之兼容的类型。
Site site = new Site(“Runoob”);
Java常量
常量在程序运行时是不能被修改的。
在Java中使用final
关键字来修饰常量,声明方式和变量类似:
final double PI = 3.1415927;
虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。字面量可以赋给任何内置类型的变量。例如:
byte = 68;
char a = ‘A’;
byte
,int
,lonh
,和short
都可以用十进制、16进制以及8进制的方式来表示。
当使用字面量的时候,前缀0
表示8进制,而前缀0x
代表16进制,例如:
int decimal =100; //十进制
itn octal =0144; //八进制
int hexa = 0x64; //十六进制
java字符串常量包含在两个引号之间的字符串序列。
java语言支持一些特殊的转义字符序列
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页符(0x0c) |
\b | 退格 (0x08) |
\0 | 空字符 (0x0) |
\s | 空格 (0x20) |
\t | 制表符 |
" | 双引号 |
’ | 单引号 |
\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 16进制Unicode字符 (xxxx) |
自动类型转换 整型、常量、字符型数据可以混合运算。运算中不同数据先转化为同一类型,然后进行运算。
低 -----------------------> 高
byte,short,char—> int —> long—> float —> double
- 不能对boolean类型进行类型转换。
- 不能把对象类型转换成不相关类的对象。
- 容量大的类型转换成容量小的类型时必须使用强制类型转换。
- 转换过程中可能会导致溢出或者损失精度
- 浮点数到整数的转换通过舍弃小数得到,而不是四舍五入。
强制类型转换
- 条件是转换的数据类型必须是兼容的。
隐含强制类型转换 - 整数的默认类型是int。
- 小数默认是double类型浮点型,在定义float类型时必须在数字后跟上
F
或f
。
Java变量类型
在Java语言中,所有的变量在使用前必须声明。
int a,b,c;
int d =3,e = 4,f = 5;
byte z = 22;
String s = “runoob”;
double pi = 3.14159;
char x = ‘x’;
Java语言支持的变量类型有:
- 类变量:独立于方法之外的变量,用static修饰。
- 实例变量:独立于方法之外的变量,不过没有static修饰。
- 局部变量:类的方法中的变量。