基本数据类型
JAVA中一共有八种基本数据类型,他们分别是
byte、short、int、long、float、double、char、boolean
类型 | 型别 | 字节 | 取值范围 |
byte | 整型 | 1byte | -27 ~ 27-1 |
short | 整型 | 2byte | -215 ~ 215-1 |
int | 整型(默认) | 4byte | -231 ~ 231-1 |
long | 整型 | 8byte | -263 ~ 263-1 |
float | 浮点型 | 4byte | 3.402823e+38 ~ 1.401298e-45 |
double | 浮点型(默认) | 8byte | 1.797693e+308~ 4.9000000e-324 |
char | 文本型 | 2byte | 0~216-1 |
boolean | 布尔型 | 1byte | true/false |
在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的。如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的。同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。
浮点型的数据是不能完全精确的,所以有的时候在计算的时候可能会在小数点最后几位出现浮动,这是正常的。
自动类型转换
1)两种类型是彼此兼容的
2)转换后的目标类型占的空间范围一定要大于被转化的源类型
由低字节向高字节自动转换(黑线表示无数据丢失的自动数据转换,红线表示转换中可能发生精度丢失)
<关于int转float发生精度丢失,而int转double可以无数据丢失,可参考 https://blog.csdn.net/qq_31778159/article/details/79284113 >
强制数据转换
将容纳更多信息的数据类型转换成一个容量更小的数据类型,可能存在精度损失的风险,编译器要求程序员进行强制类型转换。
强制转换过程中可能发生数据溢出,必须警惕。
int a=(int)3.14;
数据类型自动提升
如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
否则,如果其中一个操作数是long类型,另一个会转换为long类型。
否则,两个操作数都转换为int类型。
变量的声明及定义注意事项
变量定义格式
数据类型 变量名=变量值;
基本数据类型:
byte,short,int,long,float,double,char,boolean;
变量的使用:
取值格式:变量名
修改格式:变量名=变量值;
变量使用注意事项:
名字不能重复
变量未赋值不能使用
long类型变量定义的时候,为了防止整数过大,后面要加L
float类型的变量定义的时候,为了防止类型不兼容,后面要加F
/*变量定义格式
数据类型 变量名=变量值;
基本数据类型:
byte,short,int,long,float,double,char,boolean;
变量的使用:
取值格式:变量名
修改格式:变量名=变量值;
*/
/*变量使用注意事项:
名字不能重复
变量未赋值不能使用
long类型变量定义的时候,为了防止整数过大,后面要加L
float类型的变量定义的时候,为了防止类型不兼容,后面要加F
*/
public class VariableDemo02{
public static void main(String[] args){
//定义byte类型的变量
byte b=10;
System.out.println(b);
//定义short类型的变量
short s=100;
System.out.println(s);
//定义int类型的变量
int i=10000;
System.out.println(i);
//定义double类型的变量
double d=13.14;
System.out.println(d);
//定义boolean类型变量
boolean bb=true;
System.out.println(bb);
//定义long类型的变量
long l=1000000000;
//给出整数默认是int类型,要是long类型在后面加一个大写的L
System.out.println(l);
//定义char类型变量
char c='a';
System.out.println(c);
//定义float类型变量
float f=13.14F;
//浮点数默认是double类型 需要加大写的F
System.out.println(f);
//直接输出会报不兼容的数据类型
}
}