继续使用if语句java

时间:2017-07-04 18:18:02

标签: java if-statement continue

为什么我不能继续使用? :运营商:

public class TestArray {

public static void main(String[] args) {
  double[] myList = {1.9, 2.9, 3.4, 3.5};

  // Print all the array elements
  for (int i = 0; i < myList.length; i++) {
     System.out.println(myList[i] + " ");
  }


  // Finding the largest element
  double max = myList[0];
  for (int i = 1; i < myList.length; i++) {
     myList[i] > max ? max = myList[i] : continue ;
  }
  System.out.println("Max is " + max);  
}
} 

3 个答案:

答案 0 :(得分:1)

三元运算符不起作用。它用于根据布尔表达式返回两个值中的一个。

x = statement ? value1 : value2

如果那不是您想要的,那么请使用简单的if else语句。只需替换为:

for (int i = 1; i < myList.length; i++) {
    if(myList[i] > max)
        max = myList[i]
}

如果您愿意,还可以查看.max()

Arrays.stream(myList).max()

以及它如何运作的更多内容:Java 8 stream's .min() and .max(): why does this compile?

答案 1 :(得分:0)

三元运算符就像这种方法一样:

public static <R> R ternaryOperator(boolean condition, R onTrue, R onFalse) {
    if (condition == true) {
        return onTrue;
    } else {
        return onFalse;
    }
}

你认为你能写出这样的东西吗?

ternaryOperator(myList[i] > max, max = myList[i], continue)

答案 2 :(得分:-2)

使用普通if语句,因为三元运算符返回值。