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.
Tipos de Dados
Primitivos
Sãotipos 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
Tipos de Dados
Conversãode 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ãode 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ãovariá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”;
Exemplo 07
Project MARK- Orientação a Obejtos com Java 19
float goldenRatio = 1.618f;
double half = 0.5d;
20.
Literais
Strings e Caracteres
Stringssã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 objetonulo, 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
Tipos de Variáveis
VariáveisFinais
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áveisTransientes
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áveisTransientes
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áveisEstá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áveisEstá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
Exemplo 15
class Bar{
static final int BAR_SECRET = 0x4E00B7;
...
}
Project MARK - Orientação a Obejtos com Java 37
38.
Fonte de Bugs
VariáveisSombreadas
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
Operadores em Java
ProjectMARK - 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
OperadoresAtribuiçã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
OperadoresAtribuição
Project MARK - Orientação a Obejtos com Java 52
++x
Primeiro
incrementa,
depois atribui.
x++
Primeiro atribui,
depois
incrementa.
53.
Operadores em Java
Operadoresde 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
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
OperadoresLó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
OperadoresLó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
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
OperadoresLó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