Java有8种基本数据类型,包含4种整数类型、2种浮点类型、字符类型和布尔类型,整数类型包括byte、short、int、long,浮点类型包括float和double。
byte类型占用内存空间为8个二进制位,即1个字节,取值范围为-128至127,需要使用byte关键字定义byte变量,byte在整数类型中取值范围是最小的,使用时需要注意避免数据溢出。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
byte byteNum01=50;
byte byteNum02=-100;
byte byteNum03=100,byteNum04=-20,byteNum05;
System.out.println("byteNum01="+byteNum01);
System.out.println("byteNum02="+byteNum02);
System.out.println("byteNum03="+byteNum03);
System.out.println("byteNum04="+byteNum04);
}
}
输出结果如下图所示:
short类型占用内存空间为16个二进制位,即2个字节,取值范围为-32768至32767,需要使用short关键字定义short变量,short在整数类型中取值范围依旧比较小,使用时仍要注意避免数据溢出。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
short shortNum01=15000;
short shortNum02=-20000;
short shortNum03=30000,shortNum04=-30000;
System.out.println("shortNum01="+shortNum01);
System.out.println("shortNum02="+shortNum02);
System.out.println("shortNum03="+shortNum03);
System.out.println("shortNum04="+shortNum04);
}
}
输出结果如下图所示:
int类型占用内存空间为32个二进制位,即4个字节,取值范围为-2147483648至2147483647,需要使用int关键字定义int变量,int在整数类型中取值范围很大,int在整数类型中使用最广泛。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
int intNum01=1000000000;
int intNum02=-1000000000;
int intNum03=2000000000,intNum04=-2000000000,intNum05=0;
System.out.println("intNum01="+intNum01);
System.out.println("intNum02="+intNum02);
System.out.println("intNum03="+intNum03);
System.out.println("intNum04="+intNum04);
System.out.println("intNum05="+intNum05);
}
}
输出结果如下图所示:
long类型占用内存空间为64个二进制位,即8个字节,取值范围为-9223372036854775808至9223372036854775807,需要使用long关键字定义long变量,long在整数类型中取值范围最大,在对long类型变量赋值时结尾必须加上“L”或“l”,否则将不被认为是long型。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
long longNum01=100000000000000000L;
long longNum02=-100000000000000000L;
long longNum03=200000000000000000L,longNum04=-200000000000000000L,longNum05=0;
System.out.println("longNum01="+longNum01);
System.out.println("longNum02="+longNum02);
System.out.println("longNum03="+longNum03);
System.out.println("longNum04="+longNum04);
System.out.println("longNum05="+longNum05);
}
}
输出结果如下图所示:
float类型即单精度浮点型,占用内存空间为32个二进制位,即4个字节,取值范围为-3.40E+38 至 +3.40E+38,需要使用float关键字定义float变量,在对float类型变量赋值时结尾必须加上“F”或“f”,否则将被系统自动定义为double型。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
float floatNum01=1.23456F;
float floatNum02=-1.23456F;
float floatNum03=123456.123456F,floatNum04=-123456.123456F;
System.out.println("floatNum01="+floatNum01);
System.out.println("floatNum02="+floatNum02);
System.out.println("floatNum03="+floatNum03);
System.out.println("floatNum04="+floatNum04);
}
}
输出结果如下图所示:
double类型即双精度浮点型,占用内存空间为64个二进制位,即8个字节,取值范围为-1.79E+308 至 +1.79E+308,需要使用double关键字定义double变量,在对double类型变量赋值时结尾可以加上“D”或“d”,也可以不加。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
double doubleNum01=1.23456D;
double doubleNum02=-1.23456D;
double doubleNum03=123456.123456,doubleNum04=-123456.123456;
System.out.println("doubleNum01="+doubleNum01);
System.out.println("doubleNum02="+doubleNum02);
System.out.println("doubleNum03="+doubleNum03);
System.out.println("doubleNum04="+doubleNum04);
}
}
输出结果如下图所示:
char型即字符型,占用内存空间为16个二进制位,即2个字节,需要使用char关键字声明,用于存储单个字符,字符变量需要用单引号括起来,并且单引号中只能有一个字符,不允许有多个字符,java语言可以把字符作为整数对待。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
char char01='A';
char char02=65;
int int01='a';
int int02=97;
System.out.println("char01="+char01);
System.out.println("char02="+char02);
System.out.println("int01="+int01);
System.out.println("int02="+int02);
}
}
输出结果如下图所示:
boolean型即布尔型,也叫逻辑类型,只有true和false两个值,使用boolean关键字声明布尔类型变变量。
样例展示,运行如下代码:
public class TestMainCLass {
public static void main(String[] args) {
boolean bool01=true;
boolean bool02=false;
boolean bool03=(1==1);
boolean bool04=(1==0);
boolean bool05=("A".equals("A"));
boolean bool06=("A".equals("a"));
System.out.println("bool01="+bool01);
System.out.println("bool02="+bool02);
System.out.println("bool03="+bool03);
System.out.println("bool04="+bool04);
System.out.println("bool05="+bool05);
System.out.println("bool06="+bool06);
}
}
输出结果如下图所示: