有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以在if/else语句中编写这个冒号?

根据我所阅读的内容,Java中的“:”充当if/then/else语句。在我的代码中,我想用它应该表示的实际代码替换这个操作符,但是我想出了一个大脑屁

int array[] = new int[]{x,y,z};
int neg = 0;
for (int n : array) 
{
  if (n<0) {
    neg++;
  }
} 

基本上,我试图读取数组并列出负片的数量,但是我想在没有这个操作符或for语句的情况下尝试。我觉得这是可能的(因为我处理的是数组中有限数量的整数),但我不完全确定在没有赋值的if/else语句中如何使用int n。有点像大脑放屁


共 (2) 个答案

  1. # 1 楼答案

    在下面的代码片段中,您要为数组中的每个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

  2. # 2 楼答案

    For-Each operator:不同于三元运算符(JLS-15.25:。你可以这样做

    // if (n<0) {
    //   neg++;
    // }
    neg += (n < 0) ? 1 : 0;