revisão java básico programação em java prof. maurício braga
TRANSCRIPT
Revisão Java BásicoRevisão Java Básico
Programação em Java
Prof. Maurício Braga
2/55
Introdução
Linguagem de programação desenvolvida pela Sun Microsystems, lançada em 1995.
Originalmente desenvolvida para ser utilizada em pequenos dispositivos, está presente em diversas plataformas computacionais, desde celulares e palmtops a computadores;
Devido as suas vantagens, é hoje largamente adotada pela indústria no desenvolvimento de software.
Plataformas Java
Standard Edition (JSE)Enterprise Edition (JEE)Micro Edition (JME)
4/55
Java Standard Edition (JSE)
Plataforma para desenvolvimento de programas que serão utilizados em computadores desktop;
Entre as várias API’s disponíveis para auxiliar o desenvolvimento de aplicações, destacamos:
Swing; Collections; RMI; JDBC; Java 2D e 3D.
5/55
Ambiente para desenvolvimento de aplicações Java;
Aplicações são executadas pela máquina virtual Java (JVM).
Java SDK
6/55
Vantagens do padrão Java
Entre as vantagens da utilização do padrão Java, podemos destacar:
Orientada a Objetos; Segura; Portável; Multi-thread; Neutralidade de Arquitetura.
7/55
Máquina Virtual Java (JVM)
Executa bytecodes que são independentes da plataforma onde o programa será executado;
Pode ser implementada em software ou hardware.
Provê definições para:
Conjunto de instruções; Conjunto de registradores; Pilha; Heap; Formato de arquivos .class.
8/55
O kit de desenvolvimento Java
Contém pacotes com funções prontas para uso, tais como:
Entrada e Saída; Interface Gráfica; Comunicação em Rede; Threads.
Inclui as ferramentas:
Compilador – javac; Appletviewer; Interpretador – java; Gerador de Documentos – javadoc; Gerador de arquivos jar.
Exemplo Simples de Um Programa em Java
public class MeuPrograma
{
public static void main(String [ ] args)
{
System.out.println("Hello World!");
}
}
Criando um programa Java
Criando um programa Java
12/55
Comentários
Em Java é possível comentar código de três formas diferentes:
// comentários de uma linha
/* comentários de várias linhas */
/** comentários para documentação */
Tipos de dados em Java
Java possui oito tipos primitivos de dados:
Lógico: boolean Texto (1 caractere): char Inteiros: byte, short, int e long Reais: double e float
Todos os tipos numéricos possuem sinal.
String: representa uma cadeia de caracteres.
14/55
Identificadores
São nomes dados às variáveis, classes ou métodos.
Podem iniciar com uma letra Unicode, um cifrão ($) ou um underscore (_).
Diferenciam entre maiúsculas e minúsculas.
Exemplos:
meuNome nome_usuario _valor $contador @mail // ilegal
Declaração de variáveis
Sintaxe de uma variável em Java:
<tipo> <nome> [ = <valor inicial>];
Onde:
<tipo> = byte | short | int | long | char | float | double boolean
Exemplos:
int x;double calc = 45.76;String melhorTimeDePE = “Náutico”;
16/55
Operadores em Java
Operadores aritméticos Consistem de:
Adição (+); Subtração (-); Multiplicação (*); Divisão real entre dois números (/); Divisão inteira entre dois números inteiros (/); Resto da divisão inteira entre dois números inteiros (%).
Operadores Lógicos em Java
Operadores Booleanos:! - Não & - E
| - Ou ^ - Ou Exclusivo
Operadores Booleanos com Curto-Circuito|| - Ou && - E
18/55
Comando de entrada de dados
Normalmente precisamos de dados de entrada para serem processados pelo programa.
Desta forma, precisamos de um comando para solicitar e obter dados fornecidos pelo usuário.
Quando um computador encontra um comando de entrada de dados, ele suspende a execução do programa até que os dados sejam fornecidos.
A função Leia está disponível no site da disciplina, e deve ser adicionada ao código do programa.
variável = Leia (variável);
19/55
Comando de saída de dados
Da mesma forma que precisamos receber dados externos, precisamos fornecer dados e instruções para os usuários.
Desta forma, precisamos de um comando para retornar dados e/ou mensagens em um dispositivo de saída.
Ex: System.out.println(“O saldo atual é” + saldo); System.out.println(soma);
System.out.println(var ou expressão ou mensagem);
20/55
O método main()
A execução de uma aplicação Java se inicia através da função main();
A função main tem sempre a mesma declaração:
public static void main(String[] args)
Caso haja interesse em fazer uso do parâmetro args, o mesmo deve ser passado pela linha de comando como um conjunto de valores separados:
c:\>java Aplicacao nome1 valor1 “Uma String”
21/55
Exemplo
Implementar em Java o programa que calcula a média de aluno que possui 2 notas.
22/55
Programa média em Javapublic static void main(String[] args) {
// Variáveis: nota1, nota2 e média do aluno double nota1 = 0, nota2 = 0, media = 0;
System.out.println("Entre a primeira e a segunda nota do aluno:");
// entrada de dados nota1 = Leia(nota1); nota2 = Leia(nota2);
// cálculo da média media = (nota1 + nota2)/2;
System.out.println("A média é : "+media);}
23/55
Estruturas de seleção
Para alterarmos o fluxo de execução de um programa escrito em Java, temos o comando if.
Para situações onde temos vários caminhos de execução que dependem da avaliação de uma variável inteira, temos o comando switch.
24/55
Comando SE em Java
ifif (condição) // onde condição pode ser uma expressão (condição) // onde condição pode ser uma expressão
{{
Declarações ou blocos Declarações ou blocos
}}
elseelse // caso a condição anterior não seja satisfeita// caso a condição anterior não seja satisfeita
{ {
Declarações ou blocos Declarações ou blocos
}}
25/55
Exemplo SE em Java
public static void main(String[] args) { // declaração das variáveis// declaração das variáveis int x = 0, y = 0;int x = 0, y = 0; // leitura dos dados// leitura dos dados x = Leia(x);x = Leia(x); y = Leia(y);y = Leia(y);
ifif (x >= y) {(x >= y) { System.out.println(“X é maior ou igual a Y.”); System.out.println(“X é maior ou igual a Y.”); }} else else { { System.out.println(“X é menor que Y.”);System.out.println(“X é menor que Y.”); }}}}
26/55
Exercício
A prefeitura de Recife criou um programa de empréstimo para seus funcionários com desconto em folha. O valor da prestação não pode ultrapassar 30% do salário bruto do funcionário. Faça um programa que solicite o valor do salário bruto, o valor da prestação e informe se o empréstimo pode ou não ser concedido.
27/55
Exercício
Faça um programa que solicite o valor do salário e calcule o IRRF a ser recolhido de acordo com a tabela abaixo:
Salário IR Parcela a deduzir
Até R$ 1372,00 isento 0
De R$ 1372,00 a 2743,00 15% R$ 205
Acima de R$ 2743,00 27,5% R$ 548
28/55
Exercício
Uma companhia aérea define os preços de suas passagens a partir da informação do destino bem como do número de passagens (se é apenas ida ou se inclui também a volta). Faça um programa que solicite o destino bem como se o cliente deseja ida e volta e informe o preço de acordo com a tabela abaixo (PS: a empresa não trabalha nos trechos sul e sudeste):
Região Ida Ida e volta
Norte R$ 100 R$ 180
Nordeste R$ 205 R$ 375
Centro-oeste R$ 548 R$ 1007
29/55
Exercício
Uma instituição bancária utiliza um dígito verificador para validar o número da conta (com 3 dígitos) de seus clientes. Faça um programa que solicite o número da conta e calcule o dígito verificador. Os passos para calcular o dígito verificador são:
Ex: Número da conta = 235. 1) somar o número da conta com o seu inverso. Ex: 235 + 532 = 767 2) Multiplicar cada digito do número obtido no passo anterior pela sua
ordem posicional e somar esses resultados. O último digito do número obtido é o dígito verificador.
Ex: 7 x 1 + 6 x 2 + 7 x 3 = 40 (dígito verificador 0).
PS: Use o operador % e a divisão inteira para obter o dígito verificador.
30/55
Programa dígito em Javapublic static void main(String[] args) {
int conta = 0, inverso = 0,digito = 0, d1 = 0, d2 = 0, d3 = 0, soma = 0;System.out.println("Digite o número da conta (3 dígitos apenas):");conta = Leia(conta);d1 = conta / 100;d2 = (conta % 100) / 10;d3 = conta % 10;inverso = d3 * 100 + d2 * 10 + d1;soma = conta + inverso;d1 = (soma /100)*1;d2 = ((soma /10) % 10 )*2;d3 = (soma %10)*3;digito = (d1 + d2 + d3)% 10;System.out.println("digito verificador = "+ digito);
}
31/55
Comando CASO
O comando caso é útil em situações onde há necessidade de se testar uma mesma variável (ou expressão) que possa conter diversos valores Cada valor exige a execução de comandos diferentes.
Uma expressão é comparada a diversos valores de acordo com a ordem definida.
Ao encontrar uma ocorrência do valor correto, o comando relativo é executado e o algoritmo segue para o fim do CASO.
Se nenhum dos valores for igual ao conteúdo da variável, poderá ser executado um outro comando através do complemento SENÃO.
32/55
Comando CASO em Java
A sintaxe do switch é:
switch (expressão) { case constante1:
expressões; break; case constante2:
expressões; break; default: expressões; }
33/55
Exemplo Caso em Javapublic static void main(String[] args) { // declaração de variáveis
int numero =0;System.out.println(“Digite um número:");numero = Leia(numero);
switch (numero) {case 0:
System.out.println(“Você digitou 0.");break;
case 1: System.out.println(“Você digitou 1.");break;
34/55
Exemplo Caso em Java
case 2:
System.out.println(“Você digitou 2.");
break;
case 3:
System.out.println(“Você digitou 3.");
break;
default:
System.out.println(“Você digitou um valor maior do que 3 ou menor que 0.");
break;
}
}
35/55
Estruturas de repetição
Diferente do ser humano, o computador não se cansa de realizar operações repetitivas.
Diante disto, podemos incluir nos algoritmos as estruturas de repetição.
O que é uma repetição? Também chamada a laço ou loop; É uma instrução que permite a execução de um trecho de
algoritmo várias vezes seguidas. Nesta aula veremos:
Repetição com teste no início (comando Enquanto); Repetição com teste no final (comando Repita); Repetição com variável de controle (comando Para).
36/55
Comando REPITA em Java
O mais próximo do REPITA em java é a instrução do...while
Teste realizado após a execução do corpo do loop. O corpo do loop sempre executa ao menos uma vez. Diferente do repita, o código continuará sendo executado
enquanto a instrução for VERDADEIRA.
do {
instrução
} while ( condição );
37/55
Exemplo comando do...while
int contador = 1; //declara e inicializa o contador
do {
// Imprime e incrementa o contador
System.out.println( “Contador = ” +contador);
contador = contador + 1;
} while (contador <= 10); // testa a condição de parada
38/55
Comando Enquanto em Java
Implementado com a instrução while instrução que efetua o teste antes da execução
do corpo do loop. O corpo do loop pode nunca ser executado.
while ( condição ) {
instrução
}
39/55
Exemplo comando While
int contador; // declara a variável de controle
contador = 1; // inicializa a variável de controle
while (contador <= 10) { // condição de parada do loop
// incrementa a variável de controle por 1 System.out.println( “Contador = ” + contador);
contador = contador +1;}
40/55
Comando Para em Java
Instrução de repetição for foi criada para repetição utilizando variável contadora Especifica os detalhes da repetição controlada por
uma variável contadora em uma única linha
for ( int contador = 1; contador <= 10; contador++ ) {
System.out.println( “contador = ” + contador );
}
Inicialização da variávelCondição de parada Incremento após iteração
41/55
Instrução de repetição for
Formato geralfor (inicialização; condiçãoDeParada; incremento) { instrução}
Inicialização Nomeia a variável de controle e inicializa seu valor.
Condição de parada Condição que determina se o loop deve parar.
Incremento Modifica o valor do contador para que a condição de parada torne-
se falsa ao final.
42/55
Exercício
Faça um programa que leia 15 números e informe quantos números maiores do que 30 foram digitados.
43/55
Exercício
Faça um programa que leia o número de termos de uma série (N) e imprima o valor de S, sendo:
NN
NNNS
2
1...
2
3
1
21
44/55
Exercício
Faça um programa que leia um número inteiro e verifique se ele é um número triangular.
PS: Um número é triangular quando é o resultado do produto de 3 números consecutivos. Ex: 24 = 2 x 3 x 4.
45/55
Programa triangular em Javapublic static void main(String[] args) {
int numero = 0, num = 1, produto = 0;System.out.println("Digite o número:");numero = Leia(numero);produto = num*(num+1)*(num+2);while (produto < numero) { num = num+1; produto = num*(num+1)*(num+2);}if (produto==numero) System.out.println(numero + " é triangular: " + num + "*"+(num+1)+"*"+(num+2)+"= "+numero+".");else System.out.println(numero + " não é triangular.");
}
46/55
Vetores
Até agora sempre utilizamos variáveis definidas a partir de tipos básicos de dados. Cada variável só é capaz de armazenar um dado por vez.
Existem situações em que é necessário armazenar uma grande quantidade de dados na memória ao mesmo tempo. Esta quantidade torna inviável a criação de variáveis para cada um dos
dados a ser armazenado. Para estes casos, poderemos criar variáveis a partir de tipos de
dados estruturados. Um tipo de dado estruturado é aquele formado pela junção ou
combinação de tipos básicos, definindo apenas uma variável que o represente.
47/55
Vetores
Vetor (ou array) é uma estrutura de dados composta por uma quantidade determinada de elementos de um mesmo tipo. Como armazena sempre dados do mesmo tipo, diz-
se que vetores são estruturas de dados homogêneas.
48/55
Vetores em Java
Recebem o nome de Array.
Para criar um array, 3 passos são necessários: Declaração; Construção; Inicialização.
49/55
Vetores em Java
A construção é feita com o operador new. int vetor[ ] = new int[10];
Os índices em um array em Java começam em 0.
Para inserirmos elementos, precisamos indicar a posição no array onde eles serão inseridos:
vetor[0] = 52; vetor[1] = -28;
50/55
Vetores em Java
Não se especifica o tamanho do array na declaração: int vetor[ ]; // declaração do array
Isso deve ser feito apenas na construção: vetor = new int[10]; // construção do array
51/55
Vetores
Observações É necessário validar acessos a índices inexistentes, evitando
erros no sistema; Apenas variáveis inteiras podem ser utilizadas como índices de
um vetor. Cada elemento do vetor deve ser tratado como uma variável
independente Todas as operações que podem ser realizadas sobre variáveis
de tipos básicos, podem ser aplicadas a posições de um vetor. Ex.: ler preco[10]; escrever preco[12];
52/55
Vetores em Java
Não é possível acessar além dos limites em um array.
Para sabermos o tamanho de um array, podemos usar a variável length:
Ex:int v[ ] = new int[10];
for(int i = 0; i < v.length; i++) {
System.out.println("array[" +i + "] = " +v[i]);
}
53/55
Exercício
Faça um programa que leia 10 nomes em um vetor e depois permita a consulta dos nomes armazenados a partir da posição do nome no vetor.
54/55
Exercício
Faça um programa que leia 30 números inteiros em um vetor e depois imprima os números na ordem inversa a qual foram digitados.
Revisão Java BásicoRevisão Java Básico
Programação em Java
Prof. Maurício Braga