- 技术栈
程序基础
数据类型
本质 : 规定占用内存空间 的大小
分类
基本数据类型
数值型
整型
Byte,short,int,long
浮点型
Float,double
字符型
Char
布尔型
Boolean
引用数据类型
类,数组,接口
变量
命名规则
强制 : 大小写字母,美元符号$,下划线_,数字,且数字不能开头,不能使用关键字和保留字
非强制 : 望文知义,驼峰命名法
介绍 : 就是存储数据的,方便对数据的操作和复用
声明 : 数据类型 变量名 = 值;
分类
静态变量 : 类体中使用static修饰的
局部变量 : 方法中声明的变量,参数列表中的也是
成员变量 : 类体中不使用static修饰
调用
静态变量 : 类名.静态变量名 , 当前类中类名可以省略
局部变量 : 方法体中直接使用名字调用
成员变量 : 对象.成员变量名
运算符
算数 : ++ -- , i++ 和 ++i
赋值 : 右结合
关系 > >= <>
逻辑 : && 和 & , || 和 |
位运算 >> << & ~
字符串拼接 +
三目运算 布尔型 ? 真 : 假;
流程控制
顺序结构 : 从上往下从左到右执行
分支结构 : 单分支,双分支,多分支(只有一个分支执行,整个分支结束)
If... else ... : 如果分支下只有一条语句,大括号可以省略
Switch ... : case穿透,case合并
循环结构
三要素 : 初始值,终止条件,步长
For : 计数循环,执行0~N次
While : 真假循环,执行0~N次
Do..while... : 真假循环,执行1~N次,保证至少执行一次
方法
目的 :
1 代码复用
2 提供开发效率
3 代码简洁清晰
4 利于维护和扩展
声明 : 修饰符 返回值类型 方法名 (参数列表) {方法体}
分类 :
静态方法 : 使用static修饰
成员方法 : 没有使用static修饰
构造方法
调用 :
静态方法 : 类名.静态方法名(参数),当前类中类名可以省略
成员方法 : 对象.成员方法名(参数);
递归 : 方法体中调用当前方法
思想 : 以此类推
应用场景 : 树状结构相关,比如文件目录
内存分析
静态区/方法区 : 保存静态资源文件,包括class文件
栈内存 : 运行方法
堆内存 : 保存对象
程序计数器
本地方法栈
数组
数据结构 : 是计算机组织和存储数据的一种方式,合理选择数据结构会有效的提高运行和存储效率
数组特性 : 连续存储,有独一无二的编号,查询更改快,添加删除慢
声明
静态
类型[] 变量 = {值,值...}
类型[] 变量 = new 类型[]{值,值....};
动态
类型[] 变量 = new 类型[长度];
使用
数组[下标]
数组[下标] = 值;
For(类型 变量 : 数组){}
For(int i =0;i<数组.length;i++){}
排序
API
冒泡
选择
- 数组
- 查找元素
需求 : 给定一个数组,判断是否包含某个值,如果包含返回对应的下标,如果不包含返回-1
-
-
- 顺序查找
* 顺序查找 :
* 优点 : 编码简单,容易理解,没啥逻辑,就挨个比较
* 数据靠前的话,效率也比较高
* 缺点 : 随机查询效率较低
-
二分
-
-