【问题标题】:label: before if statement标签: if 语句之前
【发布时间】:2016-02-11 05:50:58
【问题描述】:

嗨,我有 Java 函数,我想看看 getResult("92972317") 返回什么。 我不知道什么标签:如果之前意味着..这是代码:

public static int getResult(String paramString)
{
    int i = 0;
    int j = 1;
    int k = 0;
    if (k >= paramString.length()) {
      return i * 3 + 5371;
    }
    int m = Integer.parseInt(paramString.substring(k, k + 1));
    if (j != 0)
    {
      i += m * 7;
      label47:
      if (j == 0) {
        break label70;
      }
    }
    label70:
    for (j = 0;; j = 1)
    {
      k += 1;
      break;
      i += m * 3;
      break label47;
    }
  }

我想知道的是 if 语句之前的这些“label47:”和“label70:”是什么意思以及它的作用.. 谁能帮帮我?

【问题讨论】:

  • 谁把这些标签放在那里?

标签: java if-statement return label


【解决方案1】:

看起来注释代码的人只是将标签用作某种 goto 语句。但是java中没有goto语句。当我尝试编译此代码时,它甚至在我尝试使用 java8 时都不起作用。在我看来像垃圾代码。

【讨论】:

  • 谢谢,你知道 (j=0;;j=1) 在这里是什么意思吗?对于 (j = 0;; j = 1) { k += 1;休息;我+=米*3;打破标签47; }
  • 是的,就像我说的;看起来编写代码的人试图将标签用作 goto 语句。但是代码甚至没有编译,所以它似乎被破坏了
【解决方案2】:

从标记和未标记的 java 开始的最佳参考 break 是 Oracle 文档中的 here

【讨论】:

    猜你喜欢
    • 2017-08-14
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    相关资源
    最近更新 更多