if else语句的{}初学时还是写上比较好

文章讲述了在Java代码中,if-else语句的花括号如何决定代码执行范围,以及不使用花括号可能导致的逻辑错误。作者通过实例说明了正确使用花括号对减少bug和提高代码可读性的重要性。
摘要由CSDN通过智能技术生成

问题在代码注释里。我的一个不带花括号的写法:

//i=0;输出0,2,3,5,9,17,33,65    2的0次方加1,2的1次方加1,2的2次方加一......
import static java.lang.Math.*;
public class DoWhile01 {
    public static void main(String[] args) {
        int i=0;
            do {
                if(i==0)
                    {System.out.println(i);}
                else//现在是没写花括号,电脑默认只执行第一行,输出正确
                    System.out.println(Math.pow(2, i) + 1);
                    i++;
            }
            while (i < 7);
    }
}

代码运行如下

我后来一想还是加上花括号的好,毕竟那样更容易阅读,于是改了一下:

import static java.lang.Math.*;
public class DoWhile01 {
    public static void main(String[] args) {
        int i=0;
            do {
                if(i==0)
                    {System.out.println(i);}
                else {//我的idea直接将else这小段代码改成灰色
                    System.out.println(Math.pow(2, i) + 1);
                    i++;
                }
            }
            while (i < 7);
    }
}

 结果一直在输出0,再一看发现是i++写错地方了,在else里面同时i由无法自增满足不了执行else语句的条件,这就只能一直输出0了。这也可以看出我第一次的代码纯属歪打正着,运气好了😓。

第二次改动,将花括号覆盖的范围缩小到第一行,使得i++不受第一次的选择判断影响

import static java.lang.Math.*;
public class DoWhile01 {
    public static void main(String[] args) {
        int i=0;
            do {
                if(i==0)
                    {System.out.println(i);}
                else {
                    System.out.println(Math.pow(2, i) + 1);
                }
                    i++;
            }
            while (i < 7);
    }
}

成功输出!!!

 

总结:if else语句中花括号起着标记领域的作用,else的执行语句就是花括号里的所有代码。如果省去花括号的书写,那么要执行的只是第一个分号之前的代码。写花括号,不仅可以减少bug,并且可以从一个一个的模块加深对自己写的代码的理解。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值