java 면접문제-연산자++ 선후
A. 4
B. 5
C. 3
D. 6
java 기초면접 20문제 - 정답 해석판
정답은 B.
int i = 1 ;
int j = i++ ;
i++, 우선 값을++에 부여하고,
이곳을 지나다
i=2 j=1
다음 단계
if((i==(++j))&&((i++)==j)){}
if의 & & & 판단은 왼쪽에서 오른쪽으로 (i==(++j))
++j, 먼저++ 비교
이제 j=2, i==j가 true가 됩니다.
(외화 & & 왼쪽이false이면 오른쪽이 실행되지 않습니다. 여기는 구덩이를 파서 문제를 읽고 세심하게 관찰할 수 있습니다)
계속 걷기((i++)==j))
i++, 먼저++를 비교하고,
이 때 i=2, i==j는 true입니다.if 블록에 들어가기 전 i++, i=3
i += j ;
i=3,j=2,
마지막 i=3+2=5.
단점으로 한 걸음 한 걸음 결과를 보고 싶다면if의 & & & 를 뜯어서 쓰는 것을 권장합니다.코드는 다음과 같다.
public static void main(String args[]) {
int i = 1 ;
int j = i++ ;
if((i==(++j))){
if(((i++)==j)){
i += j ;
}
}
System.out.println("i = "+i);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 네트워크 프로그래밍의 UDP 서버 및 클라이언트 프로그램서버: 클라이언트: UDP: 클라이언트를 열어 데이터를 받을 때까지 기다린 다음 서버를 열어 데이터를 보냅니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.