O documento discute os tipos primitivos e referenciais em Java, incluindo byte, char, int e String. Também aborda literais, variáveis, operadores e outros fundamentos da linguagem.
2. Tipos de Dados
Primitivos
São tipos de dados que representam tipos
básicos da linguagem.
Não são objetos!
Project MARK - Orientação a Obejtos com Java 2
3. Exemplo 01
Project MARK - Orientação a Obejtos com Java 3
char boolean byte short
int long double float
4. Exemplo 01
Project MARK - Orientação a Obejtos com Java 4
byte 8 bits
short 16 bits float 32 bits
int 32 bits double 64 bits
long 64 bits
5. Exemplo 01
Project MARK - Orientação a Obejtos com Java 5
byte 27
− 1
short 215
− 1
int 231
− 1
long 263
− 1
8. Tipos de Dados
Conversão de Tipos
Em Java, um tipo pode ser convertido em outro.
Devem ser compatíveis.
Project MARK - Orientação a Obejtos com Java 8
9. Exemplo 03
byte → int → long
byte → float → double
Project MARK - Orientação a Obejtos com Java 9
10. Fonte de Bugs
Conversão de Tipos
Deve-se ter muito cuidado ao se converter tipos
de maior precisão para tipos de menor precisão.
Perda de informação.
Project MARK - Orientação a Obejtos com Java 10
11. Exemplo 04
long → int → short
float → int
Project MARK - Orientação a Obejtos com Java 11
12. Variáveis
O que são variáveis?
“São abstrações de endereços de memória, onde
valores absolutos (ou referências para outras
posições de memória) são armazenadas.”
Project MARK - Orientação a Obejtos com Java 12
13. Exemplo 05
int code = 44;
Project MARK - Orientação a Obejtos com Java 13
44
0x0021String name = “Francis”;
19. Exemplo 07
Project MARK - Orientação a Obejtos com Java 19
float goldenRatio = 1.618f;
double half = 0.5d;
20. Literais
Strings e Caracteres
Strings são cadeias de caracteres inseridos entre
“ ”.
Símbolo alfanumérico entre ‘ ’.
Project MARK - Orientação a Obejtos com Java 20
21. Exemplo 08
Project MARK - Orientação a Obejtos com Java 21
char letter = ‘z’;
String str = “hello”;
22. Literais
Nulo
Representa um objeto nulo, ou seja a variável não
é capaz de apontar para uma região de memória
válida.
Project MARK - Orientação a Obejtos com Java 22
24. Tipos de Variáveis
Variáveis Finais
Variável a que só pode se realizar uma única
operação de atribuição.
Project MARK - Orientação a Obejtos com Java 24
25. Exemplo 10
Project MARK - Orientação a Obejtos com Java 25
final float altura = 1.68f;
altura = 1.80f;
26. Exemplo 10
Project MARK - Orientação a Obejtos com Java 26
final float altura = 1.68f;
altura = 1.80f;
27. Exemplo 11
Project MARK - Orientação a Obejtos com Java 27
final Person another = new Person();
me = another;
final Person me = new Person();
28. Exemplo 11
Project MARK - Orientação a Obejtos com Java 28
final Person another = new Person();
me = another;
final Person me = new Person();
29. Exemplo 12
Project MARK - Orientação a Obejtos com Java 29
final Person me = new Person();
me.setName(“Francis”);
30. Tipos de Variáveis
Variáveis Transientes
A variável será ignorada pela JVM, quando for
necessário persistir o estado do objeto na
memória.
Project MARK - Orientação a Obejtos com Java 30
31. Tipos de Variáveis
Variáveis Transientes
Utiliza-se a palavra reservada transient.
Usada somente para atributos da classe.
Project MARK - Orientação a Obejtos com Java 31
32. Exemplo 13
class User {
String name;
String email;
String password;
transient int loginCounter;
...
}
Project MARK - Orientação a Obejtos com Java 32
33. Tipos de Variáveis
Variáveis Estáticas
Independentes da instanciação de um objeto.
Todas as instâncias compartilham o mesmo
valor.
Project MARK - Orientação a Obejtos com Java 33
34. Tipos de Variáveis
Variáveis Estáticas
Utilizada na definição de atributos de uma classe.
Utiliza-se a palavra reservada static.
Project MARK - Orientação a Obejtos com Java 34
35. Exemplo 14
class Foo {
static int fooCount;
...
}
Project MARK - Orientação a Obejtos com Java 35
37. Exemplo 15
class Bar {
static final int BAR_SECRET = 0x4E00B7;
...
}
Project MARK - Orientação a Obejtos com Java 37
38. Fonte de Bugs
Variáveis Sombreadas
Acontece quando uma variável local é declarada
com mesmo nome de um atributo.
Project MARK - Orientação a Obejtos com Java 38
39. Exemplo 16
class Foo {
int size;
public void setSize(int size) {
size = size;
}
}
Project MARK - Orientação a Obejtos com Java 39
40. Exemplo 16
class Foo {
int size;
public void setSize(int size) {
this.size = size;
}
}
Project MARK - Orientação a Obejtos com Java 40
48. Operadores em Java
Project MARK - Orientação a Obejtos com Java 48
a++ ++a a = a + 1
a-- --a a = a - 1
a += b a = a + b
a -= b a = a - b
a *= b a = a * b
a /= b a = a / b
a %= b a = a % b
49. Fonte de Bugs
Operadores Atribuição
Project MARK - Orientação a Obejtos com Java 49
++x --x
x++ x--
50. Exemplo 19
int x = 20;
int y = x++;
System.out.println(String.valueOf(x))
System.out.println(String.valueOf(y))
------------------------------------------
21
20
Project MARK - Orientação a Obejtos com Java 50
51. Exemplo 20
int x = 20;
int y = ++x;
System.out.println(String.valueOf(x))
System.out.println(String.valueOf(y))
------------------------------------------
21
21
Project MARK - Orientação a Obejtos com Java 51
52. Fonte de Bugs
Operadores Atribuição
Project MARK - Orientação a Obejtos com Java 52
++x
Primeiro
incrementa,
depois atribui.
x++
Primeiro atribui,
depois
incrementa.
53. Operadores em Java
Operadores de Comparação
São operadores utilizados para a realização de
comparações entre dois objetos.
Resultam em um valor booleano.
Project MARK - Orientação a Obejtos com Java 53
55. Exemplo 21
System.out.println(String.valueOf(2 == 3))
System.out.println(String.valueOf(2 != 3))
------------------------------------------
true
false
Project MARK - Orientação a Obejtos com Java 55
56. Exemplo 22
System.out.println(String.valueOf(2 > 3))
System.out.println(String.valueOf(2 < 3))
------------------------------------------
false
true
Project MARK - Orientação a Obejtos com Java 56
57. Exemplo 23
System.out.println(String.valueOf(2 <= 3))
System.out.println(String.valueOf(2 >= 3))
------------------------------------------
true
false
Project MARK - Orientação a Obejtos com Java 57
58. Operadores em Java
Operadores Lógicos
São operadores destinados a valores booleanos
Curto-Circuitado
Não Curto-Circuitado
Negação
Project MARK - Orientação a Obejtos com Java 58
59. Operadores em Java
Operadores Lógicos Curto-Circuitados
“O segundo operando de uma expressão lógica
só é avaliado se o primeiro não for suficiente para
determinar o valor da expressão lógica.”
Project MARK - Orientação a Obejtos com Java 59
61. Exemplo 24
boolean a = true;
boolean b = false;
//O valor de a não será checado.
boolean andResult = b && a
Project MARK - Orientação a Obejtos com Java 61
62. Exemplo 25
boolean a = true;
boolean b = false;
//O valor de b não será checado.
boolean orResult = a || b
Project MARK - Orientação a Obejtos com Java 62
63. Operadores em Java
Operadores Lógicos Não Curto-Circuitados
Funcionamento similar aos operadores && e ||.
Ambos os operandos são checados para se
calcular o resultado da expressão.
Project MARK - Orientação a Obejtos com Java 63