Try to predict the output of following code:
The output is
This unpredictable output is due the fact that the compiler evaluates the given expression from left to right given that the operators have same precedence. Once it encounters the String, it considers the rest of the expression as of a String (again based on the precedence order of the expression).
- System.out.println(2 + 0 + 1 + 6 + “GeeksforGeeks”); // It prints the addition of 2,0,1 and 6 which is equal to 9
- System.out.println(“GeeksforGeeks” + 2 + 0 + 1 + 6); //It prints the concatenation of 2,0,1 and 6 which is 2016 since it encounters the string initially. Basically, Strings take precedence because they have a higher casting priority than integers do.
- System.out.println(2 + 0 + 1 + 5 + “GeeksforGeeks” + 2 + 0 + 1 + 6); //It prints the addition of 2,0,1 and 5 while the concatenation of 2,0,1 and 6 based on the above given examples.
- System.out.println(2 + 0 + 1 + 5 + “GeeksforGeeks” + (2 + 0 + 1 + 6)); //It prints the addition of both 2,0,1 and 5 and 2,0,1 and 6 based due the precedence of ( ) over +. Hence expression in ( ) is calculated first and then the further evaluation takes place.
This article is contributed by Pranjal Mathur. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.
- Java 8 | Consumer Interface in Java with Examples
- Java | How to start learning Java
- Java Clock tickMinutes() method in Java with Examples
- Java Clock withZone() method in Java with Examples
- Java 8 | BiConsumer Interface in Java with Examples
- Java 8 | DoubleToIntFunction Interface in Java with Example
- Java 8 | IntToDoubleFunction Interface in Java with Examples
- Java 8 | DoubleToLongFunction Interface in Java with Examples
- Java 8 | IntToLongFunction Interface in Java with Examples
- Java IO : Input-output in Java with Examples
- Classes and Objects in Java
- Access and Non Access Modifiers in Java
- Difference between x++ and x=x+1 in Java
- Output of Java Programs | Set 45 (static and instance variables)
- Difference between throw and throws in Java
- Structure and Members of the Java Program
- Compilation and Execution of a Java Program
- Program to find Quotient And Remainder in Java
- Unreachable statement using final and non-final variable in Java
- Similarities between Java and C++