zoukankan      html  css  js  c++  java
  • Java中流程控制语句中的陷阱

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

      switch语句的陷阱:

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

      if语句的陷阱:

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

      循环语句的一些陷阱:

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

    View Code
     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代码的时候不要省略花括号,这样代码的健壮性与可维护性就要好一些。

      最后小编祝大家编程序天天进步,身体健康......

  • 相关阅读:
    VCL源码修改立即生效
    让C++控制台程序停下来,实现暂停功能
    Ubuntu系统中初次下载Android源码的一点经验
    理解SetCapture、ReleaseCapture、GetCapture(控制了消息发往哪个窗口,即消息窗口)
    又发现2个高人写的Delphi图文并茂的消息研究
    0x0118消息就是WM_SYSTIMER
    QT信号槽与Delphi事件的对比
    使用VS2005安装和编译QT4.53源码
    使用SmsManager服务群发短信
    减小VirtualBox虚拟硬盘文件的大小
  • 原文地址:https://www.cnblogs.com/huzi007/p/2714617.html
Copyright © 2011-2022 走看看