Java에서 "++ x"와 "x = x + 1"표현식의 기술적 차이점은 무엇입니까?


대답 1:

친애하는 친구, 친절하게 선생님에게 그들이 이런 종류의 질문에 스스로 대답하는 데 사용했기 때문에 그들이 전문가라고 말하십시오.

어떤 식 으로든 질문에 도달합시다.

x = 9라고하겠습니다. 이제 어떤 식에서 ++ x를 사용하면 x의 값이 먼저 증가한 다음 사용됩니다. 즉, ++ x를 사용할 때마다 9 대신 10이 사용됩니다. 다른 변경이 발생할 때까지 값은 10으로 유지됩니다.

이제 (x = x + 1 또는 x + = 1 또는 x ++)를 사용하면 값이 먼저 사용되고 증가합니다. x = x + 1이 첫 번째로 사용되는 식은 값 9를 사용하고 다른 변경이 발생할 때까지 값 10은 x에 저장됩니다.

차이점이 분명하다고 생각합니다. 그렇지 않은 경우 의견을 남겨주십시오.


대답 2:
quora 클래스 {public static void main (String [] args) {int x = 5; x = x + 1; System.out.println (x); x ++; System.out.println (x); }}
"quora.java"클래스에서 컴파일 quora {quora (); 코드 : 0 : aload_0 1 : invokespecial # 1 // 메소드 java / lang / Object. " ":() V 4 : 공개 정적 무효 반환 main (java.lang.String []); 코드 : 0 : iconst_5 1 : istore_1 2 : iload_1 3 : iconst_1 4 : iadd // x = x + 1 5 : istore_1 6 : getstatic # 2 // 필드 java / lang / System.out : Ljava / io / PrintStream; 9 : iload_1 10 : invokevirtual # 3 // 메소드 java / io / PrintStream.println : (I) V 13 : iinc 1, 1 // x ++ 16 : getstatic # 2 // 필드 java / lang / System.out : Ljava / io / PrintStream; 19 : iload_1 20 : invokevirtual # 3 // 메소드 java / io / PrintStream.println : (I) V 23 : 반환}