一、变量的概念
- 内存中的一个存储区域
- 该区域有自己的名称(变量名)和类型(数据类型)
- 该区域的数据可以在同一类型范围内不断变化
- 就如同数学中的未知数
二、为什么要定义变量
用来不断的存放同一类型的常量,并可以重复使用
三、使用变量注意
- 变量的作用范围
- 初始化值
四、定义变量的格式
数据类型 变量名 = 初始化值
五、变量的作用域和生存期
- 作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
- 变量从定义的位置开始就在内存中活了;
- 变量到达它所在的作用域的时候就在内存中消失了;
六、数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
- 整数默认是int,小数默认是double
- byte(字节类型)一个byte 8位,取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
- short(短整型)一个short 16位,取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
- int(整型)一个int 32位,取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
- long(长整型)一个long 64位,取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
- charJava中一个字符(char)表示Unicode字符集中的一个元素。 Unicode字符由16位组成,因此,有(65535)个不同的字符可用,占用两个字节
- float:32位,数据范围在3.4e-45~1.4e38,(3.4*10的-45次方)直接赋值时必须在数字后加上f或F。
- double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
- 示例:
float f = 2.3;//编译失败
float f = 2.3f;//编译通过
byte b = 2;
b = b + 3;//编译失败
b = (byte) (b + 3);//编译通过
七、类型转换
- 自动类型转换(隐式类型转换)从低级别到高级别,系统自动转换
- 强制类型转换(显式类型转换)把一个高级别的数赋给一个别该数的级别低的变量时需要强转
- 级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double