>Java >java지도 시간 >Java 자체 증가 및 자체 감소 연산 프로세스에 대한 자세한 소개

Java 자체 증가 및 자체 감소 연산 프로세스에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-21 10:58:351681검색

이 글은 주로 자바의 자기증가와 자기감소 연산 과정을 소개하는 내용으로 매우 훌륭하고 참고할만한 가치가 있습니다. 필요하신 분들은 참고하시면 됩니다.

더 이상 헛소리하지 말고 직접 포스팅하겠습니다. , 구체적인 코드는 다음과 같습니다:

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.