Java:" for"改变条件?

时间:2017-03-28 16:04:37

标签: java

let express = require('express');
let app = express();


/*
 *  Option 1
 *  GET:  /dynamic1
 *  GET:  /dynamic2/:param1
 *  POST: /dynamic3/:param1/:param1
 **/
 app.use(require('CustomRoutes')());


/*
 *  Option 2
 *  GET:  /api/v1/dynamic1
 *  GET:  /api/v1/dynamic2/:param1
 *  POST: /api/v1/dynamic3/:param1/:param1
 **/
 app.use('/api/v1', require('CustomRoutes')());

我可以通过布尔值更改条件吗? 在我的代码中 b =条件转换为true或false 。我希望通过条件保留它。

2 个答案:

答案 0 :(得分:2)

此:

b = (boolean)(i < variable);

并不意味着b&#34;的价值绑定&#34;条件i < variable。即,并不意味着当i更改为大于variable的值时,b的值也会发生变化。 b仅分配一次。

您可以将i < variable置于循环条件中,也可以使用lambda(谓词):

// assuming i is int
IntPredicate b = x -> x < variable;

// change the loop
for(i = firstR; b.test(i) ; i++){

如果你不知道lambda是什么,它们基本上代表匿名类。上面代码中的lambda表达式表示此匿名类:

new IntPredicate() {
    public boolean test(int x) {
        return x < variable;
    }
}

IMO,你不应该使用谓词。只要在适当的位置正确地写出条件。以这种形式理解for循环更容易:

for (i = x ; i < y ; i++)

比这种形式:

for (i = x ; b ; i++)

答案 1 :(得分:0)

如果你想要一个布尔条件,那么你应该改变

for(i = firstR; b; i ++)


while(b)//做点什么

或while(i&lt; variable)