Java 如何使用codemodel库生成循环和条件

Java 如何使用codemodel库生成循环和条件,java,sun-codemodel,Java,Sun Codemodel,我一直在努力学习如何使用Sunscodemodel库,而生成for循环和if-else块的过程让我感到十分困惑。我正在努力学习如何为if-else块和for循环生成条件,同时还要学习如何生成这些块的主体 例如: if (condition) { //How is this condition generated? //How is this body filled? } else { } 对于循环: for(condition) { //How is this conditio

我一直在努力学习如何使用Sunscodemodel库,而生成for循环和if-else块的过程让我感到十分困惑。我正在努力学习如何为if-else块和for循环生成条件,同时还要学习如何生成这些块的主体

例如:

if (condition) { //How is this condition generated?
     //How is this body filled?
} else {

} 
对于循环:

for(condition) {  //How is this condition generated?
   //How is this body filled?
}

我将假设您已经定义了一个类和方法

要编写条件if/else语句,需要在
JBody
类上使用
\u if()
\u else()
方法。这会将语句添加到已定义的方法体中。从这些方法中,您可以通过调用
\u if()
\u else()
上的
\u then()
方法直接返回
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 (int i = 0; (i< 42); i += 1) {
    System.out.println(i);
}
哪些产出:

if (input< 42) {
    System.out.println("hello");
} else {
    System.out.println("world");
}
for (int i = 0; (i< 42); i += 1) {
    System.out.println(i);
}
for(int i=0;(i<42);i+=1){
系统输出打印LN(i);
}

对于kicks,这里有一个工作示例:

For与if和else无关。不清楚你想在这里做什么。如果要在条件为真时继续执行某项操作,请使用while(条件)。如果你想根据条件的真实性做一件事或另一件事,只需使用If和else。身体只是一系列的陈述,就像你把if/else放在哪里一样。对不起,我写的东西不清楚。我不知道如何编写if-else块的主体以及如何编写for循环及其主体的条件。对于像我这样被这个问题弄糊涂的人来说,Sun Codemodel显然是一个生成Java代码的Java库,所以问题不是“我如何编程?”而是“这个特定的库如何工作?”这正是我想要的答案,非常感谢!上没有JBody类?我遗漏了什么吗?不,定义块时返回。例如打电话时]