Sabemos:
int i = 5;
J = 7;
i = i + j não pode compilar, mas i + = j pode compilar e executar, e o resultado é i = 12.
Isso é porque:
i += j é equivalente a i = (int) (i +j);
O resumo é: para expressões de atribuição de composto, e1 op = e2 (como i += j; i -= j, etc.) é realmente equivalente a e1 = (t) ((e1) op (e2)), onde t é o tipo do elemento E1.
Esta pergunta foi realmente respondida na documentação oficial. Endereço oficial do documento §15.26.2 Operadores de atribuição de compostos
O acima é uma breve introdução à diferença entre os operadores += e ++ introduzidos pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem. O editor responderá a tempo. Muito obrigado pelo seu apoio ao site da Wulin Network!