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

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

  • 相关阅读:
    Consuming RESTful Web服务
    任务调度
    查看公网出口ip
    Grafana变量
    正则表达式大杂烩
    seata 踩坑记录
    ES 重写分数查询
    浏览器下载文件乱码
    MySQL sql万花油优化
    ubuntu 使用杂记
  • 原文地址:https://www.cnblogs.com/huzi007/p/2714617.html
Copyright © 2020-2023  润新知