2016-11-06 7 views
-3

여기가 저의 첫 번째 질문이며 커뮤니티에 가입하게되어 기쁩니다. 내일 시험이 있고, 예제 중 하나에 정확한 동작이 이루어집니다 무슨 라인i = j의 의미는 무엇입니까

i=0; j=2; z=2 
i=j--; 

이있다? 왜냐하면 나는 j-가 매번 j-1이라는 것을 알기 때문입니다. 감사합니다. Dr.Java에 있습니다.

답변

3

이는 i를 j로 설정 한 다음 j에서 1을 뺍니다.

6

i = j--;은 할당 문입니다. 오른쪽이 평가되고 결과 값이 왼쪽의 것에 지정됩니다. 귀하의 경우, 그 의미

j의 값
  • j
  • 값을 1 단계 (판독 (즉, 코드, 1로) 감소된다 (즉, 코드, 2)를 판독
    1. --이 때문에 2 )는 i

    단계 1의 순서 (2)에 할당되어있다후; 접미사 감소 연산자 입니다.입니다. j 앞에있는 경우 (접두어 감소 연산자) 단계 1과 2가 반대가됩니다.

  • +0

    감사합니다. 그리고 하나의 추가 질문 : i = 3; j = 2; z = 2, z = i ++ % j; 그 줄에서 내가 뭘해야하지? –

    +0

    @ Román : 당신이 그 부분들로 분해한다면 (위와 같이), 당신 생각은 어떻게 될까요? –

    +0

    확실하지는 않지만 전에 말했던 것과 같다고 생각하십시오. 먼저 i % j (이 경우 3 % 2, z = 1)의 값을 z에 할당 한 다음 다음 줄에 넣습니다. i ++ 그래서 i + 1 (이 경우 3 + 1). 내가 맞습니까? 나는 당신의 도움에 정말 감사합니다. 프로그래밍과 사랑의 첫 달입니다! –

    1

    이 코드의 또 다른 단축키입니다.

    i=0; j=2; z=2 
    i = j; 
    j = j - 1; 
    
    0

    즉, 사후 감소 연산자를 사용했기 때문에 값 2로 설정됩니다. J가 감소하기 때문에 J 값은 1이됩니다. 은 당신이 쓴 경우

    i = --j 
    

    그때 내가 1의 값을 갖게됩니다, 값을 할당하기 전에 감소되기 때문이다.

    제럴드