java基础~JavaSE概述

目录

java语言初识

Helloworld

基础语法

流程控制

数组

面向对象

异常

常用类

集合

泛型

I/O流

多线程

网络编程

GUI

注解和反射


java语言初识

        markdown语法

        简单的dos命令

        JDK:开发者工具

        配置环境变量:系统属性—环境变量—系统变量

                ​ Java_home E:\Program Files\Java\jdk1.8.0_241\bin

                ​ Path %JAVA_HOME%\bin 开发环境

                ​ Path %JAVA_HOME%\jre\bin 运行环境

        JRE:运行环境

Helloworld

        javac Hello.java 生成class

        java hello

        编译型语言/解释型语言

        IDEA

基础语法

        注释:行内注释 //

​         多                行注释 /**/

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

        标识符:

                ​ 关键字

        数据类型:

                ​ 基本数据类型:

                ​ 整数(byte1字节,short2字节,int4字节 ,long8字节),

                ​ 浮点数(float4字节,double8字节)

                ​ 字符(char2字节,ASCII,utf-8,Unicode),

                ​ 布尔值(boolean1位)

              ​ 引用数据类型:类,接口,数组

        类型转换:

                ​ 自动类型转换:低转高

                ​ 强制类型转换:高转低

          变量和常量:

                ​ 变量声明:type varName[= value];

​                 作用域:类变量,实例变量,局部变量

​                 常量 final MAX_A= 10;(常量的名字全用大写字母+下划线)

​                 命名规则: 见名知意

                        ​ 变量,方法(驼峰命名)

                        ​ 类(首字母大写,驼峰命名)

                        ​ 常量(大写+下划线)

        运算符:算数运算符+-*/%(++)(--)

                        ​ 赋值运算符=

                        ​ 关系运算符><(>=)(<=)(==)(!=) instanceof

                        ​ 逻辑运算符(&&) (||) !

                        ​ 位运算符&|^~(>>)(<<)(>>>)

                        ​ 条件运算符?:

                        ​ 扩展运算符(+=)(-=)(*=)(/=)

        包机制(防止命名冲突):

                ​ 域名倒写

                ​ package

                ​ import

                JavaDoc:

​ JDK帮助文档

                ​ javadoc:

                        ​ @author,作者名

                        ​ @Version,

                        ​ @Since,版本

                        ​ @param,参数

                        ​ @return,

                        ​ @throws,异常

流程控制

        Scanner用户交互

                ​ Scaner s=new Scanner(System.in);

        顺序结构

                ​ 自上而下

         选择结构

                ​ if单选择结构

                ​ if双选择结构

                ​ if-else多选择结构

                ​ switch

                        ​ jdk7支持了String类型

                        ​ case 列选项

                        ​ break 跳出循环

                        ​ default: 默认,以上case选项值没匹配到

 循环结构

        ​ while(尽量避免死循环)

        ​ do...while

        ​ for

        ​ 九九乘法表

        ​ for-each(增强for循环)

 break&continue

​         break:跳出循环

​         continue:终止当前循环

​         return:结束当前方法的运行

方法

        ​ 方法的定义

                ​ 修饰符

                ​ 返回值

                ​ 方法名

                ​ (参数)

                ​ 方法体

                ​ 返回值

​         方法的调用

                ​ 类名.方法

                ​ 对象.方法

        ​ 方法的重载

​                 名字相同,参数列表不同

        ​ 命令行可以传参

                ​ cmd命令行给main函数传参

        可变长参数

                必须放在最后一个参数

        递归

                自己调用自己,给自己一个出口

                面试常问

        方法参数的值传递机制内存分析

数组

        数组的定义

               声明和初始化

                         静态初始化

                        动态初始化

                        不同数据类型初始化值

        必须是同一类型

                数组的使用

                调用数组的指定位置的元素

                获取数组的长度

                遍历数组

                数组下标越界异常

        内存分析

                 一维数组

                二维数组

        Arrays工具类

        排序算法

                冒泡排序,选择排序,插入排序,快速排序,归并排序,希尔排序,堆排序,基数排序

面向对象

        类与对象

                概念,关系,内容,格式

                创建对象(类的实例化)的内存分析

        构造方法

                构造器的重载

        封装

                属性私有,get,set

        继承

                extends

                Object

                子类拥有父类的全部特性

                方法的重写

                this

                super

                java是单继承,只能继承一个父类,

        多态

                 父类的引用指向子类的对象

                        Person person = new Student()

                instanceof关键字

                        如果匹配可以进行类型之间的转换

        修饰符

                 public

                protected

                private

                static

                final

                abstract

        接口

                interface

                约束,只能定义方法名

                子类实现接口

                只有一个方法的接口叫做函数式接口,可以只用lambda表达式简化

                接口比抽象类更抽象

                一个类可以实现多个接口

        内部类

                局部内部类(方法里)

                静态内部类(类里面方法外)

                匿名内部类(方法里)(重点)

异常

        Throwable

                Exception

                        运行时异常

                                NullPointerException(空指针异常)

                                ArrayIndexOutOfBoundsException(角标越界异常)

                                ClassCastException(类型转换异常)

                                NumberFormatException(不是数字格式异常)

                                InputMismatchException(输入不匹配异常)

                                ArithmeticException(数学算数异常)

                编译时异常

        Error

                AWT错误

                JVM错误

                        StackOverFlow(栈溢出)

                        OutOfMemory(java内存溢出)

        五个关键字

                 try

                catch(){} 先小后大

                finally

                throw

                        手动抛出异常

                throws

                        方法抛出异常

                自定义异常

                        继承Exception类

常用类

        Object类

                hashcode()

                toString()

                clone()

                getclass()

                notify()

                wait()

                equals()

        Math类

                常见的数学运算

        Random类

                生成随机数

        File类

                创建文件

                查看文件

                修改文件

                删除文件

        包装类

                自动装箱和自动拆箱

        Date类

                Date

                SimpleDateFormat

                Calendar()

        String类(建议操作量较少的时候使用)

                不可变性 final

         StringBuffer(建议多线程数据量较大,因为效率低,安全)

                可变长 append()

        StringBuilder(建议单线程数据量较大,因为效率高,不安全)

                可变长

集合

        Collection

                List(有序可重复)

                Set(无序不可重复)

        Map

                HashMap(重点)

                        JDK1.7:数组+链表

                        JDK1.8:数字+链表+红黑树

                TreeMap

        Collections工具类

泛型

I/O流

        字节流

        字符流

        节点流

        处理流

多线程

        进程和线程

        run(),Start()

        线程的创建方式

                Thread

                Runnable()

                Callable

        静态代理

                new Thread(Runnable).start();

        Lambda表达式

                函数式编程

                避免内部类定义过多

                手动推导Lambda表达式

        线程的状态

                新建状态

                就绪

                运行

                阻塞

                死亡

        常用的方法

                sleep

                join

                yield

                isLive

                start

                setPriority

                interrupt

        线程同步

                多个资源操作同一个资源,并发

                队列+锁

                Lock

                Synchronized

                        同步方法 弊端:锁太多了

                        同步代码块(常用!)

                         第一个进程进来拿到锁,后面进来的锁就要排队,直到这个人释放锁,后面拿到锁才能进去

                        死锁:两个人都抱着对方的锁

                                互斥

                                请求和保持

                                不剥夺条件

                                循环等待条件

        线程通信

                缓冲区:消息队列

                标志位:红绿灯

                wait()

                notifyAll()

        线程池

                池化技术

                池的大小

                最大连接数

                线程池的底层原理

网络编程

        IP

        端口

        Socket编程

        TCP 三次握手四次挥手面向连接

        UDP 无连接 Packet

        URL

        初始Tomcat

        聊天通信

        文件上传

GUI

        AWT

        Swing

注解和反射

        注解

                元注解

                内置注解

                自定义注解

                反射读取注解

        反射

                Class

                类加载机制

                Method 子主题

                Field

                Construct

                破坏私有关键字

                性能分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值