programing tip

! =와 =!의 차이점은 무엇입니까?

itbloger 2020. 12. 29. 06:45
반응형

! =와 =!의 차이점은 무엇입니까? 자바?


이 질문에 이미 답변이 있습니다.

모의 OCJP 질문을 살펴보고 있었습니다 . 정말 당혹스러운 구문을 발견했습니다. 여기있어:

class OddStuff {
    public static void main(String[] args) {
        boolean b = false;
        System.out.println((b != b));// False
        System.out.println((b =! b));// True
    }
}

출력이 !=사이에서 변경되는 이유는 무엇 =!입니까?


문제는 혼란스러운 간격을 가지고 노는 것입니다.

b != b일반적인 !=(같지 않음) 비교입니다.

반면에 :

b =! b다음과 같이 b = !b구문 분석되는 것이 더 좋습니다 .

b = (!b)

따라서 두 연산자입니다.

  1. 먼저 반전 b.
  2. 그런 다음에 다시 할당합니다 b.

할당 연산자는 할당 된 값을 반환합니다. 따라서 (b =! b)인쇄 한 내용이 참으로 평가됩니다.


b != b의미 ! (b == b): b == b.

b =! b실제로 b = !b는 할당입니다. b의 가치를 토글하고 있습니다. 할당은 표현식의 값으로 평가되므로 값이 !b변경됨과 함께 다음으로 평가됩니다 b.


b=!b과제입니다. 그것은 할당 b!b되고, 얻어진 값을 평가하여 표현 true.


b =!

당신은 할당을하고 있고, 당신은 B가! B의 값을 가져야한다고 말하는 것입니다.

b! = b

B가 b와 다른지 묻습니다.

참조 URL : https://stackoverflow.com/questions/8825840/what-is-the-difference-between-and-in-java

반응형