U1总结
/** * U1的总结 * * * 一 :java基础 * 1.初始java * 01.java发展史 1995 诞生 * 02.java的优势 * 03.java虚拟机和跨平台原理 JDK JAVA开发工具包 JRE java运行环境 JVM java虚拟机 * 04.使用记事本开发java程序 * 001.创建源文件 .java * 002.编译源文件 使用javac * 003.运行字节码文件 .class * 05.使用IDE工具进行开发 * 001.包的声明 package * 002.包的命名规范 * 003.导入包 import * 004.main()四要素 public static void main(String[] args) * 005.3种注释 注释的目的 * 06.jdk API * 07.反编译工具 * 2.数据类型和运算符 * 01.变量的概念:一个数据在内存空间中的表示! * 变量的规范: * 001.驼峰命名法 * 002.只能以字母 _ $ ¥开头 * 003.有意义 * 02.常量的概念:在运行期间不允许被改变的量! * 常量的规范: * 001.由final 修饰 * 002.全大写,有意义的单词之间使用下划线 分割 * 003.一般在定义的时候初始化! * 03.java中八种基本数据类型 * 001.byte 1byte=8bit -128 127 * 002.short * 003.int -2的31次方 2的31次方-1 * 004.long * 005.float * 006.double * 007.char 数值取值范围 0-65535 * 008.boolean true false * 04.关键字 :java中已经使用的单词,并且有特殊的涵含义! * 保留字(goto,const) :有可能称为关键字的单词! * 都不能作为变量名来使用! * 05.数据类型转换 * double score=85; //自动类型转换 小转大 * int score=85.5; //需要强制类型转换 大转小 * 06.算术运算符 * / 取整 * % 取余 * 07.逻辑运算符 * && || ! * 三元运算符: * 表达式1?表达式2:表达式3 * 表达式1===》必须是boolean类型的值! * 为true 执行 表达式2 * 为false 执行 表达式3 * 3.流程控制 * 01.if-else * if(表达式) 表达式===》必须是boolean类型的值! * 如果只有一条输出语句,可以省略大括号! * 02.if -else if -else * 03.嵌套if * 04.switch等值 * 05.break return continue * 06.while 先判断再执行 * 07.do - while 先执行再判断 * 08.for 适用于次数固定的循环 * for(表达式1;表达式2;表达式3){ * 循环体 * } * 表达式1:初始化变量 * 表达式2:循环条件 * 表达式3:迭代变量 * 循环体:需要重复执行的操作! * * 执行顺序: * 表达式1--》表达式2--》 循环体--》表达式3--》表达式2 * * 4.数组 * 01.数组的概念:一组相同数据类型数据的集合! * 下标:从0开始 * 标识符:数组的名称 * 长度:length * 数据类型 * 02.打擂法 * 03.冒泡排序 * 两两相比小靠前, * 外层循环N-1 * 内层循环N-1-i * 之后等量转换 * 04. 2分查找法 *** * 05.Arrays类操作数组 一系列方法 * *二:面向对象 * 1.类和对象 * 001.类和对象之间的关系! * 类是对象的模版,对象是类的实例! * 一个类可以实例化N个对象!而且每个对象都是独一无二的! * 002.全局变量和局部变量 * 是否具有初始值! * 就近原则 * 003.属性(特征)和方法(行为) * 004.static 属于类!多个对象之间共享! * 005.静态代码块 普通代码块 构造 执行的顺序 * 006.this super * 007.方法重载 * 本类中! * 方法名相同,参数列表不同 * 与返回值类型和修饰符 无关! * 008.方法重写 * 具有继承关系! * 方法名相同,参数列表相同! * 返回值可以是其子类对象 * 访问修饰符 不能严于父类! * 009.构造方法 ,构造的重载 * 010.参数传递 * 基本数据类型+String 在作为参数的时候,传递的是值! * 引用数据类型,在作为参数的时候,传递的是地址! * * * * 2.封装 * 目的:避免用户不健康的输入! * * 01.属性私有化 * 02.提供get set方法 * 03.增加逻辑判断 * 3.继承 单根继承 extends * 小猫咪 动物 轮船 交通工具 * 满足 is a 关系! * 01.Object 所有的类的父类 * 001.equals * 002.toString * 003.hashCode * 02.访问权限修饰符 * private * protected * public * 默认 0 * 4.多态 * 01.静态多态 =====》方法的重载 * 02.动态多态 * * 多态存在的条件 * 001.必须有继承关系 * 002.必须重写方法 * 003.父类引用指向子类的对象 * 03.向上转型 向下转型 * 04.instanceof 判断某个对象是否属于某个类型 * * 使用多态的场景: * 01.使用父类作为方法的参数 * 02.使用父类作为方法的返回值 * 5.抽象类 子类中需要重写父类的方法!但是父类的方法中 没有任何语句!显然是没有意义!提取成抽象方法! * 01.抽象方法 不能有方法体! * 02.抽象类的概念 * 001.由abstract修饰 * 002.类中可以有构造方法,但是不能实例化 * 003.类中可以有非抽象方法! * 004.子类中必须重写所有的抽象方法,除非子类也是抽象类! * 005.父类中静态的方法,子类是不能重写的! * 6.接口 implements 解决java中的单根继承! * * has a 具有某个功能! * 本身不关注方法的实现! * 谁实现 谁关注! * * 接口可以继承接口! extends * 所有的属性都是静态常量,必须有初始值!static final * 所有的方法都是public abstract修饰的! * public abstract可以省略! * * 接口和抽象类的区别 * * 7.异常 * 01.异常:在程序的运行过程中产生的不正常的事件,会中断程序的执行! * 02.异常处理机制:保证异常只有的代码能执行完毕! * 03.try catch finally throw throws * 04. throw throws 区别 * 05. return finally 执行顺序 * 06.finally 不执行的情况 * 07.常用的几种异常 * ArithmeticException 算术异常 * ArrayIndexOutOfBoundsException 数组下标越界 * NullPointException 空指针异常 * ClassNotFoundException 没有找到类 * ClassCastException 类型转换异常 * NumberFormatException 数字格式转换异常! * IllegalArgumentException 非法参数异常! * *三:java高级 * 1.集合框架以及泛型 * Collection 接口 * List * ArrayList LinkedList 区别 * Set * HashSet HashTable * Map * HashMap * Collections 操作类 操作 集合 * 一些列的方法 * Iterator 遍历 * 2.实用类 * 01.枚举定义 Enum 目的 * 02.基本数据类型的包装类 装箱 拆箱 *** * 03.Math类进行数学运算 * 04.String 操作字符串 * == 和equals 区别 * String a =new String("a"); * 05.String StringBuffer StringBuilder 区别 * 06.Date 和Calendar 操作时间 * 07.SimpleDateFormate类格式化日期 * 001.format把日期转换成字符串 * 002.parse 把字符串转换成日期 * 08.Random 类获取随机数 * * 3.输入输出流 * 01.File类创建文件夹 文件属性 * 02.IO流 输入 输出 都是相对于 内存! * 所有的输入都有read() 所有的输出都有write() * 001.字节流 * InputStream * OutputStream * 002.字符流 * Reader * Writer * 003.操作2进制文件 * DataInputStream * DataOutputStream * 4.序列化和反序列化 * 01.序列化:将内存中 *对象*放入存储介质中!持久化的过程! * 前提对象必须实现Serializable接口 * 02.反序列化:将存储介质中的对象,放到内存中的过程! * ObjectInputStream * ObjectOutputStream * * transient 序列化的时候 忽略此属性 * * 5.多线程 * 01.线程 和 进程 区别 * 02.多线程 并发 * 03.线程的生命周期 * 001.新生状态 new 对象 * 002.就绪状态 对象.start() * 003.运行状态 调用run() * 004.阻塞状态 join sleep wait yield * 005.死亡状态 * 0001.正常 run()执行完毕 * 0002.非正常 run()执行过程中出现异常情况 * 04.start()和run()区别 * 05.线程的优先级 0-10 * 06.线程同步的问题 * synchronized 锁的都是对象 * 001.同步代码块 * 002.同步代码方法 * 6.网络编程 * 01.协议 ip 域名 端口 * 02.Socket编程 基于TCP * 001.ServerSocket 服务器 * 002.Socket 客户端 * 03.Socket编程 基于UDP * 001.DatagramPacket 打包 拆包 * 002.DatagramSocket 接收 发送 * 04.TCP 和 UDP区别 * * 7.xml * 01.xml的概念:可扩展的标记语言! 无需预编译! * 02.DTD * * ? + 什么意思 * 03.解析xml的4种方式 dom sax jdom dom4j * 04. dom解析xml * 001.创建解析器工厂 * 002.创建解析器 * 003.解析文件 * * 004.创建转换器工厂 * 005.创建转换器 * 006.保存到xml * 05. dom4j解析xml * 001.创建解析器工厂 * 002.创建解析器 * 003.解析文件 * * 004.创建转换器工厂 * 005.创建转换器 * 006.保存到xml * *反射: * 01.反射的概念 * 02.Class.forName("完整限定名"); * * * 单例: 保证在整个应用程序中,类只有一个实例!而且这个实例是 自身创建的! * 01.懒汉 * 02.饿汉 * 03.双重锁 * * 实现单例的步骤: * 01.创建本类的静态对象! * 02.私有化构造 * 03.提供对外部访问的接口 * * * * * * * */