No primeiro caso vc está atribuindo um novo valor à variável “i”, no caso um inteiro positivo. Poderia ser um negativo também.
No segundo caso vc está somando 10 à variável “y” que já tem valor 3. É como se fosse assim:y = y + 10;
Giulliano
psandrelli:
No primeiro caso vc está atribuindo um novo valor à variável “i”, no caso um inteiro positivo. Poderia ser um negativo também.
No segundo caso vc está somando 10 à variável “y” que já tem valor 3. É como se fosse assim:y = y + 10;
No caso o =+ é uma atribuição de pós incremento não significa q ele esta acrescentanto valores positivos ou negativos…não é isso ???
Kassiane_Pretti
Então isso:
i=+10;
É equivalente a:
i=10;
i= i + 10;
??? :?
Muito estranho --’
Kassiane_Pretti
Pensando melhor,acho que quando temos =+ ocorre apenas a atribição do valor à variavel… Como psandrelli falou eu poderia fazer isso:
i=+10;
i=-10
Não seria isso? :roll:
Giulliano
Na verdade não deveria existir esse sinal de atribuição, seguindo uma lógica :
//Considerando Sempre q x vale 10 em todos prints...System.out.println(x++);// 10System.out.println(++x);// 11System.out.println(x+=10);// 20System.out.println(x=+10);// ??? Aqui vai sair 10...
Se o operador de incremento funciona ele teria q somar depois e não adicionar um novo valor à varíavel…meu entendimento é esse.
psandrelli
Coloca isso no Eclipse e aperte Ctrl + Shift + F e veja o que acontece.
inti=3;i=+10;
Kassiane_Pretti
Giulliano:
Na verdade não deveria existir esse sinal de atribuição, seguindo uma lógica :
//Considerando Sempre q x vale 10 em todos prints...System.out.println(x++);// 10System.out.println(++x);// 11System.out.println(x+=10);// 20System.out.println(x=+10);// ??? Aqui vai sair 10...
Se o operador de incremento funciona ele teria q somar depois e não adicionar um novo valor à varíavel…meu entendimento é esse.
Claro mas no caso não seria um outro sinal de atribuição, se analisarmos tomando os numeros positivos e negativos.
A interpretação do sinal =+ foi a seguinte ao meu entender:
i=+10;// seria a msm coisa que i = 10 e i =+10
i=-10;//seria a msm coisa que i =-10
No caso só faltou o espaço entre os sinais… :?
Giulliano
“CTRL + Shift + F” até onde eu sei formata seu código…
dlt
Uma coisa é uma coisa, outra coisa é outra coisa.
Pós incremento não tem nada a ver com isso.
Não confunda i++ com i+=10 com i=+10; são coisas diferentes.
A primeira explicação do psandrelli é que tá certo.
Giulliano
Tudo bem vou encarar isso como bizarrice…imagine isso num código :
inty+=+10;
feio né…assumindo q se um número vem sem o sinal de + de qualquer maneira ele é positivo…mas tudo bem…ta valendo…
Kassiane_Pretti
Pós decremento não tem nada a ver com isso.
Não confunda i++ com i+=10 com i=+10; são coisas diferentes.
Isso msm não pode confundir as duas coisas:
int i = 3;
i++; // i passa a valer 4
i += 6; // i passa a valer 10, idem a i = i + 6
Andre_Brito
Giulliano:
Na verdade não deveria existir esse sinal de atribuição, seguindo uma lógica :
//Considerando Sempre q x vale 10 em todos prints...System.out.println(x++);// 10System.out.println(++x);// 11System.out.println(x+=10);// 20System.out.println(x=+10);// ??? Aqui vai sair 10...
Se o operador de incremento funciona ele teria q somar depois e não adicionar um novo valor à varíavel…meu entendimento é esse.
Uma coisa é uma coisa, outra coisa é outra coisa.
Pós decremento não tem nada a ver com isso.
Não confunda i++ com i+=10 com i=+10; são coisas diferentes.
A primeira explicação do psandrelli é que tá certo.
Não estou discordando da explicação dele…estou dizendo que se " i += 10 " soma i + 10 e armazena na varíavel i…então o contrário tb deveria funcionar i =+ 10;
Kassiane_Pretti
Giulliano:
KassiPretti:
Se o operador de incremento funciona ele teria q somar depois e não adicionar um novo valor à varíavel…meu entendimento é esse.
Claro mas no caso não seria um outro sinal de atribuição, se analisarmos tomando os numeros positivos e negativos.
A interpretação do sinal =+ foi a seguinte ao meu entender:
i=+10;// seria a msm coisa que i = 10 e i =+10
i=-10;//seria a msm coisa que i =-10
No caso só faltou o espaço entre os sinais… :?
Tudo bem vou encarar isso como bizarrice…imagine isso num código :
inty+=+10;
feio né…assumindo q se um número vem sem o sinal de + de qualquer maneira ele é positivo…mas tudo bem…ta valendo…
O sinal de + não é necessario, mas sua utilização neste caso não é proibida…
psandrelli
Por isso mesmo, ele separa os sinais por não existir esse operador “=+”. Se fosse um operador válido, ele não iria alterar, assim como não separa “+=”.
Giulliano
Cara aí vc vascilou…desse jeito vai sair 11 pq já foi atribuida a soma…mas em tempo real não é assim que acontece…
Tenta do jeito q eu fiz e vc vai ver q funciona…
Giulliano
Por isso mesmo, ele separa os sinais por não existir esse operador “=+”. Se fosse um operador válido, ele não iria alterar, assim como não separa “+=”.
ahhhhhh…entendi o motivo…
dlt
não deveria funcionar.
"Nem um pouco! Ora, você poderia dizer que ‘vejo o que como’ é a mesma coisa que ‘como o que vejo’!’
– O Chapeleiro de Alice no País das Maravilhas.
ahhahahaha
Andre_Brito
Vacilei por que? Não entendi :?: :?:
Eu fiz sempre a atribuição do 10 antes de entrar nos println porque você disse… achei que você tinha feito também.
F
fabioEM
psandrelli:
No primeiro caso vc está atribuindo um novo valor à variável “i”, no caso um inteiro positivo. Poderia ser um negativo também.
No segundo caso vc está somando 10 à variável “y” que já tem valor 3. É como se fosse assim:y = y + 10;