To jest mój kod:println nie drukuje wartość oczekiwaną
public static void main(String[] arg)
{
String x = null;
String y = "10";
String z = "20";
System.out.println("This my first out put "+x==null?y:z);
x = "15";
System.out.println("This my second out put "+x==null?y:z);
}
moje wyjście jest:
20
20
Ale spodziewam się następująco:
This my first out put 10
This my second out put 20
mógłby ktoś wytłumaczyć dlaczego otrzymuję "20" jako wynik dla obu połączeń println?
Odpowiedź Sumit Singh wyjaśnia, dlaczego wynik jest taki, jaki jest. Powodem jest pierwszeństwo operatora, patrz [ten dokument] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) – jlordo
@ kodery, które zaakceptowałem – Suranga