Nesse artigo iremos comentar e resolver os exercícios propostos no capítulo 3, sobre Variáveis primitivas e Controle de Fluxo - Tipos primitivos e valores da apostila FJ-11: Java e Orientação a Objetos, da Caelum.
Clique aqui para saber sobre a Caelum e sua apostila.
Enviar um café pro programador
Pode me ajudar a transformar cafeína em código?
Mostrando postagens com marcador ELSE. Mostrar todas as postagens
Mostrando postagens com marcador ELSE. Mostrar todas as postagens
Operadores de atribuição e de incremento e decremento: diferenças entre a=++b e a=b++
Já vimos o uso dos operadores de decremento e incremento, em Java.
E também como usar os operadores de atribuição: +=, -=, *=, /= e %=
Porém, devemos tomar alguns cuidados no uso deles, como, por exemplo, na diferença entre a=++b e a=b++
Você ja estudou e testou que usar isoladamente:
a++ e ++a não surte efeito.
Porém, surte na hora da atribuição.
Vamos lá, ao nosso 'teste hacker':
Seja b=2;
Só olhando e raciocinando, você seria capaz de descobrir quanto seria 'a' em cada caso:
a = b++;
a = ++b;
Explicações
Mais uma vez, é um atalho em Java, uma forma mais simples de escrever as seguintes linhas:
a = b;
b++;
++b;
a = b;
'Tenho que decorar todos esses atalhos em Java, então? Maldito Java!'
Não. Você é programador, você não decora, você pensa.
Não foi à toa que coloquei o 'teste hacker', foi pra aguçar seu raciocínio.
Em ambos os casos, 'b' é incrementado. A diferença é que 'a' recebe o valor de 'b' antes do incremento em um e depois do incremento em outro.
Como eu disse, em Java, você pode descobrir apenas olhando e pensando um pouco.
Veja:
No primeiro exemplo: a = b++
Qual a ordem, 'b' ou incremento? Primeiro o 'b'. Depois o de incremento ocorre, '++'.
Ou seja, 'a' vai receber o valor de 'b' primeiro, então a=2
Só depois que 'b' vai ser incrementado e vai se tornar b=3.
No segundo exemplo: a = ++b
Qual a ordem: 'b' ou incremento?
Primeiro o incremento, '++', depois que aparece o 'b', então só depois acontece a atribuição..
Assim, primeiro ocorre o incremente, então b=3.
Só depois é que esse valor é atribuído para a.
Como diz a bíblia do programador Java: compilais e verás a verdade.
Eis o código:
E também como usar os operadores de atribuição: +=, -=, *=, /= e %=
Porém, devemos tomar alguns cuidados no uso deles, como, por exemplo, na diferença entre a=++b e a=b++
Diferença de a=++b e a=b++ em Java
a++ e ++a não surte efeito.
Porém, surte na hora da atribuição.
Vamos lá, ao nosso 'teste hacker':
Seja b=2;
Só olhando e raciocinando, você seria capaz de descobrir quanto seria 'a' em cada caso:
a = b++;
a = ++b;
Explicações
1. a = b++
Mais uma vez, é um atalho em Java, uma forma mais simples de escrever as seguintes linhas:
a = b;
b++;
2. a = ++b
Analogamente, é o atalho que os programadores Java usam para representar as seguintes linhas de código:++b;
a = b;
'Tenho que decorar todos esses atalhos em Java, então? Maldito Java!'
Não. Você é programador, você não decora, você pensa.
Não foi à toa que coloquei o 'teste hacker', foi pra aguçar seu raciocínio.
Em ambos os casos, 'b' é incrementado. A diferença é que 'a' recebe o valor de 'b' antes do incremento em um e depois do incremento em outro.
Como eu disse, em Java, você pode descobrir apenas olhando e pensando um pouco.
Veja:
No primeiro exemplo: a = b++
Qual a ordem, 'b' ou incremento? Primeiro o 'b'. Depois o de incremento ocorre, '++'.
Ou seja, 'a' vai receber o valor de 'b' primeiro, então a=2
Só depois que 'b' vai ser incrementado e vai se tornar b=3.
No segundo exemplo: a = ++b
Qual a ordem: 'b' ou incremento?
Primeiro o incremento, '++', depois que aparece o 'b', então só depois acontece a atribuição..
Assim, primeiro ocorre o incremente, então b=3.
Só depois é que esse valor é atribuído para a.
Como diz a bíblia do programador Java: compilais e verás a verdade.
Eis o código:
public class Increment {
public static void main(String[] args) {
int a,
b=1;
System.out.println("b = " + b);
System.out.println("a = b++ ");
a = b++;
System.out.println("Então: a = " + a);
System.out.println();
System.out.println("b = " + b);
System.out.println("a = ++b ");
a = ++b;
System.out.println("Então: a = " + a);
}
}
Como usar IF e ELSE: Testando e Escolhendo o que executar
Até agora na apostia Java Progressivo, nossos códigos foram procedurais. Ou seja, seguiram um ordem de execução: do começo ao fim, executando tudo.
Mas executamos tudo, sempre que usamos um programa?
Claro que não, escolhemos. Fazemos opções.
É isso o que o if else faz, nos permite optar por executar determinadas coisas.
Mas executamos tudo, sempre que usamos um programa?
Claro que não, escolhemos. Fazemos opções.
É isso o que o if else faz, nos permite optar por executar determinadas coisas.
Assinar:
Postagens (Atom)
