摘要:
5.2. 字符流字符流是特殊类型的字节流,只能处理文本数据,其类关系如下图:常用的字符流说明如下:类名称说明InputStreamReaderInputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。FileReader用来读取字符文件的便捷类。此类的构造方 阅读全文
摘要:
6. 类型转换Java是一种类型强制的语言,所以在对对待数据类型时,有严格的类型检查,如果类型不正确时,将会报错。在很多情况下,类型可以通过转换得到,如将int转换为float等。Java的类型转换有2种:6.1. 基本类型转换基本类型转换时,一个精度小的基本类型(如byte)转换为一个精度大的基本类型(如int),可以采用隐式转换,即:value1 = value2但是当一个精度大的基本类型(如int)转换为一个精度小或精度相等的基本类型(如float)时,由于存在精度丢失的情况,就必须采用显式转换,格式如下:value1 = (typename)value26.2. 对象类型转换类的实例可 阅读全文
摘要:
3.2. map接口方法方法名称功能说明clear清除所有元素及其映射关系put增加一个元素及其映射键值containsKey判断集合中是否存在指定的键值containsValue判断集合中是否存在指定的元素get根据映射键值获取对应的元素size集合大小remove删除指定的映射关系keySet返回集合中键值的Setvalues返回集合中所有值的Collectionmap的实例如下:map接口实现的类如下:类名称说明HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。Enu 阅读全文
摘要:
3.3. iterator接口iterator接口使用非常简单,如下:3.4. Comparator接口Comparator接口必须通过实例对象进行实现,主要实现的方法为:int compare(T o1, T o2)比较用来排序的两个参数。随第一个参数小于、等于或大于第二个参数而分别返回负整数、零或正整数。如下表:关系返回值o1 < o2-1o1 = o20o1 > o213.5. 其他在JDK5.0以上版本中,可以通过foreach输出数组,如下图: 阅读全文
摘要:
4. 包包是java中组织类的方式。包是一个类的集合,包中仍然可以包含其他的包,这样就构成了组织级别。Java类库本身就是按照这种层次来组织的。顶级的级别叫java,接下来级别包括io、net、util、awt等。类在一个包和不同包之间的访问权限如下表:Visibilitypublicprotecteddefaultprivate在同一个类中√√√√在同一个包中√√√在同一个包中的子类√√√不同包中√不同包中的子类√√为了从某个包中导入类,就要使用import关键字进行声明。可以导入包中具体的一个类,也可以导入包中的所有类,用星号(*)来替代。实际上从技术角度看,import声明并不会导入包中 阅读全文
摘要:
7. 数据流数据流的处理包括2个概念:数据流方向:输入(Input)和 输出(Output),输入流只能读取数据,输出流只能写入数据。数据类型:字节和字符,字节流以0~255的整数组成,字符流是一种特殊的字节流,仅处理文本数据,以Unicode为标准。7.1. 字节流——InputStream & OutputSteamJava的字节流分为 InputStream 和 OutputStream,也就是说所有的数据字节流类都是从其继承下来的。顾名思义,InputStream只能读取,创建时必须有明确的数据来源,而OutputStream只能写入,创建时必须有明确的数据去处。如下图:字节数 阅读全文
摘要:
3. 集合与遍历Java中的集合管理都是通过接口实现的,主要如下图:说明如下:接口名称说明List元素有顺序,也允许重复,关注元素的索引列表Set元素无顺序,但不允许重复,关注元素的唯一性Queue元素形成队列,关注元素被处理的顺序Map关注元素在集合中的映射和键值的唯一性Iterator迭代器接口,从前向后输出的单向输出,用于遍历,操作过程中最好不要增加或删除数据Comparator比较器接口,某些集合需要对顺序进行排序时,可以将 Comparator 传递给 sort 方法(如 Collections.sort),从而允许在排序顺序上实现精确控制。3.1. Collection及其子类的方 阅读全文
摘要:
2. 字符串处理字符串处理主要使用String、StringBuffer和StringBuilder,三者的区别在于:String类是不可变的对象,也就是说在每次对String对象进行值改变时,等同于重新生成了一个String对象,所以经常改变内容的字符串最好不要使用String对象。StringBuffer类刚好弥补了String类的缺陷,改变StringBuffer对象的值时,并不产生新的对象,所以一般情况下建议使用StringBuffer对象。另外StringBuffer是线程安全的,即在不同线程下访问同一个StringBuffer对象是会自动同步的,为此StringBuffer在内部处 阅读全文
摘要:
记得上次学习Java都是2008年的事情了,当前公司的开发都是Java+Oracle。年后部门要组织封闭开发,乘着春节放假学习一下。Java同C++或Pascal等语言一样,其实常用语法并不复杂,在实际使用过程中,尤其是开发业务系统中,除基本语法外,常用的功能就那么多,掌握了,基本上就解决了80%的编码需求。从个人的经验出发,总结如下:1. 基本语法中的细节1.1. equals() 与 ==区别equals() 用于判断2个对象是否相等== 用于判断2个基本数据类型是否相等1.2. 类方法与类变量 类方法与类变量一样是适用于类的整体,而不是它的某个实例对象。二者有相似之处也有不同:类变量是在 阅读全文