for(int i = 0; i < (this.width > this.height ? this.width : this.height); i++)
我知道它与if else语句有关。如果不使用这种类型的for循环,我怎么能编码呢?
答案 0 :(得分:3)
这是ternary operation,相当于找到width
和height
的最大数量。您可以使用Math.max(int, int)
之类的
for(int i = 0; i < Math.max(this.width, this.height); i++)
答案 1 :(得分:1)
它的简短(但不是非常易读)形式:
int limit;
if(this.width > this.height)
limit = this.width;
} else {
limit = this.height;
}
for(int i = 0; i < limit; i++)
答案 2 :(得分:0)
我假设你不确定这个意思,这就是所谓的三元操作
(this.width > this.height ? this.width : this.height)
如果它比它高,那就好了,如果然后使用宽度,如果不是那么使用高度。
你'不能在这个操作中使用for循环,但它只是明确地避免for循环并且不比你那里更简单。在这种情况下,它只是试图找到2个值中的最大值,您可以使用Math.max计算出最大的维度,如下所示
for(int i = 0; i < Math.max(this.width,this.height); i++){
//your code
}