1、声明一个变量之后,必须用赋值语句对变量进行显式初始化,千万不要使用未被初始化的
变量。
2、在Java中,利用关键字final声明常量,关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能够再更改了。习惯上,常量名使用大写。
3、在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称为类
常量。可以使用关键字static final设置一个类常量。
4、整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN结果。
5、Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类String。
6、一定不能使用 = = 运算符检测两个字符串是否相等!这个运算符只能够确定两个字符串是
否放置在同一个位置上。当然,如果字符串放置在同一个位置上,它们必然相等。但是,完全
有可能将内容相同的多个字符串的拷贝放置在不同的位置上。
7、有些时候,需要由较短的字符串构建字符串,例如,按键或来自文件中的单词。采用字符
串连接的方式达到此目的效率比较低。每次连接字符串,都会构建一个新的String对象,既耗
时,又浪费空间。使用StringBuilder类就可以避免这个问题的发生。
8、switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句,或者执行到
switch语句的结束处为止。如果没有相匹配的case标签,而有default子句,就执行这个子句。
9、switch语句有可能触发多个case分支。如果在case分支语句的末尾没有break语句,那么就会
接着执行下一个case分支语句。这种情况相当危险,常常会引发错误。为此,我们在程序
中从不使用switch语句。
10、switch语句的case标签必须是整数或枚举常量,不能测试字符串。
11、如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用
的类: BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。 BigInteger
类实现了任意精度的整数运算, BigDecimal实现了任意精度的浮点数运算。
12、一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。
13、在Java中,任何对象变量的值都是对存储在另外一个地方的一个对象的引用。 new操作符
的返回值也是一个引用。
14、构造器与其他的方法有一个重要的不同。构造器总是伴随着new操作符的执行被调用,而
不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的。
15、包含一个或多个抽象方法的类本身必须被声明为抽象的。
16、在子类中定义equals方法时,首先调用超类的equals。