Java aula 04
-
Upload
francisco-jose-a-c-souza -
Category
Education
-
view
183 -
download
0
Transcript of Java aula 04
![Page 1: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/1.jpg)
Módulo IIIOs Fundamentos I
Francisco Souza
Márcio de Paula
![Page 2: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/2.jpg)
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
![Page 3: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/3.jpg)
Exemplo 01
Project MARK - Orientação a Obejtos com Java 3
char boolean byte short
int long double float
![Page 4: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/4.jpg)
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
![Page 5: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/5.jpg)
Exemplo 01
Project MARK - Orientação a Obejtos com Java 5
byte 27 − 1
short 215 − 1
int 231 − 1
long 263 − 1
![Page 6: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/6.jpg)
Tipos de Dados
Referencial
Todo e qualquer tipo de classe criada em Java.
Project MARK - Orientação a Obejtos com Java 6
![Page 7: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/7.jpg)
Exemplo 02
Object
Scanner
Integer
String
ArrayList
Project MARK - Orientação a Obejtos com Java 7
![Page 8: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/8.jpg)
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
![Page 9: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/9.jpg)
Exemplo 03
byte → int → long
byte → float → double
Project MARK - Orientação a Obejtos com Java 9
![Page 10: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/10.jpg)
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
![Page 11: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/11.jpg)
Exemplo 04
long → int → short
float → int
Project MARK - Orientação a Obejtos com Java 11
![Page 12: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/12.jpg)
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
![Page 13: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/13.jpg)
Exemplo 05
int code = 44;
Project MARK - Orientação a Obejtos com Java 13
44
0x0021String name = “Francis”;
![Page 14: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/14.jpg)
Literais
Conceito
Simplesmente falando, são representações de dados dentro do código-fonte.
Project MARK - Orientação a Obejtos com Java 14
![Page 15: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/15.jpg)
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
![Page 16: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/16.jpg)
Literais
Inteiros
Representam números inteiros e podem ser de natureza octal, decimal ou hexadecimal.
Project MARK - Orientação a Obejtos com Java 16
![Page 17: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/17.jpg)
Exemplo 06
int code = 44;
Project MARK - Orientação a Obejtos com Java 17
int codeHex = 0x2C;
int codeOctal = 054;
![Page 18: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/18.jpg)
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
![Page 19: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/19.jpg)
Exemplo 07
Project MARK - Orientação a Obejtos com Java 19
float goldenRatio = 1.618f;
double half = 0.5d;
![Page 20: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/20.jpg)
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
![Page 21: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/21.jpg)
Exemplo 08
Project MARK - Orientação a Obejtos com Java 21
char letter = ‘z’;
String str = “hello”;
![Page 22: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/22.jpg)
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
![Page 23: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/23.jpg)
Exemplo 09
Project MARK - Orientação a Obejtos com Java 23
Object obj = null;
![Page 24: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/24.jpg)
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
![Page 25: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/25.jpg)
Exemplo 10
Project MARK - Orientação a Obejtos com Java 25
final float altura = 1.68f;
altura = 1.80f;
![Page 26: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/26.jpg)
Exemplo 10
Project MARK - Orientação a Obejtos com Java 26
final float altura = 1.68f;
altura = 1.80f;
![Page 27: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/27.jpg)
Exemplo 11
Project MARK - Orientação a Obejtos com Java 27
final Person another = new Person();
me = another;
final Person me = new Person();
![Page 28: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/28.jpg)
Exemplo 11
Project MARK - Orientação a Obejtos com Java 28
final Person another = new Person();
me = another;
final Person me = new Person();
![Page 29: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/29.jpg)
Exemplo 12
Project MARK - Orientação a Obejtos com Java 29
final Person me = new Person();
me.setName(“Francis”);
![Page 30: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/30.jpg)
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
![Page 31: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/31.jpg)
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
![Page 32: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/32.jpg)
Exemplo 13
class User {
String name;
String email;
String password;
transient int loginCounter;
...
}Project MARK - Orientação a Obejtos com Java 32
![Page 33: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/33.jpg)
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
![Page 34: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/34.jpg)
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
![Page 35: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/35.jpg)
Exemplo 14
class Foo {
static int fooCount;
...
}
Project MARK - Orientação a Obejtos com Java 35
![Page 36: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/36.jpg)
Tipos de Variáveis
Constantes
static + final
Project MARK - Orientação a Obejtos com Java 36
![Page 37: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/37.jpg)
Exemplo 15
class Bar {
static final int BAR_SECRET = 0x4E00B7;
...
}
Project MARK - Orientação a Obejtos com Java 37
![Page 38: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/38.jpg)
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
![Page 39: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/39.jpg)
Exemplo 16
class Foo {
int size;
public void setSize(int size) {
size = size;
}
}Project MARK - Orientação a Obejtos com Java 39
![Page 40: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/40.jpg)
Exemplo 16
class Foo {
int size;
public void setSize(int size) {
this.size = size;
}
}Project MARK - Orientação a Obejtos com Java 40
![Page 41: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/41.jpg)
Operadores em Java
Operadores Aritméticos
Quatro operações
+ - * /
Project MARK - Orientação a Obejtos com Java 41
![Page 42: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/42.jpg)
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
![Page 43: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/43.jpg)
Operadores em Java
Operadores Aritméticos
Resto
%
Project MARK - Orientação a Obejtos com Java 43
![Page 44: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/44.jpg)
Exemplo 18
int mod = 10 % 3;
Project MARK - Orientação a Obejtos com Java 44
![Page 45: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/45.jpg)
Operadores em Java
Operadores de Atribuição
Project MARK - Orientação a Obejtos com Java 45
![Page 46: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/46.jpg)
Operadores em Java
Operador de Atribuição
int size = 23;
String name = “Ykaro”;
Project MARK - Orientação a Obejtos com Java 46
![Page 47: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/47.jpg)
Operadores em Java
Operadores Atribuição
++ += *= /=-- -= %=
Project MARK - Orientação a Obejtos com Java 47
![Page 48: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/48.jpg)
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
![Page 49: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/49.jpg)
Fonte de Bugs
Operadores Atribuição
Project MARK - Orientação a Obejtos com Java 49
++x --x
x++ x--
![Page 50: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/50.jpg)
Exemplo 19
int x = 20;
int y = x++;
System.out.println(String.valueOf(x))
System.out.println(String.valueOf(y))
------------------------------------------
21
20Project MARK - Orientação a Obejtos com Java 50
![Page 51: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/51.jpg)
Exemplo 20
int x = 20;
int y = ++x;
System.out.println(String.valueOf(x))
System.out.println(String.valueOf(y))
------------------------------------------
21
21Project MARK - Orientação a Obejtos com Java 51
![Page 52: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/52.jpg)
Fonte de Bugs
Operadores Atribuição
Project MARK - Orientação a Obejtos com Java 52
++xPrimeiroincrementa, depois atribui.
x++Primeiro atribui,depois incrementa.
![Page 53: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/53.jpg)
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
![Page 54: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/54.jpg)
Operadores em Java
Operadores de Comparação
== != < ><= >=
Project MARK - Orientação a Obejtos com Java 54
![Page 55: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/55.jpg)
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
![Page 56: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/56.jpg)
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
![Page 57: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/57.jpg)
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
![Page 58: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/58.jpg)
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
![Page 59: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/59.jpg)
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
![Page 60: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/60.jpg)
Operadores em Java
Operadores Lógicos Curto-Circuitados
&&||
Project MARK - Orientação a Obejtos com Java 60
![Page 61: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/61.jpg)
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
![Page 62: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/62.jpg)
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
![Page 63: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/63.jpg)
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
![Page 64: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/64.jpg)
Operadores em Java
Operadores Lógicos Não Curto-Circuitados
&|
Project MARK - Orientação a Obejtos com Java 64
![Page 65: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/65.jpg)
Operadores em Java
Operadores Lógicos Não Curto-Circuitados
Nega um valor lógico.
Project MARK - Orientação a Obejtos com Java 65
![Page 66: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/66.jpg)
Operadores em Java
Operador Lógico Negação
!
Project MARK - Orientação a Obejtos com Java 66
![Page 67: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/67.jpg)
Exemplo 26
boolean a = true;
System.out.println(String.valueOf( !a ))
------------------------------------------
false
Project MARK - Orientação a Obejtos com Java 67
![Page 68: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/68.jpg)
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
![Page 69: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/69.jpg)
Operadores em Java
Operador Ternário
<exp> ? <caso_positivo> : <caso_negativo>
Project MARK - Orientação a Obejtos com Java 69
![Page 70: Java aula 04](https://reader030.fdocuments.es/reader030/viewer/2022021418/58860fb01a28abe63e8b50ad/html5/thumbnails/70.jpg)
Exemplo 27
int a = 10;
int b = 12;
int maior = a > b ? a : b;
Project MARK - Orientação a Obejtos com Java 70