2021-03-18

一、java语言初始

  1. java的三个方向

                   java SE

                   java ME(android)

                   java EE 

  1. JDK 开发工具包 配置环境变量
  2. JER 运行环境

 

二、基础语法

  1. 注释

                行内注释

                多行注释

               文档注释 /** */ javadoc生成帮助文档

  1. 标识符
  2. 数据类型

                         整数 byte/short/ int(默认)/ long

                         浮点数 float/ double(默认)

                        字符 char /ascii /utf-8 (定义中文) /Unicode

                       布尔值 boolean(只有0和1)

  1. 引用数据类型

                        类

                        接口

                       数组

 

三、类型转换

  • 自动类型转换    底转高
  • 强制类型转换    高转低

 

四、变量与常量

  • 变量 type varName[=value];
  • 作用域
  • 常量 final MAX_A=10;
  • 命名规则

1,见名知意 2,驼峰命名(变量,方法)

3,类,首字母大写,驼峰命名 4,常量:大写+下划线

5,不要拼音命名

 

五,运算符

 

 

六,包机制

  • 域名倒写
  • 防止命名冲突
  • package
  • import

 

七, Javadoc 【生成文档】

  • @author
  • @version
  • @since
  • @param
  • @ruturn
  • @throws
public class HelloWorld{

       /** 
        * @author 狂神
        * @param args 命令参数
        * @since 1.0
        * 
        * */
  
       public static void main(String[] args){
             System.out.println("hello");
             

      }
}

 

八、流程控制

  1. scanner       用户交互 system.in
  2. 顺序结构     程序默认结构
  3. 选择结构
  • if                       单选择结构
  • if-else               双选择结构
  • if-else if-else      多选择结构
  • switch       jdk 支持String类型

                       case 穿透现象

                       break

                      delault

 

4.循环结构

  • while 尽量避免死循环
  • do ...while
  • for for(int i=0;i<100;i++)

5.

  • break 跳出循环
  • continue 终止当次循环
  • return 总结方法的运行

 

九,方法

  1. 方法的定义    : 修饰符 返回值 方法名 (参数名){return 返回值;}
  2. 方法调用       : 类名.方法

                                   对象.方法

  1. 方法重载       : 名字相同,参数列表不同
  2. 命令行传参   :给main方法传递参数
  3. 可变长参数   :必须放在最后一个参数
  4. 递归              :自己调用自己,给自己一个出口

 

十,

  1. 数组的定义        new int[5]

                                   {1,2,3,4,5}

  1. 数组的使用      通过下标拿到值

                                 数组下标异常:ArrayIndexoutoBounds

  1. 二维数组          int[][]
  2. Arrays工具类
  3. 排序算法
  • 冒泡排序
  • 选择排序
  • 插入排序
  • 快速排序
  • 归并排序
  • 希尔排序
  • 堆排序
  • 基数排序

 

十一,面向对象

  1. 类与对象
  • 类是对象的抽象:模板Class
  • 对象是类的具体
  1. 构造方法:构造重载
  • 默认的无参构造
  • 如果手动添加了有参构造,就要再手动添加一个无参构造
  • 单例模式,需要构造器私有
  1. new对象
  • 堆栈放引用
  • 堆栈方具体的对象
  1. 封装 属性私有,get、set
  2. 继承
  • extend
  • object
  • 子类拥有父类的全部特性
  • 方法重写
  • this
  • super
  1. 多态
  • 父类的引用指向子类的对象 Person person = new Student();
  • instanceof 关键,如果匹配,可以进行类型之间转换
  1. 修饰符
  • public
  • protected
  • private
  • static
  • abstract
  • final
  1. 接口
  • interface
  • 约束,只能定义方法名
  • 子类实现接口,必须重写其中的方法
  • 只有一个方法的接口叫做函数式接口,可以使用lambda表达式简化
  • 接口比抽象类更抽象
  • 一个类可以实现多个接口
  1. 内部类
  • 局部内部类
  • 静态内部类
  • 匿名内部类(重点)

 

十二、异常

  1. Throwable '
  • Exception   运行时异常   1/0

                                               ClassNotFound

                                                NullPoint

                                               UnKownType

                                              下标越界异常

                                               .........

                  检查型异常

  • Error    AWT错误

                   JVM错误    StackOverFlow

                                     OutOfMemory

 

  1. 五个关键字
  • try{}
  • catch{}
  • finally{}
  • throw        手动抛出异常
  • throws       方法抛出异常
  1. 自定义异常    继承Exception类

 

 

十三、常用类

  1. Objcet类
  • hashcode()
  • toString()
  • clone()
  • getClaee()
  • notify()
  • wait()
  • equals()
  1. Math类
  2. Random类 生成随机数
  3. File类
  • 创建文件
  • 查看文件
  • 修改文件
  • 删除文件
  1. 包装类 自动装箱和拆箱
  2. Date类
  • Date
  • SimeDateFormat           yyyy-MM-dd HH:mm:ss
  • Calendar (建议使用)
  1. String类    不可变性 final
  2. StringBuffer 可变长 append() 多线程 数据量大 效率低 安全
  3. StringBuilder 可变长 单线程 数据量大 效率高 不安全
  4. String str = "a" +1+2

 

十四、集合框架

  1. Collection
  • List (有序可重复)      ArrayList      add / remove / contains / size

                                        LinkedList    getFirst() / getLast() / removeFirst() / addFirst() / ......

  • Set (无序不可重复)   HashSet

                                             TreeSet

  1. Map
  • HashMap 【天天用】 JDK1.8:hash表=数组+链表+红黑树
  • TreeMap
  1. Collection 工具类
  2. 泛型<>约束,避免类型转换之间的问题

 

十五、IO流

  1. 字节流
  • 输出 OutputStream
  • 输入 InputStream
  1. 字符流
  • Reader
  • Wirter
  1. 节点流
  • CharArrayReader ,Writer ,InputStream,OutputStream
  • StringReader, Writer
  1. 处理流
  • buffer   bufferInputStream

                   bufferOutputStream

                   bufferReader

                   bufferwriter

  • data         DataInputStream

                       DataOutputStream

  • 转换流     InputStreamReader

                       OutputStrramWriter

  • Filter       四个
  • print        PrintWriter

                     PrintStream

 

十六、多线程

  1. 进程和线程
  2. run() Start()
  3. 线程创建的方式
  • Thread start0,本地方法:java无权调用,交给底层c处理 private native void start()
  • Runnable 函数式接口 lambda
  • Callable 可以有返回值
  1. 静态代理 new Thread(Runnable).start()
  2. Lambda表达式
  • 函数式编程
  • 避免内部类定义过多
  • new.Thread(()->{System.out.println();}).start();
  1. 线程的状态
  • 新建状态
  • 就绪
  • 运行
  • 阻塞
  • 死亡

 

  1. 常用方法
  • sleep
  • join
  • yield
  • isLive
  • start
  • setPriority
  • interrupt()

 

  1. 线程同步
  • 多个对象操作同一个资源,并发
  • 队列+锁
  • Synchronized           同步方法

                                        同步代码块

                                        第一个线程拿到锁,直到释放锁,后面人才能拿到锁

                                       死锁 :两个人相互抱着对方的锁(互斥 、请求与保持、不剥夺条件、循环等待条件)

  • Lock   ReentrantLock   lock

                                            trylock

                                           unlock

  1. 线程通信
  • 缓冲区:消息队列
  • 标志位:红绿灯
  • wait()
  • notifyAll()
  1. 线程池(pool)
  • 池化技术
  • 池的大小
  • 最大连接数
  • 保持时间
  • 。。。。。

 

十七、网络编程

  1. IP
  2. 端口
  3. TCP
  • 三次握手
  • 四次挥手
  • 面向连接
  1. UDP
  • 无连接
  • packet
  1. URL
  2. 初识Tomcst
  3. 聊天通信
  4. 文件上传

 

十八、GUI

  1. AWT
  • Frame
  • 监听事件 鼠标 、键盘、窗口、动作事件
  1. Swing
  • 文本框
  • 标签
  • 按钮
  • 文本域
  • 面板
  • 布局方式
  • 关闭窗口
  • 列表
  1. 贪食蛇
  • Timer
  • 键盘监听
  • 游戏帧的概念

 

十九、注解与反射

  1. 注解
  • 元注解
  • 内置注解
  • 自定义注解
  • 反射读取注解
  1. 反射
  • Class           newInstance
  • 类加载机制
  • Method        invoke(user3,"秦3");
  • Field            set(user4,秦4)
  • Construct    newinstance();

                          获取时需要参数传递class类

  • 性能分析   正常>检测关键的反射>默认的反射

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值