从我读过的内容来看,":"在Java中充当if / then / else语句。在我的代码中,我想用它应该代表的实际代码替换这个运算符,但是我想出了一个大脑放屁。
int array[] = new int[]{x,y,z};
int neg = 0;
for (int n : array)
{
if (n<0) {
neg++;
}
}
基本上我试图读取数组并列出底片的数量,但是我想在没有此运算符或for语句的情况下尝试它。我觉得它是可能的(因为我正在处理数组中有限数量的整数)但是我并不完全确定当它没有赋值时如何将int n写入if / else语句。有点大脑放屁。
答案 0 :(得分:0)
For-Each operator :
与三元运算符(JLS-15.25):
不同。你可以做点什么
// if (n<0) {
// neg++;
// }
neg += (n < 0) ? 1 : 0;
答案 1 :(得分:0)
在下面的代码片段中,您要对数组中的每个int n进行检查,如果n小于0,则为真,将1添加到neg。
for (int n : array)
{
if (n<0) {
neg++;
}
}
你仍然需要做
for(int n : array)
但是可以在里面进行检查
neg += (n < 0) ? 1 : 0;
转换为,如果n小于0则将1加到neg,如果不加0则为。
以下是一些很好的例子。 http://alvinalexander.com/java/edu/pj/pj010018