1. java.util.Arrays 数组工具类
Arrays.toString (数组)
数组值链接字符串
Arrays.sort(数组)
基本类型: 优化的快速排序
引用类型: 优化的合并排序
Arrays.binarySearch(数组,目标值)
二分法查找
在有序数组中, 查找目标值的位置
找不到,返回辅负数无意义值
Arrays.copy(数组,长度)
把数组复制成指定长度的新数组
不超出原数组长度,相当于截取
超出原数组长度, 超出范围赋值默认值
Arrays.fill(数组,值)
填满指定的值,每一个位置都变化指定的值
2. 数组复制
Arrays.copyof(数组,长度);
会新创建数组
不会新创建数组
System.arraycopy(
原数组,
原数组起始位置,
目标数组,
目标数组起始位置,
复制的数据数量
);
3.二维数组
标识存放数组的数组
创建二维数组
int[][] a = new int[3][2]; 默认0
int[][] a = new int[3][]; 为 null
只创建外围数组都是默认值null,可以之后创建数组放入外围数组.
int[][] a = {
{2,3,6},
{5,7,9}
};
4.变量
局部变量:
定义在方法中,或局部的代码快中
1. 局部变量必须手动初始化, 初始化就是第一次赋值时,分配内存
int i ; print(i); // 错的,没有初始化, 内存中不存在这个地址.
i = 5; print(i); // 对的, 第一次赋值,初始化
2. 局部变量的作用域只存在于定义的大括号结束.
3. 作用域范围内不能重复定义
成员变量
1. 直接定义在类中.
2. 成员变量自动初始化成默认值
int i ; // 默认 0,
int[] a; // 默认 null
boolean b; // 默认 false
5. 方法
方法的参数传递
main 方法是静态的方法,静态方法能访问静态的方法,能访问静态成员变量, 但不能访问非 static
Java 的参数传递是值传递
方法的递归调用
在方法中,调用自身
void f(){
f();
};
递归一步一步的简化问题,简化成最简问题,再倒推求出结果
一般不同时做多次递归运算, 否则运算量会急剧增加, 可以考虑用循环代替
基础语法总结
面向对象
人为抽象的编程模型
把程序中的事物,算法,逻辑,概念等,抽象成一个一个的具体物体.
类
对象
引用
构造方法
this
方法重载
继承
super
重写
多态
instanceof
抽象类
final
static
访问控制符
对象的创建过程
接口
内部类
类:
相关的数据,方法代码,封装在一个程序组件中,称为类
类可以理解成模板,用模板创建对象,实例.
每个对象都占用独立的内存空间,来保存各自的属相数据
每个对象,可以独立控制,执行指定的方法代码
引用:
引用类型变量
保存一个对象的地址
使用引用变量,可以找到一个对象的内存空间,访问它的数据,或调用方法
引用类型的特殊值: null 不引用任何对象的内存地址.