- 使用if…else时,最好先处理范围更小的情况;
- switch语句后面的控制表达式类型只可能是:byte、short、char、int四种整数类型,枚举类型和java.lang.String类型,不能是boolean类型,且每个case后要以break结束;
- 对于if…else和while语句后面只跟一条语句是可以省略花括号,常见陷阱是紧跟着一个分号(造成死循环了);
- 砖家建议不要在循环体内改变循环计数器(习惯用ijk做循环变量)的值;
break用于完全结束一个循环(无论哪种循环),跳出循环体,执行后续操作;也可以采用标识直接结束break语句所在循环的循环,例如:
//外层循环 outer: for(int i = 0;i < 10;i++){ //内层循环 for(int j = 0;j < 10;j++){ if(j == 1){ System.out.println("i的值为" + i + ",j的值为" + j); break outer; } } }
上述代码输出:
i的值为0,j的值为0 i的值为0,j的值为1
continue忽略本次循环剩余的语句,接着开始下一次的循环,不会终止循环;continue也可以设置标识忽略内存循环,从外层循环继续;
- return是用来结束方法的,当然可以结束一个循环,对于多分支语句,每个分支应有一个return语句;
- 数组是引用类型,存放固定个数的同类型数据(但是可以通过向下转换成不同类型);
至于数组的定义是否就是声明还不清楚(),暂且认为是一致的且不分不配内存的,推荐使用:
type[] arrayName;
上述不能指定数组的长度;
数组的静态初始化:
//第一种 type[] array1 = new type[]{element1,...}; //第二种 type[] array2 = {element1,...};
数组的动态初始化:
//Length表示数组长度 type[] array1 = new type[Length];
常见错误:
//1.没有指定长度
type[] array1 = new type[];
//2.空指针异常(NullPointerException),数组没有分配内存而引用
//3. 数组越界异常(ArrayIndexOutOfBoundsException)(下标小于0或大于等于数组长度)
//4. 声明(定义)和初始化必须放在一条语句中,以下三种:
type[] array1 ;
array1 = new type[]{element1,...};
type[] array2 ;
array2 = {element1,...};
type[] array3;
array3 = new int[Length];
foreach循环遍历数组和集合,格式如下:
for(type name: array|collection){ //name的值为每个元素,临时变量。array|collection为数组或集合名。foreach不能改变数组或集合元素的值 }
仅以下面的例子说明二维数组:
public class Hello { public static void main(String[] args){ //长度可相同或不同 int[][] arr = {{1,2,1,3},{1,3}}; //或者 int[][] arr2 = new int[2][]; arr2[0] = new int[4]; System.out.println(arr[0][0]); } }
java 8增强的Arrays
涉及到静态方法及貌似集合的问题,暂时不看。
java基本语句注意事项
最新推荐文章于 2020-07-18 16:54:40 发布