01变量的定义
所谓的变量只不过是内存某一小段空间的名称(变量名),用来存放数据(变量值)。
int x=0, y; //x初始化了,但y并没有
y = x + 3
02变量的数据类型
Java是一门强类型的编程语言,对变量的数据类型有严格的限定。在定义变量的时候,必须先声明变量的数据类型,为变量赋值的时候必须赋予和变量类型同一种类型的值。(相当官方~~)
emmmm~为了不影响心情,我们首先来看一下思维导图
自己画的~棒不棒?!
这里暂时介绍,基本数据类型,棒棒哒
- 整数类型变量
类型名 占用空间 取值范围 byte 8位 -2^7 ~ 2^7-1 int 16位 -2^15 ~ 2^15-1 short 32位 -2^31 ~ 2^31-1 long 64位 -2^63 ~ 2^63-1 使用时注意一下各个类型取值范围即可。为long型变量赋值时,超出int范围必须加字母L或者l,未超出,可加可不加。
long num = 2200000000L //超过int范围必须加 long num = 198 long num = 198L //你开心就好
- 浮点数类型变量
类型名 占用空间 取值范围 float 32位 1.4e-45 ~ 3.4e+38 U -3.4e+38 ~ -1.4e-45 double 64位 4.9e-324 ~ 1.7e+308 U -1.7e+308 ~ -4.9e-324 备注:
1.e代表以10为底的指数
2.Java默认为double型,给float类型的数据赋值时需要加上字母F或者f,给double型的数据赋> > 值时则不需要。float x = 2.333f; //加字母F或者f double y = 2.333 double z = 2.333d //你开心就好系列
- 字符类型变量
字符类型变量存储单一字符,char类型在Java中占16位,可以直接赋值字符也可以赋值数字,数字的取值范围为0~65535。
char c = 'a' char c = 97 //相当于上一行
- 布尔类型变量
布尔类型只有两个值,true或者false
boolean flag = false
03变量的类型转换
- 自动转换(隐式类型转换)
要求是目标数据类型范围大于原数据类型范围,数据类型能够兼容。
byte x = 3 int y = x //不报错,自动转换
备注:按范围,bye < char = int < short < long < float < double,低范围可以赋给高范围
- 强制转换(显示类型转换)
强制类型转换多发生在数据类型不兼容,或者大转小(损失精度甚至粗现不必要的麻烦)
格式:目标类型 变量 = (目标类型)值int x = 4 byte y = (byte)x
备注:表达式类型自动提升
变量在表达式计算时,也可能发生自动类型转换,例如byte类型的变量在运算期间会自动提升为int类型。byte x = 2 byte y = 3 byte z = (byte)x + y //强制类型转换,int转byte
04变量的的作用域
java中的变量都是先定义后使用,定义变量的位置不同,它的作用范围也就不一样。一般来说,变量被定义在某一对大括号内,该大括号所包含的代码区域就是这个变量的作用域。