[list]
public class Operacoes extends Object{
public void calculos(){
int x = 10;
int y = 9;
double resultado = ((((x + y)* y )/ x) - y) % 3;
System.out.println("Resultado : " + resultado);
}
public void operadoresUnarios(){
int x= 1;
int y = 1;
int k = 10;
int z = 10;
for (int m = 0; m < 5; m++){
System.out.println("USando o valor de x antes e incrementando depois");
System.out.println(x++);
System.out.println("Usando o valor de k antes de decrementá-lo => "+(k--));
}
}
public void operadoresRelacionais(){
int x = 10;
int y = 9;
if (x > y){
System.out.println("X maior que Y ");
}
if ( x != y){
System.out.println("X diferente de Y ");
}
//outra forma de if, se x > y então k recebe 3, senão k recebe 7
float k = x > y ? 3 : 7;
System.out.println("Valor de k => "+ k);
if ( 4 == 4){
System.out.println("4 igual a 4 ");
}
}
public void operacoesAtribuicao(){
int x = 10;
System.out.println("Valor Original => " + x);
x += 10;
System.out.println("Valor após soma com atribuição => " + x);
x -= 5;
System.out.println("Valor após subtração com atribuição => " + x);
x *= 5;
System.out.println("Valor após multiplicação com atribuição => " + x);
x /= 5;
System.out.println("Valor após divisão com atribuição => " + x);
}
public static void main (String args []){
Operacoes o = new Operacoes ();
o.calculos();
o.operadoresUnarios();
o.operadoresRelacionais();
o.operacoesAtribuicao();
}
}
E ele me retornou o seguinte resultado:
[list]
Resultado : 2.0
USando o valor de x antes e incrementando depois
1
Usando o valor de k antes de decrementá-lo => 10
USando o valor de x antes e incrementando depois
2
Usando o valor de k antes de decrementá-lo => 9
USando o valor de x antes e incrementando depois
3
Usando o valor de k antes de decrementá-lo => 8
USando o valor de x antes e incrementando depois
4
Usando o valor de k antes de decrementá-lo => 7
USando o valor de x antes e incrementando depois
5
Usando o valor de k antes de decrementá-lo => 6
X maior que Y
X diferente de Y
Valor de k => 3.0
4 igual a 4
Valor Original => 10
Valor após soma com atribuição => 20
Valor após subtração com atribuição => 15
Valor após multiplicação com atribuição => 75
Valor após divisão com atribuição => 15
[/list]
Porém, mais do que não dar erro eu gostaria de entender alguns resultados, na linha 8 do código o resultado foi 2.0, como há uma série de parênteses nesta linha gostaria de entender como o cálculo foi feito, e tenho dúvidas se os resultados que retornaram para os decrementos e incrementos estão corretos, tenho estudado bastante e as coisas começam a ficar mais claras, mas ainda tenho dificuldade com os conceitos e com alguns resultados que retornam, se alguém tiver um tempo de analisar e puder me esclarecer principalmente a questão das precedências eu agradeço desde já. Abraços a todos.

