1.数组:同一种数据类型的集合 (length属性:返回数组的长度,从1开始)
数组创建的几种方法: 1. int i [] = {1,2,3};
2. int i[] = new int[3];
3. int i[] = new int{1,2,3};
2.Random类:用于生成伪随机数流。
使用:创建此类的实例,来生成伪随机数。生成 double float int long Gaussian(正态) 的值,在0-1之间.
nextInt(int i):生成0 -i之间的随机值。nextByte(byte[] bytes):生成随机字节,并将生成的字节置于用户提供的bytes数组中。
3.程序执行过程:加载文件进内存,找到和文件名相同的类名,找该类的main函数(同一个文件中可以有多个main函数)
4.当一个java源程序中有多个类时,只有一个类可以用public来修饰,并且该类的名称和文件名相同。
5.Arrays:数组的工具类。
-
public static <T> List<T> asList(T... a) :返回一个受指定数组支持的固定大小的列表,如
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly"); 这个集合的大小是固定的
-
binarySearch(x,y):使用二分搜索法来查找指定类型数组中的指定元素,返回搜索键的索引。 类型:byte short int long float double char Object
-
copyOf(x,y):复制指定的X数组,复制数组的长度为y,返回这个复制的数组,如果y大于原数组的长度,则用null填充
-
coptOfRange(x,y,z):复制指定x数组的指定范围,复制到一个新数组并返回
- deepEquals(x,y):判断两个对象类型的数组是否相等。
- equals(x,y):Arrays重写了equals方法,判断两个数组是否相等
- fill(x,y):将指定的y值,分配给x数组中的每个元素
- sort(x):将指定的x数组按数字进行升序排序
- sort(x,y,z):将指定的x数组中指定的范围按数字进行升序排序 对于方法9和10 如果参数是对象类型的数组,则按自然顺序对数组进行排序
- toString(x):返回指定的x数组内容的字符串表现形式
6.单例设计模式:一个类在内存中只有一个对象,分为懒汉式和恶汉式。
1.恶汉式:直接创建私有化对象,对外提供访问的方法
2.懒汉式:不直接创建对象,只创建引用,对外提供访问的方法,当第一次访问方法时,方法才创建对象(会有线程的安全问题,)
7.模板设计模式:定义功能时,功能的一部分是确定的,而确定的部分在使用不确定的部分,那么这时可以将不确定的部分暴露出去,由子类来完成(可以使用抽象类,不确定的部分用抽象方法来表示,子类在实现时必须重写抽象方法来完成不确定的部分).
8. ==和equals的区别:
1.在比较基本类型数据时,==和equals都比较的是值。
2.在比较引用类型数据时,==和equals比较的都是内存地址(String除外,因为String类重写了equals方法,所以重写equals方法的都按自己的规则来比较)。
3.==和equals比较String时,==比较的是内存地址,equals比较的是对象的内容。
9.final关键字:可以修饰类,方法,成员变量。
1.修饰类:此类不可以被继承,没有子类,final类的方法默认用final修饰。(在设计类的时候,如果这个类的功能不需要扩展,类的实现细节也不需要被改变,那么设计为final类)。
2.修饰方法:此方法可以被继承,但不能被重写。(1.把方法锁死,防止任何继承他的类修改它的实现,2.高效)
3.修饰成员变量:用final修饰的成员变量表示常量,只能赋值一次无法改变。
4.final不能修饰构造方法。
5.final修饰参数:可以读取这个参数,但不能改变参数。
10.基本数据类型是值传递。
11.栈内存:存储的是局部变量和引用。堆内存:存储的是数组和对象,new关键字创建的实体都保存在堆内存中
12.排序:
1.选择排序
2.冒泡排序:相邻两个元素之间进行比较,满足条件就置换,每轮比较都可以则出'最值',下一轮则不比较这个值。
3.二分法排序:
13.访问修饰符:
public protected default private
同一个类中 O O O O
同一个包中 O O O
子类 O O
不同包中 O
1.成员使用private修饰时,只能在本类中使用
2.如果一个成员没有用任何修饰符修饰,则默认是default
3.类只能用public 和default来修饰
14.java严格区分大小写
15.单行和多行注释不会被jvm解析而体现在.class文件中
16.基本类型数据
byte 1 8 -128--127
short 2 16 -215--215-1
int 4 32 -231--231-1
long 8 64 -263--263-1
float 4 32
double 8 64
char 2 16
boolean 1
17.表达式求值时,会将变量自动提升为int型,%取余数 |全 ||不全
18.三元运算符: x==y? true:flase;
写的比较粗略