1.switch
条件语句仅可以是byte,short,int,char(jdk版本是1.0-1.4),jdk1.5是里程碑,增加enum,jdk1.7时候sum公司被收购亦可接受String类型。
switch中case有穿透性,如果条件符合可以直达下方的条件语句如果没有break还会继续穿透直到switch结束。
switch()
{
case:1
case:
case:
System.out.print();
break;
}
如果case1符合条件则可以直达输出语句。
2.数组
array几种书写方式
int[] arr={};
int[] arr=new int[4];arr[0]=5;
int[] arr=new int[]{3,4,5};//此时[]不允许写数字
int可以换成其他类型。但是不可以类型混合只能统一类型。
3.内存方式
虚拟机默认内存大小64M,分成五个区域:
- 寄存器:内存和cpu
- 本地方法栈:比如调用系统复制功能
- 方法和数据共享区:运行时class文件进入的地方(main方法最先进入)
- 方法栈:所有方法运行时的地方。main方法,print方法执行的地方(main方法压栈运行在最低层)
- 堆:存储容器和对象,比如array数据所在地。
内存具有临时性,程序不运行则和内存无关。
虚拟机在堆内开内存,数据在内存中均有自己的内存地址:int[] arr={};
arr打印出来是一个地址:
【i@766a24(所谓的引用类型【代表数组,i代表int,@分隔符)。
arr.length
4.遍历
for知道循环次数,while不知道循环次数
5.数组越界,空指针
空指针是arr=null时候arr指向的数据地址联系断开,并且地址只能指向一次,因为=null时候可能堆内地址被收回。
6.二维数组
int[][] arr=new int[3][4];在arr中有3个一维数组,每个一维数组均有4元素。
二维数组中存放一维数组地址
int[][] arr={{1},{2,3},{4,5,6}};简写时候允许一维数组元素个数不一致。
·```