Buscar

Introdução à Linguagem Java

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução Fundamental à 
Linguagem Java
Jorge Fernandes
Junho de 2004
Variáveis na Linguagem Java
• Na linguagem Java, todas as variáveis são tipadas, 
com tipos fortes
• Categorias de tipo
– Tipos primitivos 
• Variáveis de tipos primitivos contém um valor primitivo
– Tipos referência 
• Variáveis de tipos referência contém uma referência a um 
objeto (instância) em memória
• Tipos referência são definidos por uma classe ou interface
– Tipos Array
• Tipo referência, onde o objeto referenciado é formato por um 
vetor de variáveis, de tipo primitivo ou referência.
Tipos de Dados Primitivos
• boolean
– Tipo de dados cujos valores podem ser true ou false. 
• void
– Tipo de dados vazio. Serve para declarar métodos que não retornam 
valores. 
• char
– Caracteres Unicode, com 16 bits, inteiros sem sinal
• byte, short, int, long
– Inteiros com sinal, armazenados em formato binário na notação de 
complemento a dois. Tem tamanho de 8, 16, 32 e 64 bits, respectivamente. 
• float, double
– Numerais em formato de ponto flutuante, padrão IEEE 754-1985, ocupando 32 
e 64 bits, respectivamente.
Literais
• null
– Representa um valor referência nulo. Qualquer 
variável não primitiva (que mantém uma 
referência a objetos) pode conter o valor null.
• true e false
– Literais que representam os valores possíveis 
que uma variável boolean pode assumir.
Desvio e Controle de Fluxo
if (Decisão Básica)
• IfStatement ::= "if" "(" Expression ")" Statement-a ( "else" Statement-b )?
• Computa o valor da <Expression>. 
• Caso o valor da <Expression> seja verdadeiro executa o 
<Statement>. Caso <expressão-booleana> seja falsa 
executa o <Statement-b>.
Exercício
• Crie um programa Java, chamado Teste, que recebe duas 
informações através do teclado (use a classe IO para fazer 
entrada e saída de dados):
– String (nome), int (idade)
• O programa cria um objeto do tipo Pessoa, 
• E apresenta a seguinte entrada de dados
– Imprime o nome da pessoa, e adicionalmente imprime
– O string “Criança-Adolescente”, se a idade for menor que 18
– O string “Jovem” se a idade da pessoa for maior ou igual a 18 e 
menor que 25 anos
– O string “Adulto-Idoso” se a idade for maior ou igual a 25 anos
class Teste {
public static void main(String[] args) {
String nome;
int idade;
nome = IO.readString();
idade = IO.readInt();
IO.print(nome);
if ( idade < 18 ) IO.print(“Criança-Adolescente”);
if (idade >= 18 && idade < 25) IO.print(“Jovem”);
if (idade >= 25) IO.print(“Adulto-Idoso”);
}
}
if ( idade < 18 ) IO.print(“Criança-Adolescente”)
else if (idade >= 25) IO.print(“Adulto-Idoso”)
else IO.print(“Jovem”);
Laço
• for, do, while, break, continue
– Comandos para controle de laço, no estilo C/C++.
Modelando um 
TroteUniversitário
class TroteUniversitario {
public static void main(String[] args) {
// 10 veteranos se agrupam fora da sala
int qtdVeteranos = 10;
// ainda não invadiram a sala
boolean salaInvadida = false;
// laço do pré-trote
while (qtdVeteranos > 0) {
IO.println("Professor ministra aula...");
IO.println("Quantos veteranos la fora?");
qtdVeteranos = IO.readInt();
IO.println("Sala invadida (S/N)?");
String invasao = IO.readStr();
IO.println("["+invasao+"]");
if (invasao.equals("S")) {
salaInvadida = true;
}
// Se a sala foi invadida o professor sai
if (salaInvadida) break;
IO.println("Terminou o horário de aula (S/N)?");
String terminou = IO.readStr();
IO.println("["+terminou+"]");
if (terminou.equals("S")) {
IO.println("Professor faz a chamada");
IO.println("Professor sai da sala");
// os veteranos invadem a sala
salaInvadida = true;
// sai do laço
break;
}
} 
IO.println("Professor conclui a aula");
if (salaInvadida) {
IO.println("Rabo de cavalo[Bandeiras] = color-pink");
} else {
IO.println("Bandeira vai embora, com o rabo de cavalo intacto");
}
return;
}
}
SWITCH
• switch (<expressão>) {
case <constante-0> : 
<bloco-de-código-0>
case <constante-1> : 
<bloco-de-código-1>
...
case <constante-n> : 
<bloco-de-código-n>
default : 
<bloco-de-código-default>
}
– Computa o valor da <expressão> e verifica se este é igual ao valor de uma 
das constantes <constante-?> case. Caso positivo desvia a execução do 
programa para o <bloco-de-código-?> correspondente. Caso negativo 
desvia a execução do programa para o <bloco-de-código-default>, que é 
opcional. Para efeito de comparação os valores da <expressão> e 
<constante-?> são convertidos para int. 
Retorno de método
• return <expressão>
– Encerra a execução do método corrente e retorna o valor da 
<expressão> (opcional) ao chamador.
Pseudo-Variáveis
this
Contém uma referência ao próprio objeto sobre o qual está sendo 
executado o método de instância. Não pode ser usado em métodos 
static
Exceções: Tratando
• Executa o <bloco-de-código> e tenta capturar qualquer exceção 
(objeto) porventura levantada durante a execução do <bloco-de-
código>.
• Caso haja compatibilidade de tipo entre a classe do objeto exceção 
levantado e a classe de pelo menos uma das variáveis declaradas na 
cláusula <declaração-de-variável>, executa o primeiro <bloco-tratador-
exceção> cuja variável correspondente seja compatível com a classe de 
exceção levantada será executado
• O <bloco-finalizador> é opcional e será SEMPRE executado após a 
execução do <bloco-de-código> e/ou do <bloco-tratador-exceção>.
Exceções: Declarando e 
Levantando
• <assinatura-de-método> throws 
<lista-de-classes-de-exceções>
– Indica que o método declarado cuja assinatura é <assinatura-de-
método> pode eventualmente levantar um objeto (exceção) de 
qualquer das classes de exceção presentes na <lista-de-classes-de-
exceções>.
• throw <objeto>
– Levanta para o "runtime" o objeto <objeto> como uma exceção
Exceções: Tratando
• try {<bloco-de-código>}
catch (<declaração-de-variável-0>) {
<bloco-tratador-exceção-0> 
}
catch (<declaração-de-variável-1>) {
<bloco-tratador-exceção-1> 
}
...
catch (<declaração-de-variável-n>) {
<bloco-tratador-exceção-n> 
}
finally {<bloco-finalizador>}
Pacotes
• package <nome-de-pacote>
– Declara o pacote ao qual pertence um arquivo de programas Java.
• import <qualificador-de-pacote>
– Inclui no espaço de nomes de compilação do programa os pacotes ou 
classes denotadas pelo <qualificador-de-pacote>

Outros materiais