- 梳理总结学习过的知识点
1.1数据类型、表达式
1.1.1二进制的原码、反码、补码
机器数就是 8 位二进制,第一位代表的符号位。
机器数带符号:正数最高位为 0,负数最高位为 1
原码:符号位加上真值的绝对值
反码:正数的反码是其本身,负数的反码就是在其原码的基础上,符号位不变,其余各位取反
补码:正数的补码就是其本身,负数的补码就是在原码的基础上,符号位不变,其余各位取反,最后 +1。即,在反码的基础上加 1
补码转原码,符号位不变,其余各位取反加一。
1.1.2数据类型
引用数据类型还包括一种特殊的 null 类型。
自动类型转换:从小到大
强制类型转换:从大到小
GDOU-B-11-112
数值类型和布尔类型不能进行类型转换,引用数据类型的转换只能再有继承关系的两个类型之间进行。
1.1.3字节类型 Byte
byte 字节, 1 byte = 8 bits (8 位)
存储有符号的,以二进制补码表示的整数
最小值-128,最大值 127,默认值 0
byte 类型用在大型数组中可以显著节约空间,主要代替小整数,因为 byte 变量占用的空间只有 int 类型的四分之一
byte 在二进制文件读写中使用较多
1.1.4整数类型
short,16 位,2 个字节,有符号的以二进制补码表示的整数
(-32768~32767, -2^15~2^15-1),默认值 0
int, 32 位,4 个字节,有符号的以二进制补码表示的整数
(-2147483648~2147483647, -2^31~2^31-1),默认值 0
long, 64 位,8 个字节,有符号的以二进制补码表示的整数
-9,223,372,036,854,775,808(-2^63)~
9,223,372,036,854,775,807(2^63 -1),默认值 0L
1.1.5浮点数类型
float,单精度,32 位,4 个字节,符合 IEEE 754 标准的浮点数,默认值 0.0f。float 的范围为 1.40129846432481707e-45 ~3.40282346638528860e+38 (无论正负)。
double,双精度,64 位,8 个字节,符合 IEEE 754 标准的浮点数,默认值 0.0d。double的范围为 4.94065645841246544e324d ~ 1.79769313486231570e+308d (无论正负) 。
float 和 double 都不能用来表示很精确的数字。
1.1.6标识符即用于命名的符号。由数字、字母、下划线、美元符组成,不可为关键字和保留字,不能包括空格,开头不可为数字。
1.2程序结构
1.2.1选择结构
在日常生活中,大家经常能遇到需要进行选择的场景,例如,在利用提款机提款时,会进入到选择取款金额的画面,用户可以根据个人需求选择提取不同的金额,提款机根据用户的选择给出相应的金额,其程序的流程就是利用条件选择语句设计而成的。
Java提供了两种分支结构语句:if语句和switch语句。其中if语句使用布尔表达式或布尔值作为分支条件来进行分支控制;而switch语句用于对多个整数值进行匹配,从而实现多分支控制,下面将分别对if语句和switch语句的使用进行详细的讲解。
1.2.2if语句
if条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。
1.2.3if-else语句
if-else语句是指满足某个条件,就执行某种处理,否则执行另一种处理。即当布尔表达式成立时,则执行if语句主体;判断条件不成立时,则执行else的语句主体
1.2.4if-else if-else语句
由于if语句体或else语句体可以是多条语句,所以如果需要在if-else里判断多个条件,可以“随意”嵌套。比较常用的是if-else if-else语句,可用于对多个条件进行判断,进行多种不同的处理。
当布尔表达式1为true时,会执行语句块1。当布尔表达式1为false时,则执行布尔表达式2,如果布尔表达式2为true则执行语句块2。以此类推,如果所有的条件都为false,则意味所有条件均未满足,else后面{}中的语句块n+1会执行。
1.2.5switch语句
虽然嵌套的if-else语句可以实现多重选择处理,但语句较为复杂,容易将if和else匹配混淆,从而造成逻辑混乱。这种情况下,可以使用switch语句来实现多重选择的处理。switch语句只针对某个表达式的值进行判断,并做出相应的处理。
1.2.6循环结构
循环结构是程序中的另一种重要结构。在实际应用中,当碰到需要多次重复地执行一个或多个任务的情况时,应考虑使用循环结构来解决。循环结构的特点是在给定条件成立时,重复执行某个程序段。通常称给定条件为循环条件,称反复执行的程序段为循环体。
Java程序设计中引入了循环语句。循环语句总共有三种常见的形式:while 循环语句、do-while循环语句和for循环语句。下面将逐个进行介绍。
1.2.7while循环
while循环语句也是条件判断语句,用于事先不知道循环次数的情况,其语法格式如下:
while (循环条件) {
循环体
}
若while循环的循环体只有一条语句,则可以省略左右大括号。while的循环体是否执行,取决于循环条件是否成立,当循环条件为true时,循环体就会被执行。循环体执行完毕后继续判断循环条件,如果条件仍为true,则会继续执行,直到循环条件为false时,整个循环过程才会执行结束。
1.2.8do-while循环
do-while语句与while语句类似,它们之间的区别在于:while语句是先判断循环条件的真假,再决定是否执行循环体。而do…while语句则先执行循环体,然后再判断循环条件的真假,因此do…while循环体至少被执行一次。在日常生活中,如果能够多加注意,并不难找到do…while循环的影子。例如,在利用提款机提款前,会先进入输入密码的画面,允许用户输入3次密码,如果3次都输入错误,即会将银行卡吞掉,其程序的流程就是利用do…while循环设计而成的
1.2.9for循环
for循环是Java程序设计最常用的循环语句之一。一个for循环可以用来重复执行某条语句,直到某个条件得到满足。
若循环主体中要处理的语句只有1条,可以将大括号去掉,