2011. 7. 6. 17:59
논리연산자 와 연산자 우선순위에 대한 정말 좋은 예제 = 솔데스크 최용석 강사님 = Study/Java2011. 7. 6. 17:59
기존에 논리연산자의 경우 앞 조건으로만도 판단 할 수 있다는 것은 알고 있었지만
오늘 솔데스크 최용석 강사님의 아주 좋은 예제를 바탕으로 쉽게 이해 할 수 있는 예제를 보았다.
이 소스는 솔데스크 자바반 최용석 강사님께서 작성하신 코드입니다.
① 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 라는 값을 가지게 된다.
※여기서 비트논리연산자(&,|) 를 사용하면 뒤의 식도 계산을 한다.
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 |