다음 Java 코드에서 약간 혼란 스럽습니다. 먼저 할당 문을 참 또는 거짓 대신 부울 변수 ... boolean bvalue = (b = true)
에 할당하는 것으로 보입니다.Java Boolean 할당 혼동
출력은 TRUE
, FALSE
, TRUE
입니다. 출력의 세 번째이자 마지막 TRUE는 bvalue가 최초의 if-conditional에 대해 true로 평가되기 때문에 당황 스럽습니다. 명시 적으로 false를 bvalue에 할당하는 코드는 표시되지 않습니다. 모든 유용한 의견은 크게 감사하겠습니다.
boolean b;
boolean bvalue = (b = true);
if (bvalue)
System.out.println("TRUE");
else
System.out.println("FALSE");
if (bvalue = false)
System.out.println("TRUE");
else
System.out.println("FALSE");
if (bvalue == false)
System.out.println("TRUE");
else
System.out.println("FALSE");
당신이 컴파일 확실 bvalue == FALSE '가 아닌'bvalue = false' –
FYI는'if (bvalue == false)'대신'if (! bvalue)'를 사용합니다. –