一、Java
1.Java的特点
简单性、面向对象、分布式(微服务)、健壮性、安全性、体系结构中立、可移植性、解释性、高性能、多线程、动态性等。
2.Java的main方法示例
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello,world");
}
}
3.JDK、JRE、JVM之间的关系
JDK(Java Development Kit):Java 开发工具包,提供给 Java 程序员使用,包含了 JRE ,同时还包含了编译器javac与自带的调试工具 Jconsole 、 jstack 等。JRE(Java Runtime Environment):Java 运行时环境,包含了 JVM , Java 基础类库。是使用 Java 语言编写程序运行的所需环境。JVM: Java 虚拟机,运行 Java 代码。
二、数据类型与变量
1.字面常量
常量即程序运行期间固定不变的量。
2.数据类型
基本数据类型;
字节型 byte
短整型 short
整型 int
长整型 long
单精度浮点型 float
双精度浮点型 double
字符型 char
布尔型 boolean
引用数据类型。
3.变量
对于一些经常被改变的内容,在Java中,被称为变量。而数据类型就是用来定义不同种类的变量的。
语法格式为:
数据类型 变量名 = 初始值;
4.字符串类型
三、运算符
1.算术运算符
基本四则运算符:加减乘除模(+ - × ÷ %)
增量运算符:+= -= *= %=
自增自减运算符:++ --
2.关系运算符
主要由六个:== != < > <= >=
3.逻辑运算符
逻辑与:&&
逻辑或:||
逻辑非:!
4.位运算符
按位与:&
按位或:|
按位取反:~
按位异或:^
5.移位运算
左移:<<
右移:>>
无符号右移:>>>
6.条件运算符
表达式1 ? 表达式2 : 表达式3
7.运算的优先级
四、程序逻辑控制
1.顺序结构
按照代码书写方式顺序执行。
2.分支结构
if语句
switch语句
3.循环结构
while循环
for循环
do while循环
4.输入输出
a.输出到控制台
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
b.从键盘输入
使用Scanner读取字符串/整数/浮点数。
五、方法
1.方法语法格式
修饰符 返回值类型 方法名称([参数类型 形参 ...]) {
方法体代码;
[return 返回值];
}
2.实参和形参的关系
在Java中,实参的值永远都是拷贝到形参中,形参和实参的本质是两个实体。
3.方法重载
4.递归
六、数组
1.数组
相同类型元素的一个集合
2.数组的创建
数据类型[] 数组名 = new 数组类型(数组长度);
3.数组的初始化
a.动态初始化:在创建数组时,直接指定数组中元素的个数。
b.静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定。
4.数组是引用类型
七、类和对象
1.类
类是用来对一个实体(对象)来进行描述的。
2.类的定义
class ClassName {
field; // 字段(属性) 或 成员变量
method; // 行为 或 成员方法
}
3.类的实例化:用类类型创建的对象的过程。
4.this引用
5.面向对象程序的三大特性:封装、继承、多态。
八、继承和多态
1.继承
进行共性抽取,实现代码复用。
修饰符 class 子类 extends 父类 {
//...
}
2.组合
3.多态
在代码运行时,当传递不同类对象时,会调用对应类中的方法。
九、抽象类和接口
1.抽象类
关键字:abstract
一个类中没有包含足够的信息来描绘一个具体的对象。
2.接口
语法规则:
public interface 接口名称 {
// 抽象方法
public abstract void method1(); // public abstract 是固定搭配,可以不写
public void method2();
abstract void method3();
void method4(); // 注意:在接口中上述写法都是抽象方法,跟推荐方式4,代码更简洁
}
接口使用:
public class 类名称 implements 接口名称 {
// ...
}
定义实现类,实现接口中的所有抽象方法。
十、String类
String、StringBuffer和StringBuilder
String 的内容不可修改, StringBuffer 与 StringBuilder 的内容可以修改 。StringBuffer 与 StringBuilder 大部分功能是相似的。StringBuffer 采用同步处理,属于线程安全操作;而 StringBuilder 未采用同步处理,属于线程不安全操作。
十一、异常
1.异常
算术异常
数组越界异常
空指针异常
2.异常的分类
编译时异常
运行时异常
3.异常的捕获
异常声明throws
try-catch捕获并处理
finally
4.自定义异常类