如何使用If-Statement而不添加大括号?

时间:2017-04-17 01:21:42

标签: java

java newbie here.I我正在编写codebat上的数组问题。

您可以在codingbat找到此问题。

问题在于:"给定一组int,如果它不包含1,则返回true,或者它不包含4"

我使用booleanif-statement解决了这个问题。

我的代码:

public boolean no14(int[] nums) {
    boolean find1s=false;
    boolean find4s=false;

    for(int i=0;i<nums.length;i++){
        if(nums[i]==1)
            find1s=true;
        if(nums[i]==4)
            find4s=true;
    }

    if(ones && fours)
        return false;
    else
        return true;
}

问题是当我尝试在我的第一个if语句中添加{}时,总是需要我返回一些内容。所以我删除了{},这是对的。

那么我可以使用没有花括号的if语句吗?我什么时候能做到?

1 个答案:

答案 0 :(得分:5)

在Java中,大括号({})仅在具有多个语句的条件块周围必需。否则,只有第一个是有条件地执行的。实质上:

if (something)
    doThing1();
    doThing2();
doThing3();

真的是

if (something){
    doThing1();
}
doThing2();
doThing3();

虽然在这些单一语句条件部分中确实不是 ,但在任何情况下都使用它们是非常好的做法:使用大括号#39;它们需要它们是无害的和未来的证据,但是在你需要的地方不使用它们会在过去造成真正灾难性的错误。