String
l 子串长度:b-a
l 任何一个java对象都可以转换成字符串
l 只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的
l 空串""是长度为0的字符串
l char数据类型是一个采用UTF-16编码表示Unicode代码点的代码单元
l 每次连接字符串都会构建一个新的String对象,既耗时又浪费空间。使用StringBuilder类就可以避免这个问题的发生
l StringBuilder类的前身是StringBuffer,StringBuffer效率稍有些低,但允许采用多线程的方式执行添加或删除字符的操作。如果所有字符串在一个单线程中编辑(通常都是这样),则应该用StringBuilder替代它。这两个类的API是相同的。
l 如果用一个不存在的文件构造一个Scanner,或者用一个不能被创建的文件名构造一个PrintWriter,那么就会发生异常
l 在循环中,检测两个浮点数是否相等需要格外小心
l 打印数组中的所有值System.out.println(Arrays.toString(arr));
l Arrays.sort(a)方法使用了优化的快速排序算法。
l 识别类的简单规则是在分析问题的过程中寻找名词,而方法对应着动词
l 类之间的关系:依赖(uses-a)、聚合(has-a)、继承(is-a) 减少类之间的依赖就是让类之间的耦合度变小 聚合关系意味着类A的对象包含类B的对象

l 类的设计技巧
(1) 一定要保证数据私有
(2) 一定要对数据初始化
(3) 不要在类中使用过多的基本类型
(4) 不是所有的域都需要独立的域访问器和域更改器
(5) 将职责过多的类进行分解
(6) 类名和方法名要能够体现它们的职责

浙公网安备 33010602011771号