2016-10-28 2 views
0

나는 나는 다음과 같은 과제가있는 경우arr1 [i ++] = arr2 [j ++]의 논리는 무엇입니까?

arr[i++] = 1

arr[i] = 1; 
i++; 

에 해당합니다 그러나

arr1[i++] = arr2[j++]

arr1[i] = arr2[j]; 
i++; 
j++; 
에 해당한다는 것을 이해

어떤 기계가이 //do something 먼저 1 증가하고 나는 현재 < 5 여부를 평가 실행 하는가

int i = 0; 
while(i++ < 5){ 
    // do something... 
} 

어떻습니까?

누군가 이해할 수 있습니까?

+4

예, 동일합니다. 네가 무엇을 요구하는지 모르겠다. – nhouser9

+1

그냥 테스트하고 직접 볼 수 있습니다. 그러나 어쨌든, 귀하의 심문은 그러한 규범을 이해하기 어렵다는 분명한 신호이며, 따라서 모든 비용을 들이지 않고 피하여야합니다. 가능한 한 많은 명령어를 한 줄의 코드로 작성하면 코드를 읽고 유지하기가 더 어려워집니다. –

+0

'i ++'가 즉시 증가하고 이전 값을 반환합니다. – 4castle

답변

4

사실 arr[i++] = 1i는 그 값이 어레이에 기록되는 시간만큼 증가 된

arr[i++] = i; 

같은 식

int i1 = i; 
i = i + 1; 
arr[i1] = 1; 

차이 관련된다 동등하다. 이 질문이 귀하의 질문을 해결하기에 충분한 정보가되기를 바랍니다.

+0

기억해야 할 가장 좋은 장소는 https://docs.oracle.com입니다. /javase/specs/jls/se8/html/jls-15.html#jls-15.7 이것은 엄지 손가락 하나를 제공합니다. 표현식은 예외없이 왼쪽에서 오른쪽으로 평가됩니다. –

관련 문제