1.case不加break会有穿透效果,根据阿里规范,严禁省略default语句,即使它一句话也没有
2.for循环执行顺序:
for(初始化1;条件2;迭代运算3){
循环体4;
}
1->2->4->3->2->4->3...
3.数组几个小点
数组是支持 int a[][] 甚至int []a[] 等形式的,但基于可读性考虑,严禁使用int[][] a外的形式
并且,Java中数组声明时不能指定长度,只能在new之后(反例:int a[5])
不规则二维数组(指定行不指定列),每个元素都是一个一维数组,长度自定。
并且,Java实现了真数组(解释引自百度)
真数组:
- 在内存中连续分配。
- 数组所存在的内存空间为数组专用,避免了数据被覆盖的问题。
- 数组内存放的类型是确定的,唯一的
JAVA对下标会检查(越界将会产生异常,导致覆盖数据,于是就有:Java实现了真数组,避免了数据的覆盖)
4.修饰符权限范围(4 3 2 1 的递减)
本类 本包(包括子类) 不同包子类 包外
public 1 1 1 1
protected 1 1 1 0
default 1 1 0 0
private 1 0 0 0
其中1为可以访问,0为不可访问
5,i++与++i
Java使用了中间缓存变量机制:
i=i++;等同于:
temp=i; (等号右边的i)
i=i+1; (等号右边的i)
i=temp; (等号左边的i)
而i=++i;则等同于:
i=i+1;
temp=i;
i=temp;
理解了i=i++;i=++i;就理解的可以了!
时间: 2024-10-21 09:32:49