实现goto语句

时间:2012-12-21 09:46:24

标签: java coding-style goto

实际上我正在尝试研究使用GOTO语句进行模糊处理的代码 说..

private void fun()
{
if(somecondition)
    goto LABEL3;

...
...

LABEL3:
    return;
    Exception e;
    e;
    if(true) goto LABEL3; else LABEL7;


...
...

LABEL7:
    //some statements
}

并在通过IF声明调用LABEL3时,
功能会停止吗? LABEL7会被叫到吗?
该计划将如何发展?

这是一个反编译的java类文件
反编译的类文件,其中一些语句被goto替换(例如,WHILE与goto和IF组合)使它们变得困难阅读。

修改

Becoz我认为反编译的类文件完全不符合java语法,我发布了这个问题但反过来用于生成伪代码的反编译器通常保留了一些原生语法。是的,没有goto,但它只是伪关键字,是的,LABEL3可能会返回,其他人无法访问。

2 个答案:

答案 0 :(得分:3)

这段代码看起来像jad的输出,当它无法完全反编译.class

如果是这种情况,请检查错误(在类文件末尾的java注释中)。它可能会有一些与你发布的代码块有关。

答案 1 :(得分:1)

如果条件if(somecondition)成立,则该函数将退出。因此,LABEL7将不会被调用。 return应该表示“从函数返回”而不是从goto-block返回。至少如果Java(或其他语言,如注释似乎不是Java)没有改变gotoreturn的通常定义。

实际上,我想知道return;之后的所有这些内容是什么。永远不应该调用它,因为在return(标签)之后没有其他入口点。