2013-07-09 3 views
2

연산자 + =와 연산자 = +의 차이점을 명확하게 설명 할 수 있습니까? 분명히 둘 다 합계에 대한 바로 가기이지만 "= +"의 의미를 얻지 못합니다.연산자 + =와 = +의 차이점

a + = b는 a = a + b와 같습니다. 그러나 a = + b의 동등 물은 무엇입니까 ???

public class SumOfSquares { 

    private int[] inputArray; 
    private Integer result; 

    public SumOfSquares(int[] inputArray) { 
     this.inputArray=inputArray; 
     result = new Integer(0); 
    } 

    public Integer getResult() { 
     for (int counter=0; counter<inputArray.length; counter++) { 
    int currentNumber = inputArray[counter]; 
     result += currentNumber*currentNumber; 
    } 
    return result; 
    } 
} 

inputArray={1,2,3,4,5} :

여기에 실시 예이다. 내가 result =+ currentNumber*currentNumber;에 의해 result += currentNumber*currentNumber;를 교체하는 경우 result=55 (1^2+2^2+3^2+4^2+5^2 = 1+4+9+16+25 = 55) 예상, 나는 이유를 이해하고자하는 25 대신 55의 결과를 얻을.

+0

에 해당합니다. 'a = ++ b'를 원하셨습니까? –

+0

= +에 대한 참조를 공유 할 수 있습니까? – David

+0

우리는 지난 주에 그렇게하지 않았습니까? –

답변

0

아니요, 둘 다 합계의 바로 가기가 아닙니다. 당신은 + + 그것이 무엇을하는지 보았습니까?

힌트, 시도하십시오 = - 그게 무슨 볼 수 있습니다.

7

=+operator이 아닙니다. 할당을 =unary + operator의 조합으로 혼동 할 수 있습니다.이 값은 양수로 표시됩니다 (부호는 변경되지 않음, + (-3)은 여전히 ​​-3 임). 정수 값에 대해서는 완벽하게 생략 할 수 있습니다.

int a = 5; 
int b = 3; 

a = (+b); // a = 3 
a = (-b); // a = -3 

+ 플러스 단항 연산자;

=+a=b는 오퍼레이터 없다 (참조하지만,이없는 양성) 양수

2

a=+b 다른 말로 a=0+b 동일하다를 나타낸다. 대입 연산자 = 다음에 양수 부호 +이옵니다. +은 오른쪽 변수에 적용되므로 a= (+b)으로 읽을 수 있습니다.

+0

오케이. 알았어! 감사합니다 – user2541597

+0

@ user2541597 도와 드리겠습니다. 답을 받아 들일 수도 있습니다. – nakosspy

1

a -= ba = a - b에 해당하고,

a =- b는 = + b` '같은 건 없다 a = - b