我假设您已经定义了一个类和方法。
要编写条件 if/else 语句,您需要在类上使用_if()
and_else()
方法JBody
。这会将语句添加到您定义的方法的主体中。从这些方法中,您可以通过调用或直接返回的_then()
方法来引用并添加到它们的主体中。这是一个例子:_if()
_else()
JBody
JConditional condition = body._if(input.lt(JExpr.lit(42)));
condition._then().add(
codeModel.ref(System.class).staticRef("out").invoke("println").arg(JExpr.lit("hello")));
condition._else().add(
codeModel.ref(System.class).staticRef("out").invoke("println").arg(JExpr.lit("world")));
输出:
if (input< 42) {
System.out.println("hello");
} else {
System.out.println("world");
}
要编写一个 for 循环,有几个选项。传统的 for 循环是使用_for()
JBlock 上的方法编写的,它允许您链接对应于 for 循环声明的各个部分的init()
、test()
和方法:update()
JForLoop forLoop = body._for();
JVar ivar = forLoop.init(codeModel.INT, "i", JExpr.lit(0));
forLoop.test(ivar.lt(JExpr.lit(42)));
forLoop.update(ivar.assignPlus(JExpr.lit(1)));
forLoop.body().add(
codeModel.ref(System.class).staticRef("out").invoke("println").arg(ivar));
输出:
for (int i = 0; (i< 42); i += 1) {
System.out.println(i);
}
对于踢,这是一个工作示例:https ://gist.github.com/johncarl81/7647146