1.整数表示的前缀:基于X进制
二进制:0b
八进制:0
十六进制:0x
2.浮点数比较
float m = 0.1f;
double n = 1.0/10;
System.out.println(m==n);
经典面试题,逻辑上两个数是一样的,但是由于浮点数的存储方式,会引入舍入误差,此时代码会打印false。
所以不能使用==来严格判断两个浮点数是否相等。
一般有两种方法来判断两个浮点数是否相等:
- Math.abs(m-n) < threshhold(譬如0.000001) (这个方法用各种语言都通用)
- 使用BigDecimal 类,内置的compareTo() 方法对两个浮点数进行比较,会忽略小数点后的位数
3.字符编码
Unicode编码:16bit 字符表共2^16个字符 U0000 -- UFFFF
数字对应字符,例如 'a' = 97 = 0x61
char类型变量存储的时候是存储数字
eg: println('\u0061') 会输出 'a'
转义字符: "\t"会输出制表符 "\n"会输出换行符
4.类型转换
强制类型转换:(类型)变量名 高 --> 低 有可能出现内存溢出,或者精度降低的问题
自动类型转换:无需操作,直接转换 低 --> 高

不能对bolean类型进行转换
5.变量作用域

局部变量:作用域在method内,必须初始化后才可以使用
实例变量:作用域在class内,如不初始化,会被赋予类型的默认值(0, 0.0, false, null),从属于类,使用时:类名.变量名 eg: tigger.food
类变量:带有关键字static,可以直接使用(变量名),从属于类
6.常量
final 类型名 变量名(通常大写) = XX;
修饰符不区分先后顺序: public final static int a = 10;
类型名前的都是修饰符
7.变量的命名规范

本文介绍了编程中的基础概念,包括不同进制的整数前缀,如二进制的0b、八进制的0和十六进制的0x。浮点数比较需要注意舍入误差,不应直接使用==。字符编码中提到了Unicode,以及如何使用转义字符。类型转换包括强制和自动转换,局部、实例和类变量的作用域,以及常量的定义。最后,讨论了变量的命名规范,以提高代码可读性。

被折叠的 条评论
为什么被折叠?



