1.Java语言的特点
(1)简单性
(2)面向对象
(3)安全性
(4)跨平台性
(5)支持多线程
(6)分布性
概括:简单、安全、面向对象、多线程、跨平台、分布性
2.JDK
JDK(Java Development Kit)Java开发环境
bin目录:存放一些可执行程序
db目录:Java的一个小型数据库
jre目录:Java Runtime Environment(Java运行环境)
include目录:由于Java是用C和C++写成,此目录用于存放C和C++的头文件
lib目录:Java类库
src.zip和javafx-src.zip文件:放置JDK核心类源代码
3.Java运行机制
代码写成后生成 .java文件(源文件),需要对源文件进行编译(javac 编译),编译后生成.class字节码文件,然后由Java虚拟机运行字节码文件,输出结果
4.Java合法标识符
不能以数字开头,不能是关键字
5.Java分为哪两种?
基本数据类型,包括整形、浮点型、字符型、布尔型;
引用数据类型,包括类,接口,数组,枚举,注解
6.运算符
比较运算符:>大于 <小于 =赋值 !=不等于 ==等于
逻辑运算符:&与 |或 !非
创建类的实例的关键字,new
7.三元运算符的用法
max=x>y?x:y x是否大于y?是,则返回x,否,则返回y
8.方法重写和方法重载的相同点、不同点
相同点:方法名相同
不同点:方法重写不改变父类方法的参数类型、参数个数;方法重载改变参数类型或个数
9.Java权限修饰符
public<protected<default<private
10.如何实现封装
使用private 修饰属性,在方法中创建get 和 set方法
11.构造方法
(1)构造方法不能有任何返回值声明
(2)构造方法的名称必须与类名一致
Java三大特性,封装,继承,多态
12.this
this用来调用本类的属性,this.name,this.age
13.如果希望某项属性被所有对象共享,就必须将其设置为static属性
或想要在不创建对象的情况下通过类名直接调用某个方法,可以用static修饰方法
14.继承
使用extend进行设置
15.“super()”
子类重写父类方法后无法调用父类方法,此时用super()能直接调用父类的普通属性和方法
16.抽象类
一个类包含了抽象方法,那么这个类就是抽象类,要用abstract设置
使用"abstract" 进行设置
抽象类所有方法都是抽象方法
抽象类不能实例化
17.接口
如果一个抽象类的所有方法都是抽象的,那么这个类就是接口
18.多态
Anamal an1=new cat();
Anamal an2=new dog();
使用父类创建对象,实例子类,对象调用方法时会调用对应子类方法。
an1.shout();
an2.shout();
输出结果:
喵喵喵
汪汪汪
19.异常处理
try...catch
try{
程序代码块
}catch(Exception e) e为异常对象
20.String和String Buffer的区别
String Buffer类和String类的区别在于String Buffer类的内容和长度都是可以改变的,当在其中添加或删除字符时,并不会产生新的对象
String Buffer类和String Builder类的区别在于String Buffer类
String Buffer类线程不安全,但性能高
String Builder类线程安全,但性能低
21.Math类
abs() 求绝对值
sqrt() 求平方
max() 求两个数中的较大值
min() 求两个数中的较小值
Random() 构造方法,用于创建一个伪随机数生成器
22.实现多线程的两种方式
(1)继承Thread类
(2)使用Runnable接口
23.线程的五个周期
创建、就绪、运行、阻塞、死亡
24.线程休眠、线程让步、线程插队
线程休眠 sleep()
线程让步 yield()
线程插队 join()
25.端口
通过指定的IP地址可以连接到计算机,但是想访问计算机中的某个应用程序,还需要指定端口号。在计算机中,不同的应用程序是通过端口号来分的。
26.DatagramPacket 和 DatagramSocket
DatagramPacket类用于封装UDP通信中发送或接受的数据
DatagramSocket类的实例对象用于发送和接收DatagramPacket数据包
27.实现JDBC程序
(1)加载并注册数据库驱动
Class.forName("DriverName")
(2)通过DriverManager获取数据库连接
Connection conn=DriverManager.getConnection(String url,String user,String pwd);