가능한 중복 :
사전 감량 대 사후 감산
++ i와 i ++의 차이점은 무엇입니까?
방금 깨달은 것입니다.
int i=0;
System.out.println(i++);
인쇄물대신에1. 나는 그것을 생각했다.나는증가되고 그 다음에 인쇄되었습니다. 그 반대가 일어나는 것 같습니다.
왜?
할 때i++
다음 명령까지 증분이 발생하지 않습니다. 게시물 증가라고합니다.
++i will print 1
i++ will print 0
System.out.println(i++);
먼저 i의 값을 인쇄 한 다음 i를 증가시켜야합니다. 포스트 오더 증가.
i++
i를 반환하고 증분을 의미합니다. 그러므로 나는 ++ 후에.
++i
i를 증가시킨 다음 돌아 오는 것을 의미합니다. 그러므로 i 앞에서 ++
i++
=> 평가 후 증분;++i
=> 증분 후 평가.생각 해보세요.for
루프 -i
매 반복마다 증가합니다.
그만큼++
변수가 사후 증가 작업을 정의한 후 즉, 줄의 다른 모든 항목을 실행 한 후에는i
증가합니다. 네가 사용했다면++i
변수는 인쇄되기 전에 증가됩니다.
여기서 찾을 수 있습니다.http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html두 개의 증분 연산자가 있습니다 : i ++ 및 ++ i. ++ 나는 당신이 생각한 것을 ++가 할 것입니다. i ++는 다른 목적을 위해 사용 후 값을 증가시킵니다 (자세한 내용은 링크 참조).
이 값은System.out.println(i++);
처음 0이 지정되면 증가합니다.
당신이하려고한다면System.out.println(++i);
그러면 당신에게 1이 표시 될 것입니다.