----本文参照《疯狂java讲义》,补充java知识碎片
循环:
break +标签:跳出标签所标示的那层循环
continue:结束本次循环,接着开始下次循环,不意味着跳出,致使本次continue之后的内容不被执行。
return:结束一个方法。可以直接结束整个方法,不管这个return处于多少层循环之内。
foreach:用语简洁快速遍历数组和集合。
for(type variableName:array|collection)
{
//variableName作为形参,自动迭代访问每个元素。
}
数组
数组是一种数据类型,也是一种引用类型。eg:int为基本类型,int[]为引用类型。数组初始化,为数组的元素分配空间且赋值。
数组是引用数据类型,数组引用变量只是一个引用,数组元素和数组引用变量在内存里是分开存放的。实际的数组对象存储在对中,若数组对象的数组引用变量是一个局部变量,则被存储在栈中。
-----堆存储与栈存储
局部变量保存在栈中,方法结束栈就被销毁。
程序中创建一个会被反复利用的对象时,将其保存到运行时数据区(堆内存)中。方法结束后,其中的变量还可以被再次引用。直至,没有被引用时,系统垃圾回收器才会在合适的时候回收它。
由存储可知,类型兼容的情况下,可以让一个数组变量指向另一个实际的数组。eg:
int[] a={5,7,20};
int[] b=new int[4];//此时b数组是长度为4的默认值为0的数组
b=a;//此时b是长度为3的元素分别为5,7,20的数组。
不是数组长度可变,而是改变了数组引用变量的引用。