2.变量
2.1数据类型
八大基本数据类型:byte、short、int、long、float、double、char、boolean
浮点数
使用细节:8.1 / 3 !== 2.7
在计算机中计算 8.1 / 3 时,计算机不清楚 .1 后面是否还有数,所以会得到近似值。如下:
所以在比较时不能使用 ==,会出错。要使用范围比较。如下:Math.abs() 用来求绝对值
字符类型char常量只能使用’’(英文状态单引号括起来,不能使用双引号)
布尔类型:在java中不能使用0和非0的整数来代替true和false
2.2java类的使用
2.3字符编码
- ASCII编码表:共128个字符,每个字符用1个字节表示;其实1个字节可以表示256个字符,但ASCII编码表只用了128个。
- Unicode:为了引入更多的字符,每个字符都使用2个字节表示。
- utf-8:可以理解为对Unicode编码表的优化,字母使用1个字节,汉字使用3个字节。
- gbk:字母使用1个字节,汉字2个字节
- gbk2312:可以表示汉字,gbk2312 < gbk
- big5码:繁体中文,台湾、香港
2.4数据类型转换
低精度转换高精度。
2.5自动类型转换注意事项
- 有多种类型数据混合运算时,系统首先把所有数据转换成容量最大的那种数据,然后再进行计算。
- 当把精度大的数据类型赋值给精度小的数据类型时会出错,反之进行自动转换。
- (byte、short)和char之间不会相互转换。
- byte、short、char 三者可以计算,在计算时首先转换成 int 类型。
- boolean不参与转换。
- 自动提升,表达式结果的类型自动提升为操作数中最大的类型。
2.6强制类型转换注意事项
强制符号只针对最近的操作数,往往使用小括号提高优先级
如:int x = (int)10 * 2.5 + 6 * 1.5 编译不通过:double -> int
正确:int x = (int) (10 * 2.5 + 6 * 1.5)
2.7基本类型和String相互转换
-
基本->String
在基本类型值后加 + “” 即可。
-
String->基本
通过基本类型的包装类调用parsXX方法。(除了char类型,使用 变量.charAt(第几位))