《Java核心技术 卷I》读书笔记二
章节内容
- 注释
- 数据类型
- 变量
- 运算符
- 字符串
- 输入输出
- 控制流
- 大数值
- 数组
注释
java代码中有三种注释:
- // 只能注释一行
- /和/可以将多行注释
- /**和*/可以注释多行并且自动生成文档
数据类型
java是一种强类型语言。java中有8种基本类型,其中有4种整型、2种浮点型、1种表示Unicode编码的字符类型和一种表示真值的boolean类型。
整型
类型 | 存储需求 | 取值范围 |
---|---|---|
int | 4字节 | -2147483648/2147483647 |
short | 2字节 | -32768/32767 |
long | 8字节 | -9223372036854775808/9223372036854775807 |
byte | 1字节 | -128/127 |
long类型数值有后缀L或l |
浮点类型
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节 | +/-3.40282347E+38F |
double | 8字节 | +/-1.79769313486231570E+308 |
double这种类型的精度是float类型的两倍。 | ||
float类型的数值有后缀F或f,double类型的数值有后缀D或d。 | ||
Double.POSITIVE_INFINITY和Double.NEGATIVE_INFINITY和Double.NaN表示正无穷大,负无穷大,不是数字 | ||
检测非数值应该使用Double.isNaN()方法 | ||
PS:如果在数值计算中不允许有任何舍入误差,应该使用BigDecimal类。 |
char类型
char类型表示一个字符,有些Unicode字符可以用一个char值表示,另外一些则需要两个。
boolean类型
两个值:true和false
变量
不能使用java保留字作为变量名。
变量使用前必须进行初始化。
java中使用final指示常量,常量只能被赋值一次。类常量可以使用关键字static final声明。
运算符
整数被0除将产生异常,而浮点数被0除会得到无穷大或NaN结果。
标注库Math类中包含了各种各样的数学函数。
算术运算符 + - * / %
逻辑运算符 && || !
赋值运算符 += -= *= /= %=
自增和自减 ++ --
关系运算符 > < >= <= !=
位运算符 & | ^ ~ << >> >>> >>>会用0填充高位 >>用符号位填充高位
字符串
java字符串就是Unicode字符序列。
java中的string类是不可变的。
不可变字符串的优点:编译器可以让字符串共享。
虚拟机中只有字符串常量是共享的,字符串操作所产生的结果并不是共享的。
StringBuilder、StringBuffer可以修改字符串,StringBuilder是线程安全的。
输入输出
System.out.Println()可以打印输出到“标准输出流”
Scanner in = new Scanner(System.in)可以读取“标准输入流”
控制流程
if else
while、do while、for、foreach
break、continue
switch case default
大数值
java的整数和浮点数精度不能满足需求时,可以使用java.math包中的BigInteger和BigDecimal
数组
java中允许数组长度为0,数组长度为0与null不同