03 2022 档案
摘要:File类 File类:代表物理盘符中的一个文件或者文件夹 方法: createNewFile():创建一个新文件 mkdir():创建一个新目录 delete():删除文件或空目录 exists():判断File对象所对象所代表的对象是否存在 getAbsolutePath():/获取文件的绝对路
阅读全文
摘要:流的概念 流的概念:内存与存储设备之间数据传输的通道,数据借助流传输 流的分类 按方向:以内存为参照 输入流:将 存储设备 中的内容读入到 内存 中 输出流:将 内存 中的内容写入到 存储设备 中 按单位: 字节流:以字节为单位,读写所有数据 字符流:以字符为单位,读写文本数据 按功能: 节点流(底
阅读全文
摘要:字符流 字符编码 编码和解码方式不同,会出现乱码 ISO-8859-1:收录除ASCII外,还包括西欧、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。 UTF-8:针对Unicode码表的可变长度字符编码,用1/2/3个字节表示字符(万国码) GB2312:简体中文,1/2个字节 GBK:简体中文
阅读全文
摘要:Date Date表示特定的瞬间,精确到毫秒,大部分方法已经呗Calendar类中的方法取代 1s=1000ms=1_000_000nm 方法 创建对象,显示时间 //今天 Date date = new Date(); System.out.println(date.toString()); Sy
阅读全文
摘要:BigDecimal 浮点数的计算是使用近似值,尽量不用浮点数计算 double d1 = 1.0; double d2 = 0.9; System.out.println(d1-d2);//0.09999999999999998 BigDecimal用于精确计算浮点数,位于java.math包中
阅读全文
摘要:Date Date表示特定的瞬间,精确到毫秒,大部分方法已经呗Calendar类中的方法取代 1s=1000ms=1_000_000nm 方法 创建对象,显示时间 //今天 Date date = new Date(); System.out.println(date.toString()); Sy
阅读全文
摘要:String 字符串是常量,创建之后不可改变,修改变量的赋值不是修改字符串,而是将变量指向新创建的字符串 字符串字面值存在字符串池中,可以共享,JDK8后字符串池在堆中 创建字符串变量: String s = "H";产生一个对象,字符串池中存储 String s = new String("H")
阅读全文
摘要:Integer缓冲区 Java预先创建了256个常用的整数包装类型对象,在实际应用中对已创建的对象进行复用 Integer.valueOf其中存在cache缓冲区,自动创建了 -128~127范围中每个整数的cache,在自动装箱时,相同的数字都指向同一个cache new对象:两个引用变量指向不同
阅读全文
摘要:包装类 针对八种基本定义相应的引用类型的封装 作用:使基本类型拥有类的特点,能够调用类的方法 JDK1.5后支持自动拆箱和装箱 基本数据类型 包装类 boolean Boolean byte Byte short Short <u>int </u> <u>Integer </u> long Long
阅读全文
摘要:Object类 Object是所有类的父类,是继承树的最顶层,所有类默认继承Object,或简介继承Object 所有类都具有Object中的定义的方法 Object类型可以存储任何对象 作为参数,可以接受任何对象 作为返回值,可以返回任何对象 getClass() 返回引用中存储的实际对象类型 常
阅读全文
摘要:内部类 在类的内部再定义一个完整的类 特点: 编译后可以生成独立的class文件 可以直接访问外部类的私有成员,不破坏封装 可以为外部类提供必要的内部功能组件 成员内部类 在类的内部定义,与实例变量、实例方法同级 外部类的实例部分,创建内部对象时必须依赖外部类对象 Out out = new Out
阅读全文
摘要:泛型 泛型是JDK1.5中加入的新特性,用于解决数据类型的安全性问题。 通过在类声明时通过一个标识表示类中某个属性的类型或某个方法的返回值及参数类型。 保证代码运行时不产生 ClassCastException异常 Java中的泛型只在编译阶段有效**,不进入运行阶段** 泛型类 对象实例化时不指定
阅读全文
摘要:6. 树 树的特点: 两个节点仅有唯一的一条路径联通 一棵树有n个节点,则一定有n-1条边 树中没有回路 节点 :树中的每个元素都可以统称为节点。 根节点 :顶层节点或者说没有父节点的节点。上图中 A 节点就是根节点。 父节点 :若一个节点含有子节点,则这个节点称为其子节点的父节点。上图中的 B 节
阅读全文
摘要:5. 图 图由顶点和边组成。 G(V, E):其中,G表示图,V表示顶点的集合,E表示边的集合 5.1 基本概念 无向图和有向图 无向图:边没有方向,代表双方有关系/联系,可以理解为双箭头 有向图:边有方向,单项的关系/联系,可以理解为单箭头 无权图和有权图 无权图:只关注是否有关系,不关心关系的强
阅读全文
摘要:4. 队列(queue)) 4.1 简介 队列是先进先出(FIFO, First In, First Out)的线性表 常由链表或数组实现: 顺序队列:数组实现的队列 链式队列:链表实现的对她 队列只允许在**后端(raer)进行插入操作(入队,enqueue);在前端(front)**进行删除操作
阅读全文
摘要:3. 栈(stack) 3.1 简介 栈只允许在有序的线性数据集合的一端(栈顶top)进行加入数据(push)和移除数据(pop)。 栈只能在栈顶进行push和pop操作。 后进先出(LIFO,Last In First Out) 常用一维数组或链表实现: 顺序栈:数组实现 链式栈:链表实现 执行复
阅读全文
摘要:2. 链表(LinkedList) 2.1 简介 链表是一种线性表,但不按线性顺序存储,存储数据的内存空间不连续 执行复杂度: 插入和删除:O(1),仅需要知道目标元素的上一个元素 查找和访问特定节点:O(n) 与数组相比: 非随机访问:存取第N个数据时需要访问前(N-1)个数据 容量不固定,支持动
阅读全文
摘要:1. 数组(Array) 数组由相同类型的元素组成 数组使用一块连续的内存存储,可以由索引计算元素对应的存储地址。 特点: 提供随机访问:存取第N个数据时不需要访问前(N-1)个数据,可以直接对第N个数据进行操作 容量有限(长度一旦确定,无法改变) 执行复杂度: 访问:O(1) 插入:O(n) 插入
阅读全文
摘要:操作集合的工具类:Collecionts 具有一些对集合进行操作的方法 reverse: 反转 Collections.reverse(list); shuffle: 乱序 Collections.shuffle(list); sort: 字典升序 可以通过重写实现类中的 Comparator对Li
阅读全文
摘要:Map Map用于保存具有映射关系的数据,Map集合里保存着Map里的Key和Key对应的Value值(与python中的字典的键值对类似) Map中的Key和Value都可以是任何引用类型的数据 Map中的Key不允许重复,同一个Map中的任何两个Key通过equals比较返回false Key和
阅读全文
摘要:List 和 ArrayList List:元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引 允许使用重复元素,可通过索引访问指定位置的元素 默认按元素的天机顺序设置元素的索引 ArrayList是List接口的实现类 创建列表 List list = new ArrayList(); a
阅读全文
摘要:TreeSet TreeSet是SortedSet接口的实现类 TreeSet可以确保集合元素处于排序状态 支持的排序方法: 自然排序(默认) 定制排序 自然排序 调用compareTo(Object obj)方法来比较元素间的大小关系,然后将集合升序排列 必须放入同类对象,否则会发生类型转换异常(
阅读全文
摘要:包装类 针对八种基本定义相应的引用类型的封装 作用:使基本类型拥有类的特点,能够调用类的方法 JDK1.5后支持自动拆箱和装箱 基本数据类型 包装类 boolean Boolean byte Byte short Short int Integer long Long char Character
阅读全文
摘要:异常 异常:Exception 程序运行中出现的不期而至的各种情况,如:文件找不到,网络连接失败,非法参数等 异常发生在程序运行间,影响整除的程序执行流程 异常的分类 检查性异常:用户错误或问题,程序员无法预见的问题,编译时无法忽略 运行时异常:可避免的异常,在编译时被忽略 错误Error:不是异常
阅读全文
摘要:抽象类 抽象类,类名中有abstract关键字 一种约束,让他人实现 abstract抽象方法,只有方法名字,没有方法的实现 抽象类的所有方法,继承了它的子类,必须实现它的方法,除非子类也是抽象类 //abstract 抽象类:类,单继承(接口可以多继承) public abstract class
阅读全文
摘要:static 属性:不能使用类调用非静态属性,可以使用对象调用 public class Student { private static int age;//静态变量 private double score;//非静态变量 public static void main(String[] arg
阅读全文
摘要:多态 动态编译,类型,可扩展性 同一个方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但可指向对象的引用类型是多样的(有继承关系的类) 注意事项: 多态是方法的多态,属性没有多态 存在继承关系的类才能进行转换,可以互相转换(类型转换异常:ClassCastExcep
阅读全文
摘要:继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模 extends:扩展,子类是父类的扩展 Java中只有单继承 final修饰的类不能被继承 选中类,Ctrl+H:打开继承树 private:私有子类无法使用 继承是类与类间的一种关系 继承中一个子类(派生类),一个父类(基类),子类
阅读全文
摘要:封装 高内聚,低耦合: 高内聚:类的内部数据操作细节自己完成,不运行外部干涉 低耦合:仅暴露少量方法给外部使用 封装(数据的隐藏) 信息隐藏:禁止访问一个对象中数据的实际表示,通过操作接口访问 属性私有,get/set Alt+Insert 自动生成get、set方法 //类 public clas
阅读全文
摘要:面向对象 属性加方法是一个类 面向过程:线性思维 步骤简单清晰,第一步做什么,第二步做什么… 面对过程适合处理一些较为简单的问题 面向对象: 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后堆这些分类进行单独思考,最后,才对某个分类下的细节进行面向过程的思索 适合处理复杂问题,适合
阅读全文
摘要:方法复习 静态方法和非静态方法 静态方法:static,通过类名.方法直接调用 非静态方法:实例化整个类new //对象类型 对象名 = 对象值 Stu stu = new Stu();//调用say方法时需要实例化整个类 stu.say(); public class Stu { public v
阅读全文
摘要:数组的定义 数组是同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 其中的每一个数据乘坐一个数组元素,每个数组元素可以通过一个下标访问 数据声明创建 声明数组变量 dataType[] arrayRefVar; //首选方法 or dataType arrayR
阅读全文
摘要:package com.chachan53.method;<details> import java.util.Scanner; public class Caculator { public static void main(String[] args) { Scanner scanner = n
阅读全文
摘要:方法 System.out.println() System:类 out:对象 println:方法 Java方法是语句的集合,它们一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:一个方法只完成一个功能 main方法简
阅读全文
摘要:顺序结构 Java的基本结构,从上到下执行,若干个依次执行的处理步骤 选择结构 if单选择结构 if(布尔值表达式){ //为ture的执行内容 } 示例: Scanner scanner = new Scanner(System.in); System.out.println("输入内容:");
阅读全文
摘要:Scanner 通过Scanner类获取用户输入 Scanner s = new Scanner(System.in); 通过next()与nextLine()获取输入的字符,读取前使用hasNext()与hasNextLine()判断是否还有输入的数据。 next(): 要读取到有效字符后才能结束
阅读全文
摘要:JavaDoc 用于生成自己的API文档 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jkd版本 @param 参数名 @return 返回值情况 @throws 异常抛出情况 生成文档 命令行 在cmd移动到该目录 执行命令 javadoc java
阅读全文
摘要:包机制 语法: package pkg1[. pkg2[. pkg3…]]; 一般利用公司域名倒置作为包名,如:com.chachan53.www 使用:在程序中导入 使用import语句 import package1[.package2…].(classname|*); Ctrl+右键 Alt
阅读全文
摘要:运算符 ()最优先 算数运算符:+, - , *, /,%, ++, -- 加减乘除 //进行整数间的除法时应注意将类型进行转换 int a = 10; int b = 20; System.out.println(a/(double)b); 整数运算时存在long类型,结果转化为Long;没有时转
阅读全文
摘要:变量 变量:可变化的量 Java中每个变量都必须声明类型 Java变量是程序中最基本的存储单元,包括变量名,变量类型和作用域 定义方法:数据类型 变量名 = 值 type varName [=value] [{,varName[=value]}]; //数据类型 变量名 = 值;可以使用逗号隔开声明
阅读全文
摘要:注释 注释不会被执行 写代码需要写注释,注意代码规范 单行注释 //注释内容 多行注释 /* 这里可写 多行注释内容 */ 文档注释 文档注释中的内容可读 /** * @Description xxx * @Author chachan53 */ 标识符 关键字 Java所有的组成部分都需要名字,类
阅读全文