随笔分类 - Java SE
摘要:文件字节流 FileInputStream子类 文件字节输入流,继承抽象父类字节输入流(InputStream) **read(byte[])**方法一次读取多个字节,将读到的内容存入字节数组(存的是ASCII码,如果有中文字符,数组长度需大于等于3),返回实际读到的字节个数;如果读完了就返回-1
阅读全文
摘要:流是内存与存储设备之间传输数据的通道,就像水借助管道传输,数据借助流传输 流的分类 按方向 输入流:将存储设备中的内容读入到内存中 输出流:将内存中的内容写入到存储设备中 按单位 字节流:以字节为单位,可以读写所有数据 字符流:以字符为单位,只能读写文本数据 按功能 节点流:具有实际传输数据的读写功
阅读全文
摘要:和数组的Arrays工具类一样,集合也有自己的Collections工具类 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public
阅读全文
摘要:Map体系结构 Map父接口 存储一对数据(Key-Value),无序、无下标、键不可重复 put()、keySet()、get()、entrySet()、getKey()、getValue()、remove() import java.util.HashMap; import java.util.
阅读全文
摘要:Set子接口 无序、无下标、元素不可重复 所有方法都继承自Collection父接口,没有自己的方法 HashSet实现类 集合中的元素都是引用类型,都有自己的HashCode,基于HashCode比较可以实现元素不重复,元素默认的存储顺序也是根据这个计算的 存储结构:哈希表(数组+链表或数组+红黑
阅读全文
摘要:泛型的本质是参数化类型,把类型作为参数传递 在语法上,<T...>表示类型占位符,只能是引用类型。T可以创建非静态变量(不能赋值)、作为方法的参数、作为方法的返回值类型,但是不能实例化对象(因为如果不知道要实例化的类是什么,那就不知道它是否有一个构造函数) 泛型类 public class Hell
阅读全文
摘要:什么是集合 用来存放对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能 任何放入集合的对象,都会转换为Object类型,因此集合可以放置任何对象 集合和数组的区别: 数组长度固定,集合长度不固定 数组可以存储基本类型和引用类型,集合只能存储引用类型 Collection体系结构 Col
阅读全文
摘要:LocalDate类 import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class Hello{ public static void main(String[] args) { //Local
阅读全文
摘要:Math类 public class Hello{ public static void main(String[] args) { //常量E和PI System.out.println(Math.E); System.out.println(Math.PI); //1.绝对值函数abs() Sy
阅读全文
摘要:BigDecimal类 BigDecimal类用来精确计算浮点数,使用独有的add()、subtract()、multiply()、divide()方法进行精确计算 import java.math.BigDecimal; public class Hello { public static voi
阅读全文
摘要:StringBuffer,可变长字符串类,线程安全高,运行效率慢,适用于多线程 StringBuilder,可变长字符串类,运行效率快,线程不安全,适用于单线程 二者都比String类运行效率高,也更节省内存,采用独有的append()和insert()方法添加元素,不能使用+字符串拼接 appen
阅读全文
摘要:String类是final修饰的,不可变长的类 字符串的存储和创建 字符串是常量,创建之后不可改变。字符串字面值存储在常量池中(方法区),可以共享 public class Hello { public static void main(String[] args) { //创建字符串的两种方式 S
阅读全文
摘要:基本类型的数据都存放栈中,没有属性和方法能调用,而将基本类型转换为对应的引用类型(也称包装类型),就可以调用对应的工具类方法 包装类的出现可以让Object类统一所有数据类型 基本类型对应的包装类型 基本数据类型 包装类型 byte Byte short Short int Integer long
阅读全文
摘要:getClass()方法 返回对象存储的实际类型,可用于判断两个对象实际存储的类型是否一致 public class Hello { public static void main(String[] args) { Test test = new Test(); test.test(); } } c
阅读全文
摘要:异常必须捕获处理或者抛出让调用者处理,二选一 捕获异常(try...catch...finally) public class Hello { public static void main(String[] args) { int a = 1; int b = 0; //try...catch..
阅读全文
摘要:异常处理框架 Java把异常当作对象来处理,定义了很多异常类,分为异常Exception和错误Error 三种类型的异常 检查性异常 用户错误或问题引起的异常,在编译时不能被简单地忽略 运行时异常(RuntimeException) 运行时异常可以在编译时被忽略,一般是由程序逻辑错误引起的 错误(E
阅读全文
摘要:接口的定义 与抽象类相比,接口不能定义普通方法,没有构造方法,只有抽象方法和常量,用来进行规范的约束,类可以实现多个接口,变相等于实现了多继承 面向对象的精髓,是对对象的抽象,最能体现这一点的就是接口 约束和实现分离:面向接口编程 //关键字interface,定义接口 public interfa
阅读全文
摘要:static关键字的用法 静态变量和静态方法 public class Hello { private static int age; //静态变量,又称类变量 private double score; //实例变量 public static void main(String[] args) {
阅读全文
摘要:封装 属性私有,get/set 程序设计追求**”高内聚,低耦合“**:高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用 通常,应禁止直接访问一个对象的属性,而应通过操作接口来访问,这称为信息隐藏 /* 1. 提高程序的安全性,保护数据 2. 隐藏代码的实
阅读全文
摘要:面向过程 vs. 面向对象 面向过程 步骤清晰简单,第一步,第二步... 适合处理一些简单的问题 面向对象(Object Oriented Programming,OOP) 解决问题时首先思考问题可以怎么分类,然后对这些分类进行单独思考,最后才对具体的细节进行面向过程编程 使用面向对象的思路来分析整
阅读全文

浙公网安备 33010602011771号