java有8中基本数据类型,分别是:
1、整数类型: byte short int long
2、浮点类型: float double
3、字符类型: char
4、布尔类型: boolean
一:整数类型
整数类型,顾名思义,是用来存储整数数值的,即没有小数部分的数值,可以是正数,也可以是负数,整数类型在java中有三种表现形式:十进制、八进制、十六进制。
注意:十进制不能以0开头,八进制必须以0开头,十六进制以0X或0x开头。
根据所占内存大小的不同,分为byte、short、int、long 4中类型。
数据类型 | 内存空间(8位等于1字节) | 取值范围 |
---|---|---|
byte | 8位 | -128 ~127 |
short | 16位 | -32768 ~ 32767 |
int | 32位 | -2147483648 ~ 2147483647 |
long | 64位 | -9223372036854775808 ~ 9223372036854775807 |
注意:如果赋值大于int的最大值或小于int的最小值,需要在数字后加上L或l,表示该数字位长整数,如: long num = 2147483650L。
package Number;
public class Number {
public static void main(String[] args) {
byte mybyte = 124; //定义byte变量并赋值
short myshort = 32564; //定义short变量并赋值
int myint = 4444555; //定义int变量并赋值
long mylong = 66677676787878788L; //定义long变量并赋值
System.out.println(mybyte + myshort + myint + mylong);
}
}
二:浮点类型
浮点类型,是表示它是有小数部分的,分为单精度浮点类型:float,双精度浮点类型:double。
数据类型 | 内存空间(8位表示1字节) | 取值范围 |
---|---|---|
float | 32位 | 1.4E-45 ~ 3.4028235E38 |
double | 64位 | 4.9E-324 ~ 1.7976931348623157E308 |
注意:因为默认情况下,小数都被看为是double,所以在声明float类型的数据时,需要在小数后面加上F或者f。也可以在小数后面加上D或d来明确表示是double类型,也可以不加D或d。但是float类型在声明时如果不加F或f,会被默认为double类型而出错。
在下面代码中,如果不加f或F,会编译出错。
public void demo(){
float f = 12.2f;
double d = 12.333;
}
三:字符类型
字符类型char用于存储单个字符,占用16位的内存空间,在定义字符类型变量时,要以单引号表示,如's'。
public void charDemo(){
char x = 'a';
char x2 = 97;
}
由于字符a在unicode表中的排序位置为97,所以上述代码x和x2表示的是一样的。
四:布尔类型
布尔类型boolean又称为逻辑类型,只有true和false两个值,分别代表布尔逻辑中的“真”和“假”。
public void booleanDemo(){
boolean b; //定义布尔类型b
boolean b2 = false; //定义布尔类型b2,赋值为false
}
其他:
转义字符:
转义字符是一种特殊的字符变量,它是以"\"开头,后面跟一个或多个字符。
转义字符 | 含义 |
---|---|
\ddd | 1-3位八进制数据所表示的字符,如\456 |
\dxxxx | 4位十六进制所表示的字符,如\0052 |
\' | 单引号字符 |
\\ | 反斜杠字符 |
\t | 垂直制表符,将光标移到下一个制表符的位置 |
\r | 回车 |
\n | 换行 |
\b | 退格 |
\f | 换页 |
public static void zyzf(){
char c = '\\';
char c2 = '\u2605';
System.out.println(c);
System.out.println(c2);
}
注意:将转义赋值给字符变量时,也要加上单引号。