Java If 语句简写形式

Java If-Statement short form

我找到了以下代码:

  static void CreatePartys(int n) 
{ 

    int num = 0;
    int[] e = new int[n];
    e[num] = n;

    while (true) 
    { 
         int part = 0; 
        count = count +1;

        while (num >= 0 && e[num] == 1) 
        { 
            part += e[num]; 
            num--; 
        } 

        if (num < 0)  return; 

        e[num]--; 
        part++; 

        while (part > e[num]) 
        { 
            e[num+1] = e[num]; 
            part = part - e[num]; 
            num++; 
        } 

        e[num+1] = part; 
        num++; 
    } 
} 

我被困在 if 语句中,我以前从未见过,甚至在 Java 书中也没有见过。

 if (num < 0)  return; 

它是什么return?真,假,一个数字?

if 后跟一个语句。以下是有效代码:

if (a > 5) b = c + 2;

这里b = c + 2;是一个正常的语句。

但是语句也可以用大括号来定义。您也可以在普通代码中使用大括号,如下所示:

long i = 3;
long j = 4;
long k = 9;

{ i = j + 7; }

{ i = i * k + 123; }

i = 345;

{ k = j * 10; }

{
  i = 234 * j; 
  k = 12 * j;
  System.out.println(i);
}

这种形式通常没有意义,因为它使代码难以理解 :) 但这是可以正确编译的有效代码。

你经常看到的if后面就是上面这样的语句

为什么我们经常在 if 后面看到大括号? 在 if 之后恰好执行了 one 语句。如果你有像

这样的代码
if (a > 5)
b = c + 2;
k = i + 3;

那么语句b = c + 2;将在条件a > 5成立时执行。但是语句 k = i + 3; 将被执行 always,独立于 a > 5

如果您希望 both 语句仅在 a > 5 成立时执行,那么您可以使用大括号:

if (a > 5) {
  b = c + 2;
  k = i + 3;
}

当你想只执行一条取决于if的语句时,你可以省略大括号。但是您在项目中的队友可能不确定您是否打算省略大括号,或者这是否只是一个错误。为了避免任何此类疑虑,许多项目中的编码指南要求 any 语句在 if 之后必须使用大括号,无论该语句多么简单。

简短说明:

如果你只写return;您可以停止当前方法的执行。

如果语句后面只有一个语句,则不需要大括号

if(2<variable)
   System.out.println("inIf")

System.out.println("outsideIf")

所以。 if (num < 0) return;

只是表示:当number小于0时停止执行方法 不会调用该方法中的其他代码