【发布时间】:2016-12-19 15:13:57
【问题描述】:
完整代码: http://pastebin.com/UghV3xdT
我有 2 种几乎相同的方法,它们只能通过一个 if 语句来区分:if (k % 3 != 1) 和 if(k % 2 == 0)。
int k = 0;
while(k<50){
if(k % 3 != 1){ // OR if(k % 2 == 0)
// Code logic goes here
k++;
}
}
每种情况的使用由数组的长度决定,这意味着特定情况只需要确定一次。 'k' 表示另一个数组的索引,50 是这个数组的长度。
我可以写类似if(foo > 1 ? k % 3 != 1 : k % 2 == 0) 的东西,但这需要程序在每次循环运行时执行该操作。
在某种程度上,我想要一种更新布尔值。有没有办法做到这一点,或者这是按值传递的缺点?我应该保留两个单独的方法还是使用三元运算符更好?
本质上,我正在寻找一种包含表达式而不是值的类型。
【问题讨论】:
标签: java boolean pass-by-reference pass-by-value