1、变量的定义
变量、变量名、变量类型
2、变量的数据类型
分为基本数据类型和引用数据类型
八种基本数据类型是Java语言内嵌的,在任何操作系统中都具有相同大小和属性
整数数据类型:字节型(byte 占一个字节)、短整型(short 占两个字节)、整型(int 占三个字节)、长整型(long 占四个字节)
占用空间指的是不同类型变量分别占用的内存大小,不能超出范围
注意:在给long类型的变量赋值时需要加上字母L或l,如果没超过int类型的范围,可以不加
浮点型类型变量:用来存储小数数值
float(单精度浮点数 占4个字节)和double(双精度浮点数 占8个字节)两种类型
double型所表示的浮点数比float更精确
一个小数一般会默认为double,所以在使用float类型赋值时需要加上F或f,double可加可不加
字符类型变量:用于储存单一字符 用char表示,占两个字节,赋值时需要用单引号''括起来
char也可以赋值为0~65535范围内的整数
布尔类型变量:用来存储布尔值 只要True和False两个值
3、变量的类型转换
分为自动类型转换和强制类型转换
自动类型转换也加隐式类型转换,不需要声明,但必须满足两个条件:
-
两种类型彼此兼容
-
目标类型的取值范围大于源类型的取值范围
除以上实例,还有很多类型可以进行自动类型转换
1.整数类型可以相互转换
2.整数类型可以转换为float类型
3.其他类型可以转换为double类型
强制类型转换为称显式类型转换,需要进行显式声明
目标类型 变量名=(目标类型) 值;
表达式类型自动提升:
所谓表达式就是指由变量和运算符组成的一个算式。变量在表达式中进行运算,也可能发生自动类型转换,这就是表达式数据类型的自动提升
如:一个byte型的变量在运算期间类型会自动提升为int型
byte b3=(byte)(b1+b2);
byte、short、char-->int-->long-->float-->double(低------>高)
运算中,不同类型的数据先转换为同一类型,然后再进行计算
/*
注意点:
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
在把高容量转换为低容量的时候,强制转换
转换的时候可能存在内存溢出,或者精度问题
*/
4、变量的作用域
变量需要在它的作用域内才可以被使用,这个作用范围称为变量的作用域
类变量、实例变量、局部变量