Módulo III
Os Fundamentos I
Francisco Souza
Márcio de Paula
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
Exemplo 01
Project MARK - Orientação a Obejtos com Java 3
char boolean byte short
int long double float
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
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
Referencial
Todo e qualquer tipo de classe criada em Java.
Project MARK - Orientação a Obejtos com Java 6
Exemplo 02
Object
Scanner
Integer
String
ArrayList
Project MARK - Orientação a Obejtos com Java 7
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
Exemplo 03
byte → int → long
byte → float → double
Project MARK - Orientação a Obejtos com Java 9
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
Exemplo 04
long → int → short
float → int
Project MARK - Orientação a Obejtos com Java 11
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
Exemplo 05
int code = 44;
Project MARK - Orientação a Obejtos com Java 13
44
0x0021String name = “Francis”;
Literais
Conceito
Simplesmente falando, são representações de
dados dentro do código-fonte.
Project MARK - Orientação a Obejtos com Java 14
Literais
Booleanos e Lógicos
Valores true ou false.
Variáveis booleanas ou expressões lógicas
Project MARK - Orientação a Obejtos com Java 15
Literais
Inteiros
Representam números inteiros e podem ser de
natureza octal, decimal ou hexadecimal.
Project MARK - Orientação a Obejtos com Java 16
Exemplo 06
int code = 44;
Project MARK - Orientação a Obejtos com Java 17
int codeHex = 0x2C;
int codeOctal = 054;
Literais
Fracionários
Representam números racionais. A parte inteira e
fracionária são separadas por um ponto [ . ]
Project MARK - Orientação a Obejtos com Java 18
Exemplo 07
Project MARK - Orientação a Obejtos com Java 19
float goldenRatio = 1.618f;
double half = 0.5d;
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
Exemplo 08
Project MARK - Orientação a Obejtos com Java 21
char letter = ‘z’;
String str = “hello”;
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
Exemplo 09
Project MARK - Orientação a Obejtos com Java 23
Object obj = null;
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
Exemplo 10
Project MARK - Orientação a Obejtos com Java 25
final float altura = 1.68f;
altura = 1.80f;
Exemplo 10
Project MARK - Orientação a Obejtos com Java 26
final float altura = 1.68f;
altura = 1.80f;
Exemplo 11
Project MARK - Orientação a Obejtos com Java 27
final Person another = new Person();
me = another;
final Person me = new Person();
Exemplo 11
Project MARK - Orientação a Obejtos com Java 28
final Person another = new Person();
me = another;
final Person me = new Person();
Exemplo 12
Project MARK - Orientação a Obejtos com Java 29
final Person me = new Person();
me.setName(“Francis”);
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
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
Exemplo 13
class User {
String name;
String email;
String password;
transient int loginCounter;
...
}
Project MARK - Orientação a Obejtos com Java 32
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
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
Exemplo 14
class Foo {
static int fooCount;
...
}
Project MARK - Orientação a Obejtos com Java 35
Tipos de Variáveis
Constantes
static + final
Project MARK - Orientação a Obejtos com Java 36
Exemplo 15
class Bar {
static final int BAR_SECRET = 0x4E00B7;
...
}
Project MARK - Orientação a Obejtos com Java 37
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
Exemplo 16
class Foo {
int size;
public void setSize(int size) {
size = size;
}
}
Project MARK - Orientação a Obejtos com Java 39
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
Operadores Aritméticos
Quatro operações
+ - * /
Project MARK - Orientação a Obejtos com Java 41
Exemplo 17
int sum = 23 + 9;
int sub = 15 – 4;
int mul = 2 * 5;
float div = 12 / 6;
Project MARK - Orientação a Obejtos com Java 42
Operadores em Java
Operadores Aritméticos
Resto
%
Project MARK - Orientação a Obejtos com Java 43
Exemplo 18
int mod = 10 % 3;
Project MARK - Orientação a Obejtos com Java 44
Operadores em Java
Operadores de Atribuição
Project MARK - Orientação a Obejtos com Java 45
Operadores em Java
Operador de Atribuição
int size = 23;
String name = “Ykaro”;
Project MARK - Orientação a Obejtos com Java 46
Operadores em Java
Operadores Atribuição
++ += *= /=
-- -= %=
Project MARK - Orientação a Obejtos com Java 47
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
Fonte de Bugs
Operadores Atribuição
Project MARK - Orientação a Obejtos com Java 49
++x --x
x++ x--
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
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
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.
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
Operadores em Java
Operadores de Comparação
== != < >
<= >=
Project MARK - Orientação a Obejtos com Java 54
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
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
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
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
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
Operadores em Java
Operadores Lógicos Curto-Circuitados
&&
||
Project MARK - Orientação a Obejtos com Java 60
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
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
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
Operadores em Java
Operadores Lógicos Não Curto-Circuitados
&
|
Project MARK - Orientação a Obejtos com Java 64
Operadores em Java
Operadores Lógicos Não Curto-Circuitados
Nega um valor lógico.
Project MARK - Orientação a Obejtos com Java 65
Operadores em Java
Operador Lógico Negação
!
Project MARK - Orientação a Obejtos com Java 66
Exemplo 26
boolean a = true;
System.out.println(String.valueOf( !a ))
------------------------------------------
false
Project MARK - Orientação a Obejtos com Java 67
Operadores em Java
Operador Ternário
Usado para atribuições.
Não suporta blocos de código.
Project MARK - Orientação a Obejtos com Java 68
Operadores em Java
Operador Ternário
<exp> ? <caso_positivo> : <caso_negativo>
Project MARK - Orientação a Obejtos com Java 69
Exemplo 27
int a = 10;
int b = 12;
int maior = a > b ? a : b;
Project MARK - Orientação a Obejtos com Java 70

Java aula 04

  • 1.
    Módulo III Os FundamentosI Francisco Souza Márcio de Paula
  • 2.
    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
  • 6.
    Tipos de Dados Referencial Todoe qualquer tipo de classe criada em Java. Project MARK - Orientação a Obejtos com Java 6
  • 7.
  • 8.
    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”;
  • 14.
    Literais Conceito Simplesmente falando, sãorepresentações de dados dentro do código-fonte. Project MARK - Orientação a Obejtos com Java 14
  • 15.
    Literais Booleanos e Lógicos Valorestrue ou false. Variáveis booleanas ou expressões lógicas Project MARK - Orientação a Obejtos com Java 15
  • 16.
    Literais Inteiros Representam números inteirose podem ser de natureza octal, decimal ou hexadecimal. Project MARK - Orientação a Obejtos com Java 16
  • 17.
    Exemplo 06 int code= 44; Project MARK - Orientação a Obejtos com Java 17 int codeHex = 0x2C; int codeOctal = 054;
  • 18.
    Literais Fracionários Representam números racionais.A parte inteira e fracionária são separadas por um ponto [ . ] Project MARK - Orientação a Obejtos com Java 18
  • 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 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
  • 23.
    Exemplo 09 Project MARK- Orientação a Obejtos com Java 23 Object obj = null;
  • 24.
    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
  • 36.
    Tipos de Variáveis Constantes static+ final Project MARK - Orientação a Obejtos com Java 36
  • 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á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
  • 41.
    Operadores em Java OperadoresAritméticos Quatro operações + - * / Project MARK - Orientação a Obejtos com Java 41
  • 42.
    Exemplo 17 int sum= 23 + 9; int sub = 15 – 4; int mul = 2 * 5; float div = 12 / 6; Project MARK - Orientação a Obejtos com Java 42
  • 43.
    Operadores em Java OperadoresAritméticos Resto % Project MARK - Orientação a Obejtos com Java 43
  • 44.
    Exemplo 18 int mod= 10 % 3; Project MARK - Orientação a Obejtos com Java 44
  • 45.
    Operadores em Java Operadoresde Atribuição Project MARK - Orientação a Obejtos com Java 45
  • 46.
    Operadores em Java Operadorde Atribuição int size = 23; String name = “Ykaro”; Project MARK - Orientação a Obejtos com Java 46
  • 47.
    Operadores em Java OperadoresAtribuição ++ += *= /= -- -= %= Project MARK - Orientação a Obejtos com Java 47
  • 48.
    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
  • 54.
    Operadores em Java Operadoresde Comparação == != < > <= >= Project MARK - Orientação a Obejtos com Java 54
  • 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 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
  • 60.
    Operadores em Java OperadoresLógicos Curto-Circuitados && || Project MARK - Orientação a Obejtos com Java 60
  • 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 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
  • 64.
    Operadores em Java OperadoresLógicos Não Curto-Circuitados & | Project MARK - Orientação a Obejtos com Java 64
  • 65.
    Operadores em Java OperadoresLógicos Não Curto-Circuitados Nega um valor lógico. Project MARK - Orientação a Obejtos com Java 65
  • 66.
    Operadores em Java OperadorLógico Negação ! Project MARK - Orientação a Obejtos com Java 66
  • 67.
    Exemplo 26 boolean a= true; System.out.println(String.valueOf( !a )) ------------------------------------------ false Project MARK - Orientação a Obejtos com Java 67
  • 68.
    Operadores em Java OperadorTernário Usado para atribuições. Não suporta blocos de código. Project MARK - Orientação a Obejtos com Java 68
  • 69.
    Operadores em Java OperadorTernário <exp> ? <caso_positivo> : <caso_negativo> Project MARK - Orientação a Obejtos com Java 69
  • 70.
    Exemplo 27 int a= 10; int b = 12; int maior = a > b ? a : b; Project MARK - Orientação a Obejtos com Java 70