变量
当需要在程序中记录单个数据内容时,则声明一个变量即可,而声明变 量的本质就是在内存中申请一个存储单元,由于该存储单元中的数据内 容可以发生改变,因此得名为"变量" 。 •
由于存放的数据内容大小不一样,导致所需存储单元的大小不一样,在 Java语言中使用数据类型加以描述,为了便于下次访问还需要给该变量指 定一个名字,用于记录该变量对应的存储单元。
在Java中,变量分为两种:基本类型的变量和引用类型的变量。
在Java中,变量必须先定义后使用,在定义变量的时候,可以给它一个初始值。
变量的声明方式
• 数据类型 变量名 = 初始值;
• 其中=初始值可以省略,但;不可以省
int a = 1;
• Java是强类型语言,变量在使用前必须声明来指明其数据类型。
• 变量在使用之前必须初始化。
• 变量不能重复声明
标识符的命名法则
- 由数字、字母、下划线以及$等组成,其中数字不能开头(后面讲到)。
- 不能使用Java语言的关键字,所谓关键字就是Java语言用于表示特殊含义 的单词。
- 区分大小写,长度没有限制但不宜过长。
- 尽量做到见名知意,支持中文但不推荐使用。
- 标识符可以给类/变量/属性/方法/包 起名字。
基本数据类型
在Java语言中数据类型主要分为两大类:
(1)基本数据类型
byte、short、int、long、float、double、boolean、char
(2)引用数据类型
数组、类、接口、枚举、标注
-
整数类型:byte,short,int,long
-
浮点数类型:float,double
-
字符类型:char
-
布尔类型:boolean
单个字节表示的整数范围
• 在计算机中单个字节表示八位二进制位,其中最高位(最左边)代表符号位, 使用0代表非负数,使用1代表负数
• 非负数表示范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
• 负数表示范围:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
• 单个字节表示的整数范围是:-2^7 ~ 2^7-1,也就是-128 ~ 127
整型
对于整型类型,Java只定义了带符号的整型,因此,最高位的bit表示符号位(0表示正数,1表示负数)。各种整型能表示的最大范围如下:
- byte:-128 ~ 127
- short: -32768 ~ 32767
- int: -2147483648 ~ 2147483647
- long: -9223372036854775808 ~ 9223372036854775807
浮点型
浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,如1234.5可以表示成12.345x102,也可以表示成1.2345x103,所以称为浮点数。
- 其中float类型在内存空间占4个字节,叫做单精度浮点数,可以表示7位 有效数字,范围:-3.403E38~3.403E38。
- 其中double类型在内存空间占8个字节,叫做双精度浮点数,可以表示15 位有效数字,范围:-1.798E308~1.798E308。
- Java程序中直接写出的小数数据叫做直接量,默认为double类型,若希望 表达float类型的直接量,则需要在直接量的后面加上f或者F
布尔类型
布尔类型是关系运算的计算结果
- 数值只有:true 和 false
- 布尔类型在内存空间中所占大小没有明确的规定,可以认为是1个字节
字符类型
字符类型char表示一个字符,Java语言中用于描述单个字符的数据类型:char类型。如:'a'、 '中'等。
- 其中char类型在内存空间中占2个字节并且没有符号位,表示的范围是: 0 ~ 65535,由于现实生活中很少有数据能够被单个字符描述,
- 多个字符串起来组成的字符串,使用String类型加 以描述,如:“hello”、 “奇点”等。
计算机的底层只识别0和1组成的二进制序列,对于字符'a'这样的图案来 说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中 存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就 可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做 ASCII。
基本数据类型之间的转换
Java语言中基本数据类型之间的转换方式:自动类型转换和强制类型转换。
其中自动类型转换主要指从小类型到大类型之间的转换。
其中强制类型转换主要指从大类型到小类型之间的转换
目标类型 变量名 = (目标类型)源类型变量名
double b = (double)a;