文章目录
1、变量
1.1 变量的基本概念
- 当需要在程序中记录单个数据内容时,则声明一个变量即可,而声明变量的本质就是在内存中申请一个存储单元,由于该存储单元中的数据内容可以发生改变,因此得名为"变量"。
- 由于存放的数据内容大小不一样,导致所需存储单元的大小不一样,在Java语言中使用数据类型加以描述,为了便于下次访问,还需要给该变量指定一个名字,用于记录该变量对应的存储单元。
1.2 变量的声明方式
数据类型 变量名 = 初始值;
- 其中 = 初始值 可以省略,但 ; 不可以省略
1.3 变量的注意事项
- Java是强类型语言,变量在使用前必须声明来指明其数据类型。
- 变量在使用之前必须初始化。
- 变量不能重复声明。
1.4 标识符的命名法则(笔试)
- 由数字、字母、下划线以及$等组成,其中数字不能开头。
- 不能使用Java语言的关键字,所谓关键字就是Java语言用于表示特殊含义的单词。
- 区分大小写,长度没有限制但不宜过长。
- 尽量做到见名知意,支持中文但不推荐使用。
- 标识符可以给 类、变量、属性、方法、包 起名字。
1.5 官方库的使用
- JDK中带有大量的API类,是由Java系统带来的工具库,这些工具数以万计!是Java官方程序员的技术积累。
- 使用这些类可以大大简化编程,提高开发效率。
- 具体的API类功能,可以参阅Java的参考手册。
2、数据类型
2.1 数据类型的分类
- 在Java语言中数据类型主要分为两大类:
- (1)基本数据类型(8种)
byte、short、int、long、float、double、boolean、char - (2)引用数据类型
数组、类、接口、枚举、标注 等
- (1)基本数据类型(8种)
2.2 常用的进制
- 在日常生活中采用十进制进行数据的描述,逢十进一,十进制权重是:10^0、10^1、10^2、…
- 在计算机的底层采用0和1组成的二进制序列进行数据的描述,逢二进一,二进制的权重是2^0、2^1、2^2、…
- 二进制中的最高位(最左边)用于代表符号位,若该位是0则表示非负数,若该位是1则表示负数。
- 八进制和十六进制其实都是二进制的简写。
2.3 进制之间的转换
2.3.1 正十进制转换为二进制的方式
a. 除2取余法,使用十进制整数不断地除以2取出余数,直到商为0时将余数逆序排序。
例如:
b. 拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重下面写1,否则写0。
例如:
2.3.2 正二进制转换为十进制的方式
a. 加权法,使用二进制中的每个数字乘以当前位的权重再累加起来。
例如:
2.3.3 负十进制转换为二进制的方式
a. 先将十进制的绝对值转换为二进制,然后进行按位取反再加1。
注意:负数的需要补码:按位取反,再加1 。
例如:
2.3.4 负二进制转换为十进制的方式
a. 先减1再按位取反,合并为十进制整数后添加负号。
例如:
2.4 单个字节表示的整数范围(重中之重)
- 在计算机中单个字节表示八位二进制位,其中最高位(最左边)代表符号位,使用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。
2.5 整数类型
- Java语言中描述整数数据的类型有: byte、 short、 int、 long,荐int类型
- 其中byte类型在内存空间中占1个字节,表示范围是: -2^7 ~ 2^7-1
- 其中short类型在内存空间中占2个字节,表示范围是: -2^15 ~ 2^15-1
- 其中int类型在内存空间中占4个字节,表示范围是: -2^31 ~ 2^31-1
- 其中long类型在内存空间中占8个字节,表示范围是: -2^63 ~ 2^63-1
- 在Java程序中直接写出的整数数据叫做直接量/字面值/常量,默认为int类型。若希望表达更大的直接量, 则在直接量的后面加上l或者L,推荐L。
2.6 浮点类型
- Java语言中用于描述小数数据的类型: float 和 double, 推荐double类型
- 其中float类型在内存空间占4个字节,叫做单精度浮点数,可以表示7位有效数字, 范围: -3.403E38~3.403E38。
- 其中double类型在内存空间占8个字节,叫做双精度浮点数,可以表示15位有效数字,范围: -1.798E308~1.798E308。
- Java程序中直接写出的小数数据叫做直接量,默认为double类型,若希望表达float类型的直接量,则需要在直接量的后面加上f或者F
2.6 布尔类型
- Java语言中用于描述真假信息类型有: boolean,数值只有: true 和 false。
- 布尔类型在内存空间中所占大小没有明确的规定, 可以认为是1个字节。
2.7 字符类型
- Java语言中用于描述单个字符的数据类型: char类型。如: ‘a’、 '中’等。
- 其中char类型在内存空间中占2个字节并且没有符号位,表示的范围是:0 ~ 65535,由于现实生活中很少有数据能够被单个字符描述,因此以后的开发中更多的使用由多个字符串起来组成的字符串,使用String类型加以描述,如: “hello”、 “你好”等。
- 计算机的底层只识别0和1组成的二进制序列,对于字符’a’这样的图案来说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做
ASCII。 - 要求掌握的ASCII有: ‘0’ - 48,‘A’ - 65,‘a’ - 97,空格 - 32,换行符 - 10
- Java字符类型采用Unicode字符集编码。 Unicode是世界通用的定长字符集,所有的字符都是16位。
- 要求掌握的转义字符有: " - " ,’ - ’ ,\ - \ ,\t - 制表符 ,\n - 换行符
2.8 基本数据类型之间的转换
- Java语言中基本数据类型之间的转换方式: 自动类型转换和强制类型转换。
- 其中自动类型转换主要指从小类型到大类型之间的转换。
- 其中强制类型转换主要指从大类型到小类型之间的转换,语法格式如下:
目标类型 变量名 = (目标类型)源类型变量名;
long a = 12;
int b = (int) a;
- 注意:强转有风险,操作需谨慎!