java数据类型
- 数据类型的作用
数据类型就是一组值,以及这一组值上的操作.
数据类型可以决定数据的存储方式,取值范围,允许的操作. - 数据类型的分类
java中的数据分为基本类型和引用类型两大类
变量名锁表示的存储空间中存储的内容就是变量的值,这就是基本类型
变量名锁标识的存储空间的内容是另一块存储空间的起始地址,这就是引用数据类型.
class Demo {
publish static void main(){
//1)整数字面量默认为int类型
//2)定义一个int类型变量
int age = 123;
byte bb = 123
/*
给btye类型变量赋值时,如果这个整数字面量在byte类型的取值范围之内可以赋值
如果给byte类型变量赋值的整数字面量超过了byte的取值范围,不可以赋值
*/
//bb = 250; //错误:不兼容的类型:从int装换到byte可能会有损失
//4)byte/short/char 这三种类型在进行运算之前,会先把自己提升为int再运算
System.out.println(bb); //123
//bb = bb +1 ; //错误: 不兼容的类型: 从int转换到byte可能会有损失
/*
先把bb变量的值框架上1之后,把124再赋值给bb变量
在bb变量加1之前,系统会自动把bb提升为int类型再加1,
bb+1 这个表达式 为 int 类型,不能直接赋值给byte类型变量
*/
//bb = age; //错误:不兼容的类型:从int转换到btye可能会有损失
/*
编辑器在进行语法检查时,
不管age变量的值是多少,编译器也看不到变量的值是多少
编译器只知道age是int类型的变量,不能直接赋值给byte类型变量
*/
bb = 10 + 20;
System.out.println( bb ); //30
long xx = 123;
/*
整数字面量123 是int类型
变量xx是long类型
在把整数字面量赋值给long类型变量是隐藏这一个自动类型转换,就是把int类型的字面量转换为long类型
建议在给long类型变量赋值时,在整数字面量后面加上字符L(1)表示这个整数是long类型
*/
xx = 456L ; // 省去了自动类型转换这一步
// xx = 4748541256; //错误 : 过大的整数 : 4748541256 是int 类型
xx = 4748541256L; //长整型 对的
//我们在写程序的时候 大多数 用int 和 long 类型 , short 和 byte 很少使用
short , long 等都是一样的道理...
}
}