概述
JavaSE
一、Java语言初识
MarkDown语法,简单的DOS命令,计算机语言发展,Java的诞生
1995年java三大版本:
Java SE
Java ME :Android
Java EE
2006年Java Hadoop(大数据)
JDK :开发数据包 配置环境变量
JRE:运行环境
二、HelloWorld:
public class Hello{
public static void main(String[] args){
System out.println("Hello,World")
}
}
javav Hello.java:生成 class
java Hello
编译型语言:先编译再运行
解释型语言:边读代码边解释
IDEA 开发软件
三、基础语法
1、注释:
(1)行内注释://
(2)多行注释:/**/
(3)文档注释:/** */ javadoc 生成帮助文档
2、标识符:关键字
3、数据类型:
(1)基本数据类型
整数:byte:1、short:2、int(默认):4、long: 8
浮点数:float:4、double(默认):8、BigDecimal
字符:char:2、ascli、utf-8、Unicode、`u0000`:b,n,t,r,',",\
布尔值:boolean:1、if(a)
(2)引用数据类型
类、接口、数组
4、类型转换
(1)自动类型转换:低转高
(2)强制类型转换 :高转低
5、变量和常量:type warName[=value];
作用域:(1)类变量
(2)实例变量
(3)局部变量
常量:final MAX A = 10;
命名规范:
(1)见名知意
(2) 驼峰命名(变量,方法)
(3)类,首字母大写,驼峰命令
(4)常量:大写+下划线
(5)不要使用拼音命令
6、运算符
(1)算数运算符:+ - * / % ++ --
(2)赋值运算符:=
(3)关系运算符:> < >= <= == != instanceof
(4)逻辑运算符:&& || !
(5)位运算符:& | ^ ~ >> << >>>
(6)条件运算符:? :
(7)扩展运算符:+= -= *= /=
7、包机制
(1)域名倒写
(2)package
(3)import
(4)防止命名冲突
8、JavaDoc
JDK 帮助文档
javadoc:@author、@Verdion、@Since、@param、@return、@throws
四、流程控制
1、Scanner:
用户交互System.in
2、顺序结构:
程序默认的结构,自上而下的执行
3、选择结构:
(1)if 单选择结构
(2)if-else 双选择结构
(3)if-else if-else 多选择结构
Switch:(1)jdk 支持了Sring类型
(2)case 穿透现象
(3)break
(4)default
4、循环结构:
(1)while 尽量避免死循环
(2)do...while
(3)for for(int=0;i<100;i++)
(4)增强 for 循环
(5)九九乘法表
5、break&continue
break:跳出循环
continue:终止当次循环
带标签 continue
return:结束方法的运行
6、方法
什么是方法:一堆语句的集合
方法的定义:修饰符 返回值 方法名(参数名)(return 返回值;)
方法的调用 (1)类名.方法 (2)对象.方法
方法的车载 名字相同,参数列表不同
命令行传参 给main方法传递参数
可变长参数 ... 必须放在最后一个参数
递归 自己调用自己,给自己一个出口
7、数组
数组的定义:(1)new int[5](2){1,2,3,4,5}(3)必须是同一个类型
数组的使用:(1)通过下标拿到值(2)ArrayIndexoutofBounds(3)增加 for 循环遍历
二维数组 int[ ][ ]
Arrays 工具类
排序算法:
(1)冒泡排序
(2)选择排序
(3)插入排序
(4)快速排序
(5)归并排序
(6)希尔排序
(7)堆排序
(8)基数排序
五、面向对象
1、类与对象:
(1)类是对象的抽象:模板Class(2)对象是类的具体
2、构造方法
构造的重载:
(1)默认的无参构造
(2)如果手动定义了有参构造就必须要手动在加一个无参构造
(3)单例模式,需要构造器私有!
new 对象
(1)栈存放引用
(2)堆存放具体的对象
3、封装:
属性私有,get、set
4、继承:
extends、Object、子类拥有父类的全部属性、方法重写、this、super Java是单继承,只能继承一个父类。
5、多态:
(1)父类的引用指向子类的对象 Person person = new Student():
(2)instanceof 关键,如果匹配,可以进行类型之间的转换
6、修饰符
public、protected、private、static、final、abstract
7、接口
(1)interface
(2)约束,只能定义方法名
(3)子类实现接口,必须重写其中的方法
(4)只有一个方法的接口叫做函数式接口,可以使用ambda表达式简化
(5)接口比抽象类更抽象
(6)一个类可以实现多个接口
8、内部类
(1)局部内部类
(2)静态内部类
(3)匿名内部类
六、异常
1、Throwable
Exception:
(1)运行时异常:1/0;ClassNotFound;NullPoint;UnKnownType;下标越界异常......
(2)检查型异常
Error:
(1)AWT错误
(2)JVM错误:StackOverFlow;OutOfMemory
2、五个关键字
(1)try()
(2)catch()() 先小后大
(3)finally()
(4)throw 手动抛出异常
(5)throws 方法抛出异常
3、自定义异常
继承Exception类即可
七、常用类
Object类 hashcode();toString();clone();getClass();notify();wait();equals()
Math类 常见的数学运算
Randon类 生成随机数 UUID
File类 创建文件;查看文件;修改文件;删除文件
包装类 自动装箱和拆箱
Date类 Date;SimeDateFormat;Calendar(建议使用)
String类 不可变性 final 操作量较小
StringBuffer 可变长 append() 多线程数据量较大 效率低,安全
StringBuilder 可变长 单线程数据量较大 效率高,不安全
八、集合框架
collection:
List:(有序可以重复)
ArrayList(常用):add;remove;contains;size
LinkedList(常用):getFirst();getLast();removeFirst();addFirst()......
Vector
Stack
Set:(无序不可重复)
HashSet(常用):
TreeSet:
lterator:迭代器
Map:
HashMap(重点,经常用)
JDK1.7:数组+链表
JDK1.8:hash表=数组+链表+红黑树
TreeMap
Collections工具类
泛型<>约束,避免类型装换之间的问题
九、IO流
字节流:
输出:OutputStream
输入:InputStream
字符流:
Reader
Writer
节点流:
CharArrayReader,Writer,inputstream,outputstream
StringReader,Writer
pipe(管道流)PipedOutputStream
File(......)
处理流:
buffer:bufferInputStream,bufferOutputStream,bufferReader,Bufferwriter
序列化:反序列化 Serializable transient(透明的)
data:DateInputStream,DateOutputStream
object流
转换流:InputstreamReader,Outputstreamwriter
Filter:四个
print:PrintWriter,PrintStream
十、多线程
进程和线程
run(),Start()
线程创建的方式:
Thread:start0,本地方法:Java无权调用,交给底层的c处理
Runnable:函数式接口 lambda
callable:可以有返回值
静态代理:new Thread(Runnable)start();
Lambda表达式:函数式编程;避免内部类定义过多
线程的状态:
新建状态、就绪、运行、阻塞、死亡
常用的方法:sleep、join、yield、isLive、start、setPriority、interrupt()
线程同步:
多个对象操作同一个资源,并发
队列 + 锁
Synchronized:
同步方法(弊端:锁太多了)
同步代码块(常用!)
第一个线程进来拿到锁,后面就要排队了,直到这个人释放锁,后面拿到锁才能进去
死锁:两个都抱着对方的锁
满足条件:互斥;请求与保持;不剥夺条件;循环等待条件
Lock(优先级高)
ReentrantLock
lock trylock unlock
线程通信
缓冲区:消息队列
标志位:红绿灯
wait();
notifyAll();
线程池:
池化技术
池的大小
最大连接数
保持时间。。。
十一、网络编程
IP、端口、Socker
TCP:
三次握手
四次握手
面向连接
UDP:
无连接
Packet
URL、初识Tomcat、聊天通信、文件上传
十二、GUI
AWT:
Frame
监听事件:鼠标、键盘、窗口、动作事件
Swing:文本框、标签、按钮、文本域、面板、布局方式、关闭窗口、列表
贪吃蛇:Timer、键盘监听、游戏帧的概念
十三、注解和反射
注解:
元注解、内置注解、自定义注解、反射读取注解
反射:
Class newInstance();
类加载机制
Method:invoke(user,"杨3");存在重载,也需要写参数的类型
Field set(user4,"杨4");
Contruct:newInstance();获取的时候需要,传递参数的class类型
破坏私有关键字 setAccessible(true);
性能分析 正常>检测关闭的反射>默认的反射
反射获得注解,泛型...
单例模式的探究
Stream
ForkJoin:效率对比
最后
以上就是温柔小懒猪为你收集整理的JavaSE总结JavaSE的全部内容,希望文章能够帮你解决JavaSE总结JavaSE所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复