chqhchqh
269
2021-03-10 13:27:39
5
171

초보적 질문 = vs ==


초보적 질문을 드려서 죄송합니다...


말 그대로  =  와  ==의 차이를 잘 모르겠습니다.   대부분  = 로 쓰는 것 같은데  ==는 값(숫자) 비교할 때 쓰는 건가요?


추가적으로 <> 와 != 의 차이도....

<> 쓰는 경우는 못본 것 같은데...

0
  • 답변 5

  • 성능최적화계획
    525
    2021-03-10 13:36:45 작성 2021-03-10 13:38:14 수정됨

    모든 언어가 그런지는 모르겠으나,

    = : 대입연산자. 우항을 좌항에 대입

    == : 비교연산자. 좌항과 우항이 같을 경우 true

    <>, != : 비교연산자. 좌항과 우항이 다를 경우 true

  • 잡초123
    218
    2021-03-10 13:54:21

    수학에서 같다의 의미는 = 인 것처럼

    코드에서 같다의 의미는 ==라고 표현합니다.

    코드에서의 = 는 같다의 의미가 아닌 우항에 있는 값을 좌항에 넣는다는 뜻이죠

    예를 들어

    int b = 0;

    int a;

    a= b;

    라고 가정한다면

    b의 값을 a에 넣어라가 되겠고

    a == b 는

    a의 값과 b의 값이 같냐를 물어보는 것입니다.

    <>,!= 의 경우

    좌항과 우항이 같지 않냐를 물어보는 것입니다.

    a <> b 또는

    a != b 는

    a와 b의 값이 같지 않냐를 물어보는 것이죠

    a값과 b의 값이 둘 다 0 인경우

    a == b 는 a,b 두개의 값이 같기 때문에 true 를 리턴해줄것이고

    a != b 는 a,b 의 값이 같지만 둘이 같지 않냐를 물었기 때문에 false 값을 리턴해줄 것입니다


  • chqhchqh
    269
    2021-03-10 14:20:36

    명확하게 이해가 됐습니다. 정말 답변 감사드립니다.  <>와 != 는 차이가 없는 건가요?  일반적으로 !=를 주로 사용하는게 맞나요?

  • 야근냥
    487
    2021-03-10 14:48:58

    연산자의 경우 언어마다 조금씩 다를수가 있습니다.

    RDMS 쿼리에선 = 는 비교문으로 쓰이고, 자바에선 대입문으로 쓰입니다. 



    또 oracle의 경우 != 와 <>는 같습니다. !=는 실행될때 자동으로 <>로 변환해줍니다. 성능상 완전히 같지만 SQL MAPPER인 MYBATIS에선 <자체에 구문시작이라는 의미가 있기 때문에 !=으로 더 많이 사용할것 같습니다. 

  • chqhchqh
    269
    2021-03-12 08:13:41
    야근냥님 답변 감사드립낟.
  • 로그인을 하시면 답변을 등록할 수 있습니다.