이 글은 주로 자바의 자기증가와 자기감소 연산 과정을 소개하는 내용으로 매우 훌륭하고 참고할만한 가치가 있습니다. 필요하신 분들은 참고하시면 됩니다.
더 이상 헛소리하지 말고 직접 포스팅하겠습니다. , 구체적인 코드는 다음과 같습니다:
public class Add { public static void main(String[] args) { int i = 0; i=i++ + ++i; int j = 0; j= ++j + j++ + j++ + j++; int k = 0; k=k++ + k++ + k++ + ++k; int h = 0; h=++h + ++h; int p1=0,p2=0; int q1=0,q2=0; q1=+p1; q2=p2++; System.out.println("i "+i); System.out.println("j "+j); System.out.println("k "+k); System.out.println("h "+h); System.out.println("p1 "+p1); System.out.println("p2 "+p2); System.out.println("q1 "+q1); System.out.println("q2 "+q2); } }
Output
i 2 j 7 k 7 h 3 p1 0 p2 1 q1 1 q2 0
분석: i++와 ++i의 차이점은 프로그램이 실행된 후 자동 증가한다는 것입니다. 완료되고 다른 하나는 프로그램이 시작되기 전 자동 증가입니다.
"i=i++ + ++i"의 실행 과정은 i++를 먼저 실행하는 것이지만, i를 1씩 증가시키는 연산은 나중에 실행되므로 이때는 여전히 i가 0이고 그 다음에는 ++ i,++가 실행됩니다. i 이후의 i 값은 1입니다. ++i를 실행한 후 i++를 추가해야 하므로 이때의 i 값은 실제로 2, 0+2=2가 되어 i에 할당됩니다. i의 최종 값은 2입니다.
"j= ++j + j++ + j++ + j++", 실행 프로세스는 먼저 ++j이므로 j의 값은 1이 되고 j++를 실행합니다. j++ 이후의 j 값은 여전히 1이고 j++를 실행합니다. 실행 후 결과는 여전히 1이지만 j++는 이제 보완이 필요하므로 이때 j의 실제 값은 2이고 마지막 j++ 실행 후 결과는 여전히 2이지만 지금은 j++를 보완해야 하므로 이때 j의 값은 실제로 3이므로 1+1+2+3=7이 되고 j에 할당됩니다. j의 최종 값은 7입니다.
“k=k++ + k++ + k++ + + +k"는 k++에 의해 먼저 실행되므로 k의 값이 0이 된 다음 k++가 실행됩니다. k++ 이후, k 값은 여전히 0이지만 이전 k++를 보완해야 하므로 이때 실제로 k 값은 1이고 마지막 k++를 다시 실행하면 실행 후 결과는 여전히 1이지만 이전 k++ 보완이 필요하므로 이때 K의 값은 실제로 2가 된다. 최종적으로 ++k가 실행되고 실행 결과는 3이 된다. 그러면 이전 k++가 보완되므로 k의 실제 결과는 4가 된다. +1+2+4=7을 k에 할당하면 k의 최종 값은 7이 됩니다.
"h=++h + ++h"는 h를 먼저 증가시키고, h 값을 1로 증가시킨 다음, h 값을 2로 증가시켜서 1+2=3이 됩니다. h의 최종 값은 3입니다.
"q1=++p1"은 먼저 p1을 증가시키고 p1의 값은 1이 된 다음 이를 q1에 할당하므로 q1의 값은 다음과 같습니다. 1.
" q2=p2++" 먼저 p2를 q2에 할당하고 q2의 값이 0이 된 다음 p2를 증가시키므로 p2의 값은 1이 됩니다.
위 내용은 Java 자체 증가 및 자체 감소 연산 프로세스에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!