我们都应该知道java有常见的流程结构。有顺序结构、分支结构与循环结构。这三种结构在编写程序中我们常常遇到,虽然用这点东西很简单,但是有时我们难免会犯小错。由此我与大家分享一下那些语句块中所存在的陷阱。
switch语句的陷阱:
在switch语句之后可以包含一个default分支,从字面意义上来讲这个分支是默认的分支,它是当其他条件都不满足的时候才执行。break语句的使用不能忽视,它是结束当前分支的执行体。switch表达式的类型也不能搞错,它只能是5种类型:byte、short、int、enum、char,值得注意的是switch表达式不能是String类型。
if语句的陷阱:
在使用if语句的时候,我们通常都与else这个亲密一下。else的字面意义是"否则",隐含的条件是其他的条件都符合的时候才执行这里面的代码块。而else if的条件是if的显示条件与else隐示条件的交集。如果使用不当,得到的结果不是我们想要的结果。比如说我们在限制条件的时候想处理大的条件,在处理小的条件就容易犯错。如果想将小的条件限制好,在处理大的条件,这样做出来的程序更有健壮性。
循环语句的一些陷阱:
小心循环计数器的值,看以下代码:
1 public class Test { 2 3 public static void main(String[] args) { 4 5 //简单的循环,试图循环10次 6 for (int i = 0; i < 10; i++) { 7 System.out.println("i的值为:"+i); 8 i*=0.1; 9 } 10 } 11 12 }
本想得到想要的结果,结果却由于计数器的不小心让结果很意外,成了死循环,并且i的值都为1。0.0
还有就是在for循环中,for循环的初始条件可以同时定义多个变量,但是由于只有一条语句,所有这两个变量的类型必须是相同的。
最后一个就是foreach中应该注意的问题了。在使用foreach循环迭代数组、集合的时候,循环计数器只是保存了当前正在遍历数组、集合元素的值,并不是数组、集合元素的本身,因此不要对foreach循环的循环计数器进行赋值,那是没有任何意义的。
最好不要省略花括号:有时候少写这些控制语句的花括号确实让代码简洁了一些,但是却很易报错或者是得到的不是我们想要的结果,由此我建议大家写java代码的时候不要省略花括号,这样代码的健壮性与可维护性就要好一些。
最后小编祝大家编程序天天进步,身体健康......