달력

4

« 2024/4 »

  • 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

기존에 논리연산자의 경우 앞 조건으로만도 판단 할 수 있다는 것은 알고 있었지만

오늘 솔데스크 최용석 강사님의 아주 좋은 예제를 바탕으로 쉽게 이해 할 수 있는 예제를 보았다.


이 소스는 솔데스크 자바반 최용석 강사님께서 작성하신 코드입니다.

① int i=1;
② int j=i++;
③ if((i>++j)&&(i++==j)){
④        i+=j;
 }

i 와  j의 값은 ?.
② 에서 = 연산자는 후위식 ++ 보다 우선순위기 때문에 j 에 먼저 i 값이 들어가 j=1 이되고 i=2 가 된다
③ 에서 i>++j 에서 j=2 가 되고 2>2 라는 조건은 거짓이기 때문에 false가 된다.

여기서 논리연산자 ( && , || ) 의 경우 해당 앞조건만으로도 참 , 거짓이 판단이 가능한 경우
뒷조건을 실행하지 않는다.

즉 i++=j 라는 식은 실행하지 않기 때문에 그대로 i=2 , j=2 라는 값을 가지게 된다.

※여기서 비트논리연산자(&,|) 를 사용하면 뒤의 식도 계산을 한다.

'Study > Java' 카테고리의 다른 글

java개발을 위한 여러 IDE 사용해본 후 소감  (1) 2012.10.02
이미지치환 정규식  (0) 2012.10.02
lastIndexOf 와 substring 을 이용한 문자열 자르기 예제  (0) 2011.08.25
AWT Frame 윈도우 정 가운데에 오기  (0) 2011.07.20
캡슐화  (0) 2011.03.20
final  (0) 2011.03.20
static 메소드  (0) 2011.03.19
JVM 메모리 구조.  (0) 2011.03.19
변수의 종류  (0) 2011.03.19
오버로딩 vs 오버라이딩  (0) 2011.03.19
:
Posted by 유쾌한순례자