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)       类名和方法名要能够体现它们的职责

 

posted @ 2017-07-14 09:03  小小小涛  阅读(115)  评论(0)    收藏  举报