Java学习
2024-03-06 19:52:34 32 举报
AI智能生成
Java是一种广泛使用的编程语言,以其跨平台、面向对象和安全性而闻名。它被用于开发各种类型的应用程序,包括桌面应用、移动应用、企业级应用和嵌入式系统。学习Java需要掌握基本的语法、数据结构和算法,以及面向对象的概念。此外,还需要熟悉Java的开发环境,如Eclipse或IntelliJ IDEA。在学习过程中,可以通过阅读书籍、观看在线教程和参加培训课程来提高自己的技能。总之,Java是一门值得学习的语言,可以为您的职业生涯带来巨大的机会。
作者其他创作
大纲/内容
HelloWorld
javac Hello.java 编译生成字节码文件Hello.class
java Hello 执行Hello.class文件
编译型
解释型
IDEA
基础语法
注释
行内注释 //
多行注释 /* */
文档注释 /** */
标识符
关键字、保留字 50个
数据类型
基本数据类型
1个字节 = 8位 1byte = 8bit
整数
byte 1个字节
short 2个字节
int (默认) 4个字节
long 8个字节
进制转换
0b 二进制
0x 十六进制
0 八进制
浮点数
float 4个字节
double (默认) 8个字节
BigDecimal 类
字符
char 2个字节
编码格式
ASCII
UTF-8
Unicode
转义字符
\b
\n
\t
\r
布尔值
Boolean 1个字节
引用类型
类
接口
数组
Java的方法中,在传递普通类型的时候是值传递,在传递对象类型的时候是引用传递。×
类型转换
自动类型装换
由低转高
强制类型装换
由高转低 (低)高
变量和常量
datatype varName [=value];
作用域
类变量
实例变量
局部变量
常量
final MAX_A = 10;
命名规范
1.见名知意
2.大驼峰、小驼峰、下划线、匈牙利
3.类,首字母要大写
4.常量:大写+下划线
5.不要用拼音
运算符
算术运算符
+ - * / % ++ --
赋值运算符
=
关系运算符
> < >= <= == != instanceof
逻辑运算符
&& || !
位运算符
& | ^ ~ >> << >>>
左移:左边消失,右边补0
右移:右边消失,左边补位数字与符号相同
条件运算符
? :
扩展运算符
+= -= *= /=
包机制
域名倒写
package
import
防止命名冲突
JavaDoc
JDK帮助文档
javadoc -encoding UTF-8 -charset UTF-8 Hello.java
流程控制
scanner
控制台用户交互
顺序结构
程序的默认结构,自上而下的执行
分支结构
if 单选泽
if-else 双选择
if-elseif-else 多选择
if嵌套
switch
JDK7增加了String类型
case穿透现象
循环结构
while
do-while
for
for-each
break和continue
break:跳出全部循环
continue:跳出本次循环
方法
什么是方法
解决特定事件的语句块集合
修饰符 返回值 方法名(参数名){return 返回值};
方法调用
类名.方法
对象.方法
方法重载
名字相同,参试列表不同,返回值不同
可变参数
...
必须放在最后一个
递归
自己调用自己,给自己一个出口
数组
数组的定义
相同数据元素的有序集合
数组的使用
通过下标拿值
可使用for-each
Arrays 工具类
排序算法
冒泡算法
选择排序
插入排序
快速排序
归并排序
希尔排序
基数排序
堆排序
排序汇总
面向对象
什么是面向对象
类与对象
类是对象的抽象
对象是类的具体
构造方法
无参构造
有参构造
new关键字实例化对象
栈存放引用
堆存放具体对象
封装
属性私有(private),get、set方法
继承
extents
子类拥有父类全部特性
方法重写
this和super
只能继承一个父类,但是可以实现多个接口
多态
父类的引用指向子类的对象
Father f1 = new Son();
类型转换
修饰符
public
protected
default
static
final
abstract
接口
interface
约束,只能定义方法名
子类实现接口,必须重写其中方法
接口比抽象类更抽象
只有一个方法的接口叫函数式接口,可以用lambda表达式简化
接口可以多继承,接口只能继承接口
接口内只能包含静态常量,所以接口不能继承类
内部类
成员内部类
静态内部类
局部内部类
匿名内部类(重点)
异常
Throwable
Exception
运行时异常
检查型异常
Error
AWT错误
JVM错误
处理异常,五个关键字
try
catch
finally
throw
方法内,手动抛出异常
throws
方法名,自动抛出异常
自定义异常
继承Exception即可
常用类
Object类
hashcode()
toString()
clone()
getClass()
notify()
wait()
equals()
Math类
常见的数学运算
Random类
生成随机数
UUID
File类
创建文件
查看文件
修改文件
删除文件
包装类
自动装箱和拆箱
Date类
Date
SimpleDateFormat
yyyy-MM-dd HH:mm:ss
Calendar
String类
不可变性 final
操作量较少
StringBuffer
可变长
append()
多线程数据量较大
效率低,线程安全
StringBulider
可变长
单线程数据量较大
效率高,线程不安全
集合框架
Collection
Iterator
List,有序可重复
ArrayList(常用)
add()
remove()
contains()
size()
LinkedList(常用)
getFrist()
getLast()
removeFirst()
addFirst()
Vector
Stack
Set,无序不可重复
HashSet(常用)
TreeSet
Map
HashMap(重点)
JDK7:数组+链表
JDK8:数组+链表+红黑树
TreeMap
Collections工具类
泛型
将参数类型也作为一种参数
IO流
字节流
输出:OutputStream
输入:InputStream
字符流
输出:Writer
输入:Reader
节点流
处理流
buffer
bufferOutputStream
bufferInputStream
bufferWriter
bufferReader
date
DataOutputStream
DataInputStream
object流
序列化
反序列化
转化流
OutputStreamWriter
InputSteamReader
Filter
FilterOutputStream
FilterInputStream
FilterWriter
FilterReader
print
PrintWriter
PrintStream
多线程
进程和线程
run()和start()
线程创建的方式
Thread
Runnable
Callable
线程池
静态代理
new Thread(Runnable).start()
lambda表达式
函数式接口
线程的状态
新建
就绪
运行
阻塞
死亡
常用方法
sleep
join
yield
islive
start
......
线程同步
多个对象操作同一个资源,并发
队列 + 锁
Synchronized
同步方法
同步代码块
lock
lock()
unlock()
trylock()
线程通信
缓冲区:消息队列
标志位
wait()
notifyAll()
线程池
池化技术
池的大小
最大连接数
保持时间
.......
GUI
AWT
Swing
注解和反射
注解
元注解
内置注解
自定义注解
反射读取注解
反射
Class
类加载机制
Method
Field
Construct
可以破坏私有关键字
0 条评论
下一页