概述
重要特点
- Java语言是面向对象的
- Java语言是健壮的。Java的强类型机制,异常处理,垃圾的自动收集等是Java程序健壮性的重要保证
- Java语言是跨平台性的。
- Java语言是解释型的
JDK,JRE和JVM的包含关系
- JDK=JRE+开发工具集
- JRE=JVM+Java SE标准类库(java核心类库)
- 如果只想运行开发好的.class文件,只需要JRE
变量注意事项
- 变量表示内存中的一个存储区域
- 该区域有自己的名称和类型
- 变量必须先声明,后使用,即有顺序
- 该区域的数据可以在同一类型范围内不断发生变化
- 变量在同一个作用域内不能重名
- 变量=变量名+值+数据类型。
数据类型
- JAVA数据类型分为两大类,基本数据类型,引用类型
- 基本数据类型中有8种,数值型【byte,short,int,long,float,double】char,boolean
- 引用类型【类,接口,数组】

整型细节
- Java各整数常量(具体值)默认为int型,声明long型常量需要后面加‘l’或‘L’
- bit:计算机中最小存储单元。byte:计算机中基本存储单元,1byte=8bit。
浮点型细节
- 浮点常量默认为double型,声明float型常量,需要后面加‘f’或‘F’。

字符型细节

字符编码表

类以及类型转换
类的组织形式

自动转换注意类型和细节

强制类型转换

运算符,标识符
逻辑运算符一览
规则

短路与与逻辑与

短路或与逻辑或

逻辑运算符规则

三元运算符
细节

运算符优先级

进制

标识符命名规则


原码反码补码

为什么用补码来运算:补码可以把正数和负数连接起来。
位运算符

注意

重要的两个编程思想

程序控制
switch,for,while,do…while
多重循环,
合理运用。
嵌套最好不超过三层
continue,break
数组
概念

使用方式
细节

冒泡排序
特点:

二维数组

生成随机数


radom的nextInt(int n),指的是在0到n(不包括n)之间随机生成一个int型的值
二维数组内存中的存在形式

类与对象
对象存在形式

基本介绍

注意细节

内存分配机制以及流程


成员方法
基本介绍

调用

定义

细节

编写思路

传参机制 parameter(参数)
方法递归调用
基本定义

重要规则

方法的重载
基本介绍

细节

可变参数
基本概念

解读

细节

作用域
基本使用

注意事项


构造方法/构造器


class Person{ String name; int age; //构造器 // 1. 构造器没有返回值,也不能用void // 2. 构造器的名称和类名一致 // 3. (String pName,int pAge)是构造器的形参列表,规则和成员方法一样 public Person(String pName,int pAge){ System.out.println("构造器被调用"); name=pName; age=pAge; } } //小点(.)是对象访问符,例:p1.age注意事项和细节


Javap可以反编译
对象创建流程分析
- 方法区加载类信息(只会加载一次),在堆中开辟一块该类的空间(分配地址)。
- 根据类里定义的全局变量(属性)将该空间划分出来,默认初始化:初始值int型为0,string型为null。
- 显式初始化:如果属性有赋值初始值,将其赋给该属性。
- 构造器初始化:如有传参,应用相应的构造器进行属性值的更改。string类型从常量区进行加载。
- 将堆中的对象的地址返回给栈中的p(对象的引用/对象名)。

this关键字
因为java是在jvm虚拟机上运行的,所以没有办法直接获取真实的地址。折中办法使用hashCode()返回对象的哈希码值,可以近似当作对象的地址。



练习
Double是double的包装类。返回值可以为空:null。
注意:静态方法可以直接通过类名调用

包
三大作用

包的本质

包的命名

常用的包

注意事项以及细节

访问修饰符
基本介绍

注意事项

面向对象三大特征
封装
介绍

好处

实现步骤

如果在构造器中也需要对数据进行判断,可以把get/set跟构造器结合。在构造器内部调用get/set方法。
继承
基本介绍以及基本语法

细节





继承的本质
- 内存布局图

继承顺序

super关键字
基本介绍

细节


表格

演示规则

方法重写
基本介绍

细节

重写和重载的区别

多态
基本介绍

具体体现
向上转型
注意事项,细节

调用方法规则

向下转型

注意事项

动态绑定机制

多态应用
多态数组

A instanceof B:判断A的运行类型是不是或者B的子类,
多态参数

什么是多态,多态的具体体现有哪些?

(3)编译类型看定义时=号的左边,运行类型看=号的右边。
Object类详解
equals方法
==和equals的对比


示例表格

instanceof

hashCode方法
6点小结

toString方法
基本介绍

finalize方法
断点调试
注意事项以及介绍

快捷键

示例小项目零钱通
//用于日期格式化 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//获取当前日期 date = new Date();
开发流程

改进


小项目截图

类变量与类方法
类变量
特点以及举例


static变量的位置

jdk8以前是在方法区的静态域,jdk8及以后是在堆中的对应的class对象的最后。
共识

基本介绍

类变量师随着类的加载二创建,所以即使没有创建对象实例也可以访问。
使用细节


类方法
基本介绍

使用场景

注意事项

小结

main方法
形式

注意

代码块
基本介绍

好处以及使用方法
好处

使用方法

使用细节
第一部分

第二部分

第三部分

第四部分

单例模式
设计模式介绍

概述

饿汉式
具体步骤

细节解释

懒汉式
步骤

区别

总结

final关键字
基本介绍

细节
第一部分

第二部分

抽象类
概念



细节
第一部分

第二部分

第三部分

接口
基本介绍

小结


细节
第一部分

第二部分

实现接口和继承类的区别

接口的多态

内部类
基本介绍

基本语法

分类

局部内部类
- 使用
注意:

匿名内部类
本质

使用举例


细节
成员内部类
使用




静态内部类
特点




内部类小结

枚举类
如何创建枚举类

自定义枚举类小结

enum关键字实现枚举

注意事项

enum常用方法一览表


小结














