第四章 流程控制与数组
一:简单零碎的知识汇总
1)Switch语句后面的控制表达式的数据类型只能是byte,short,char,int四种整数类型,枚举类型和java.lang.String类型,不可
以是boolean类型,也不可以是StringBuffer或StringBuilder这两种字符串类型。
2)Switch语句的每个case标签后的代码块都有一个break。
3)for循环圆括号中只有两个分号是必需的,初始化语句,循环条件,迭代语句部分都是可以省略的,如果省略了循环条件,则这
个循环条件默认为true,将会产生一个死循环。
4)break语句默认可以结束其所在循环,还可以直接结束其外层循环,此时需要在break后紧跟一个标签,这个标签标识了一个 外层循环。java中的标签就是一个紧跟着英文冒号的标识符,且只有放在循环语句前才有作用。
5)动态初始化数组时,数组中元素的初始值如下
6)不要同时使用静态初始化和动态初始化,也就是说,不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配 初始值。
7)foreach循环遍历数组与集合
8)Math.round()函数取整规则 :向 最接近的整数方向取整,若整数后为0.5,则向由负半轴指向正半轴的方向取整。
二:易混淆出错的难点汇总
1)看待一个数组时,一定要把数组堪称两个部分:数组引用变量和实际的数组对象。实际的数组对象被存储在堆(heap)内存 中;如果数组引用变量是一个局部变量,那么它被存储在栈(stack)内存中。数组在内存中存储示意图如下:
2)数组对象长度是不可变的,但只要类型相互兼容,数组引用变量的指向可以改变。
3)堆内存与栈内存之分
4)JAVA中没有多维数组,所有多维数组都可以看作一维数组的组合。