550 likes | 642 Views
Revisão Java Básico. Programação em Java Prof. Maurício Braga. Introdução. Linguagem de programação desenvolvida pela Sun Microsystems , lançada em 1995.
E N D
Revisão Java Básico Programação em Java Prof. Maurício Braga
Introdução • Linguagem de programação desenvolvida pela SunMicrosystems, 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)
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.
Java SDK • Ambiente para desenvolvimento de aplicações Java; • Aplicações são executadas pela máquina virtual Java (JVM).
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.
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.
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!"); } }
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.
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”;
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
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);
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);
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”
Exemplo • Implementar em Java o programa que calcula a média de aluno que possui 2 notas.
Programa média em Java public 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); }
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.
Comando SE em Java if(condição) // onde condição pode ser uma expressão { Declarações ou blocos } else// caso a condição anterior não seja satisfeita { Declarações ou blocos }
Exemplo SE em Java public static void main(String[] args) { // declaração das variáveis int x = 0, y = 0; // leitura dos dados x = Leia(x); y = Leia(y); if(x >= y) { System.out.println(“X é maior ou igual a Y.”); } else { System.out.println(“X é menor que Y.”); } }
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.
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:
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):
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.
Programa dígito em Java public 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); }
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.
Comando CASO em Java A sintaxe do switch é: switch (expressão) { case constante1: expressões; break; case constante2: expressões; break; default: expressões; }
Exemplo Caso em Java public 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;
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; } }
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).
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 );
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
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 }
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; }
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 ); } Condição de parada Incremento após iteração Inicialização da variável
Instrução de repetição for • Formato geral for (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.
Exercício • Faça um programa que leia 15 números e informe quantos números maiores do que 30 foram digitados.
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:
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.
Programa triangular em Java public 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."); }
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.
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.
Vetores em Java • Recebem o nome de Array. • Para criar um array, 3 passos são necessários: • Declaração; • Construção; • Inicialização.
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;
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