blob: f9e95b635048da29f1b365672544a0e5c8b5080a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/*--------------------------------------------------------------------------*/
/* file_name : err5.java */
/* : */
/* Cause : Evaluation order of method argument is not correct. */
/* : */
/* Message : NG */
/* : a:[1]-->[2] */
/* : b:[3]-->[3] */
/* : c:[2]-->[2] */
/* : */
/* Note : JLS 15.6 Evaluation Order */
/* S15.6.4 Argument Lists are Evaluated Left-to-Right(p309) */
/* [Each argument expression appears to be fully evaluated */
/* before any part of any argument expression to its right.] */
/*--------------------------------------------------------------------------*/
public class err5 {
public static void main(String[] args) {
int x = 1;
err5 obj = new err5();
obj.print(x, x = 3, x = 2);
}
void print(int a, int b, int c) {
if ( a == 1 && b == 3 && c == 2 ) {
System.out.println("OK");
} else {
System.out.println("NG");
System.out.println("a:[1]-->["+a+"]");
System.out.println("b:[3]-->["+b+"]");
System.out.println("c:[2]-->["+c+"]");
}
}
}
|