您的位置:首页 > 编程语言 > Java开发

Java中流程控制语句中的陷阱

2012-10-07 23:22 337 查看
  我们都应该知道java有常见的流程结构。有顺序结构、分支结构与循环结构。这三种结构在编写程序中我们常常遇到,虽然用这点东西很简单,但是有时我们难免会犯小错。由此我与大家分享一下那些语句块中所存在的陷阱。

  switch语句的陷阱:

在switch语句之后可以包含一个default分支,从字面意义上来讲这个分支是默认的分支,它是当其他条件都不满足的时候才执行。break语句的使用不能忽视,它是结束当前分支的执行体。switch表达式的类型也不能搞错,它只能是5种类型:byte、short、int、enum、char,值得注意的是switch表达式不能是String类型。

  if语句的陷阱:

在使用if语句的时候,我们通常都与else这个亲密一下。else的字面意义是"否则",隐含的条件是其他的条件都符合的时候才执行这里面的代码块。而else if的条件是if的显示条件与else隐示条件的交集。如果使用不当,得到的结果不是我们想要的结果。比如说我们在限制条件的时候想处理大的条件,在处理小的条件就容易犯错。如果想将小的条件限制好,在处理大的条件,这样做出来的程序更有健壮性。

  循环语句的一些陷阱:

小心循环计数器的值,看以下代码:

View Code

public class Test {

public static void main(String[] args) {

//简单的循环,试图循环10次
for (int i = 0; i < 10; i++) {
System.out.println("i的值为:"+i);
i*=0.1;
}
}

}


本想得到想要的结果,结果却由于计数器的不小心让结果很意外,成了死循环,并且i的值都为1。0.0

还有就是在for循环中,for循环的初始条件可以同时定义多个变量,但是由于只有一条语句,所有这两个变量的类型必须是相同的。

最后一个就是foreach中应该注意的问题了。在使用foreach循环迭代数组、集合的时候,循环计数器只是保存了当前正在遍历数组、集合元素的值,并不是数组、集合元素的本身,因此不要对foreach循环的循环计数器进行赋值,那是没有任何意义的。

  最好不要省略花括号:有时候少写这些控制语句的花括号确实让代码简洁了一些,但是却很易报错或者是得到的不是我们想要的结果,由此我建议大家写java代码的时候不要省略花括号,这样代码的健壮性与可维护性就要好一些。

  最后小编祝大家编程序天天进步,身体健康......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: