Dificuldade em entender essa linha de código!

notas += (Double.parseDouble(JOptionPane.showInputDialog(null, "Informe a nota ")) * peso);

é o mesmo que eu fazer assim? notas = (notas + notas) * peso ??

[quote=adilsonmartins] notas += (Double.parseDouble(JOptionPane.showInputDialog(null, "Informe a nota ")) * peso);

é o mesmo que eu fazer assim? notas = (notas + notas) * peso ??[/quote]

Não.

Abraço.

Seria então notas = notas * peso ???

Depende do que você quer fazer.

Por que você não explica qual o resultado esperado e por que não está conseguindo chegar nele? Está testando esse código? Ou está longe de um computador e não consegue testar, então está postando essas perguntas “de cabeça” ?

Abraço.

[quote=adilsonmartins] notas += (Double.parseDouble(JOptionPane.showInputDialog(null, "Informe a nota ")) * peso);

é o mesmo que eu fazer assim? notas = (notas + notas) * peso ??[/quote]

Oi Adilson,

É o seguinte o JoptionPane recebe o valor em String, então neste códgio estamos esperando que o usuário informa apenas valores númericos ou no máximo um ponto para podemos fazer o casting para Double, se o usuário entrar com um texto por exemplo seria gerado uma excessão no código.

Caso o usuário entre com um número este valor será multiplicado pelo valor de peso e após será somado a variável notas.
Deu pra entender?

notas += (Double.parseDouble(JOptionPane.showInputDialog(null, "Informe a nota ")) * peso);

É o mesmo que:

double nota = (Double.parseDouble(JOptionPane.showInputDialog("Informe a nota"));
notas = notas + nota;
notas = notas * peso;

[quote=adilsonmartins]
é o mesmo que eu fazer assim? notas = (notas + notas) * peso ??[/quote]

Não.
É o mesmo que:
notas = notas + (notas * peso)

E mesmo que tirar os parênteses vai ocorrer precedência de operandos, primeiro a multiplicação e depois a soma.
O que vai ficar na mesma.

    double nota = (Double.parseDouble(JOptionPane.showInputDialog("Informe a nota"));  
    notas += nota;  
    notas = notas * peso;

Isso vai fazer a nota atual + a nota informada, depois multiplica pelo peso.
É o mesmo que notas = (nota + notas) * peso.

[quote=xperito][quote=adilsonmartins]
é o mesmo que eu fazer assim? notas = (notas + notas) * peso ??[/quote]

Não.
É o mesmo que:
notas = notas + (notas * peso)

E mesmo que tirar os parênteses vai ocorrer precedência de operandos, primeiro a multiplicação e depois a soma.
O que vai ficar na mesma.

    double nota = (Double.parseDouble(JOptionPane.showInputDialog("Informe a nota"));  
    notas += nota;  
    notas = notas * peso;

Isso vai fazer a nota atual + a nota informada, depois multiplica pelo peso.
É o mesmo que notas = (nota + notas) * peso.
[/quote]
Tem razão. Não prestei atenção ao caso.

[quote=xperito][quote=adilsonmartins]
é o mesmo que eu fazer assim? notas = (notas + notas) * peso ??[/quote]

Não.
É o mesmo que:
notas = notas + (notas * peso)

E mesmo que tirar os parênteses vai ocorrer precedência de operandos, primeiro a multiplicação e depois a soma.
O que vai ficar na mesma.

    double nota = (Double.parseDouble(JOptionPane.showInputDialog("Informe a nota"));  
    notas += nota;  
    notas = notas * peso;

Isso vai fazer a nota atual + a nota informada, depois multiplica pelo peso.
É o mesmo que notas = (nota + notas) * peso.
[/quote]

Só complementando, seria legal o rapaz saber o porque é assim.

Seria por conta de precedência de operadores, no caso em questão ele multiplicaria primeiro e depois somaria.

Estude precedência de operadores que ira te ajudar a entender melhor.

Att.

Artur Martini