1 / 129

JAVA

JAVA. Linguagem Ambiente de Desenvolvimento Runtime ou Java Virtual Machine. JAVA. Características. Parecida com C++ Compilada Portável Orientada a objetos Segura Suporte a concorrência Suporte a sistemas distribuídos. Máquina Virtual. Máquina emulada em software

carrington
Télécharger la présentation

JAVA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAVA • Linguagem • Ambiente de Desenvolvimento • Runtime ou Java Virtual Machine

  2. JAVA

  3. Características • Parecida com C++ • Compilada • Portável • Orientada a objetos • Segura • Suporte a concorrência • Suporte a sistemas distribuídos

  4. Máquina Virtual • Máquina emulada em software • Java Specification Language • Bytecodes • JVM provê: conjunto de instruções, conjunto de registradores, formato dos bytecodes, gerenciamento automático de memória.

  5. Ambiente de Runtime

  6. Programa Simples 1 //Exemplo de comentario 2 public class AloMundo { 3 public static void main (String args[ ]) { 4 System.out.println("Alo Mundo!"); 5 } 6 }

  7. Exercício 1 //Exemplo de comentario 2 public class AloMundo { 3 public static void main (String args[ ]) { 4 System.out.println("Alo Mundo!"); 5 } 6 } Abra uma janela DOS na pasta do arquivo AloMundo.java. Compile com o javac AloMundo.java e execute com java AloMundo.

  8. Classes e Pacotes • Classe é um termo para um módulo que possui funcionalidade • O Java possui várias classes que implementam diversas funções • Pacote é um grupo de classes relacionadas Pacote java.lang String Math Integer Thread

  9. Documentação JAVA API • Em HTML e descreve: • Hierarquia da classe • Propósito geral • Lista resumida de variáveis, construtores e métodos • Lista detalhada com descrição de variáveis, contrutores e métodos

  10. Declaração • Uma linha de código terminada com ; x=5*i; if (x<50) resposta = "i é menor que 10"; for (int z=0;z<10;z++) a[z] = z;

  11. Bloco • Um grupo de declarações entre {} x=5*i; if (x<50) { resposta = "i é menor que 10"; } for (int z=0;z<10;z++) { a[z] = z; System.out.println(z); }

  12. Identificadores • São nomes utilizados para identificar classes, variáveis e métodos 1 //Exemplo de comentario 2 public class AloMundo { 3 public static void main (String args[ ]) { 4 System.out.println("Alo Mundo!"); 5 } 6 }

  13. Tipos Básicos • boolean verdade = true; • String texto = "aeiou"; • char letra = ‘a’; • int idade = 31; • long premio = 200000; • float peso = 80.5 • double distancia = 1200.34

  14. Convenções de código • Classe: ContaBancaria, Curso • Interface: Conta • Métodos: saque(), adicioneCurso • Variável: clienteAtual • Constantes: VELOCIDADE_MAXIMA • Use {} nas estruturas de controle • Espaçamento

  15. Variáveis • Tipos primitivos • Tipos de referência • Locais: dentro de métodos • Atributos ou variáveis membro: dentro da classe

  16. Inicializando variáveis • Nenhuma variável pode ser utilizada antes de ser inicializada. • Variáveis locais devem ser inicializadas manualmente. • Variáveis membro são iniciadas automaticamente.

  17. Operadores • + - • * / % • == != !(expressão lógica) • && || • < > <= >= • (expressão lógica) ? valor1:valor2

  18. Concatenação de Strings • O operador + concatena Strings, criando uma nova String String saudacao = "Dr. "; String nome = "Pedro " + "Silva"; String titulo = saudacao + nome;

  19. Casting • int d • long a • a = d; // faz uma conversão implícita • d = (int) (a); // precisa conversão explícita

  20. Instruções Condicionais • Comando if if (nota > 7 && falta < 18) { aprovado=true; } else { aprovado=false; }

  21. Instruções Condicionais • Comando switch switch (valor) { case 1: instruções; break; case 2: instruções; break; default: instruções; break; }

  22. Instruções de Loop • Permite a execução repetida de blocos for (int i=0; i<10; i++) { instrução ou bloco; }

  23. Loop // testa antes de executar while (boolean) { instrução ou bloco; } // executa pelo menos uma vez do { instrução ou bloco; } while (boolean test);

  24. Controles Especiais • break ou break com rótulo • continue ou continue com rótulo

  25. Exercício • Crie um aplicação chamada Fatorial que imprima o fatorial de um numero. Para pedir um numero: int n = Integer.parseInt(JOptionPane.showInputMessage("digite um numero")); • Faça um programa que peça um número ao usuário. O programa deve dizer se o número é par ou impar. Se o número for par, o programa deve mostrar os números pares menores. • Faça um programa que peça um número ao usuário e diga se é um número primo. Números primos são divisíveis apenas por 1 e pelo próprio número.

  26. Exercício • Escreva o método main da classe Tabuada que imprime os valores multiplos de m menores que n. O usuário deve informar os valores de m e n. O valor de n deve ser maior que m. Por exemplo: Quais são os múltiplos de 2 (m) ate 8 (n)? Resposta: 0, 2, 4, 6 • Escreva uma classe chamada AreaDoTrianguloRetangulo. Peça para o usuário digitar os valores da base e da altura do triângulo e mostre o valor da área e da hipotenusa. A área do triângulo é igual a base * altura / 2. A hipotenusa é igual a raiz quadrada da soma dos quadrados da base e altura (catetos). Dica: use a função Math.sqrt(n) para calcular a raiz.

  27. Criando uma classe • Definir um tipo que representa uma data class MinhaData { int dia; int mes; int ano; } • Declarando uma variável deste tipo MinhaData meuNascimento, seuNascimento;

  28. Criando um objeto • Objetos são criados com a função new MinhaData meuNascimento; meuNascimento = new MinhaData( ); • As variáveis que referenciam objetos servem para acessar sua estrutura meuNascimento.dia = 26; meuNascimento.mes = 11; meuNascimento.ano = 1960;

  29. Exercício • Um ponto pode ser caracterizado por uma coordenada x e y. Defina uma classe chamada Ponto que representa esta idéia. As coordenadas são valores inteiros. • Escreva uma classe Main com o método main ( ) dentro da classe; declare duas variáveis do tipo Ponto. Chame as variáveis de inicio e fim. Crie os objetos usando new Ponto( ). Atribua o valor 10 a x e y do objeto inicio. Mostre seus valores do objeto inicio. Atribua o valor 20 para a variável x do objeto fim, e o valor 30 para y do objeto fim. Mostre os valores x e y do objeto fim.

  30. Arrays • Um array é uma coleção de variáveis do mesmo tipo. • A coleção é acessada por índices • Arrays podem ser de qualquer tipo primitivo ou classe char s[]; ou char[] s; Ponto p[]; ou Ponto[] p;

  31. Criando Arrays • Arrays são criados com a função new s = new char[20]; p = new Ponto[100]; • Arrays de objetos não criam os objetos automaticamente. Os objetos são criados separadamente. p[0] = new Ponto(); p[1] = new Ponto();

  32. Inicializando Arrays Ponto array[] = { new Ponto(), new Ponto(), new Ponto() }; // equivalente ao código abaixo Ponto array[] = new Ponto[3]; array[0] = new Ponto(); array[1] = new Ponto(); array[2] = new Ponto();

  33. Arrays Multi-dimensionais int twoDim [ ] [ ] = new int [4][ ]; // arrays de mesmo tamanho twoDim[0] = new int [5]; twoDim[l] = new int [5]; // ou arrays de tamanhos diferentes twoDim[0] = new int [2]; twoDim[1] = new int [4]; twoDim[2] = new int [6]; twoDim[3] = new int [8];

  34. Tamanho e redimensionamento • O tamanho de um array está no seu attributo length • Você não pode alterar o tamanho de um array, mas pode usar a mesma variável para criar um novo e maior array.

  35. Copiando Arrays • Use o método arrayCopy da classe System int dados[ ] = { 1, 2, 3, 4, 5, 6 }; int contagem[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; System.arraycopy(dados, 0, contagem, 0, dados.length);

  36. Exercício • Crie uma classe chamada Media. No método main, declare uma variável chamada notas do tipo array de int para 5 notas. Após o usuário informar as notas, o programa deve calcular e mostrar a média. • Faça uma classe para perguntar 5 questões ao usuário. As perguntas devem ser definidas como um array de String. As respostas devem ser salvas em um array de Strings também. Ao final das perguntas o programa deve mostrar as perguntas e respostas.

  37. Classes e Objetos • Princípios dos Objetos • Organizar dados e algoritmos • Encapsulamento • Polimorfismo • Herança

  38. Classes e Objetos • O elemento fundamental em Java é a classe • Classe é um modelo para criar objetos • Define a implementação dos métodos • Todos os métodos tem que pertencer a uma classe • As variáveis definidas na classe são chamadas membros (atributos)

  39. Exemplo class EmpregadoInfo { String nome; String cargo; String departamento; } Para instanciar um objeto, crie e atribua valores aos membros: EmpregadoInfo emp = new EmpregadoInfo( ); emp.nome = "Marcos"; emp.cargo = "gerente"; emp.departamento = "RH";

  40. Métodos • Método mostra() implementado na classe EmpregadoInfo class EmpregadoInfo { String nome; String cargo; String departamento; void mostra( ) { System.out.println(nome + " é " + cargo + " do " + departamento); } }

  41. Executando métodos Este método imprime os dados dos membros da classe quando o objeto foi criado e instanciado. EmpregadoInfo empregado = new EmpregadoInfo( ); emp.nome = "Marcos"; emp.cargo = "gerente"; emp.departamento = "RH"; empregado.mostra( ); A idéia que métodos compõe um objeto e podem interagir intimamente com seus dados é um conceito de orientação a objeto.

  42. Definindo métodos • Contém o código que manipula o estado do objeto • Recebe um número de parâmetros • Possue um tipo de retorno • Sintaxe: <modificador> <tipo_retorno> <nome> ([<parâmetros>]) [throws <exception>] { .... }

  43. Exemplos de métodos public class SalarioEmpregado { private double salario; public void aumentaSalario (double valor){ salario = salario + valor; } public double calculaImposto() { double imposto = 0; if (salario > 1200) { imposto = salario * 0.15; } else if (salario > 2900) { imposto = salario * 0.27; } return imposto; } } // fim da classe

  44. Passagem por valor • Toda passagem de argumentos é por valor, ou seja, uma cópia vai para o método chamado. • Quando o argumento é um objeto, o valor do argumento é uma referência ao objeto. O método pode mudar o conteúdo do objeto, mas nunca a referência.

  45. Referência this • this é uma referência ao objeto corrente • this acessa todas as variáveis membro e métodos do objeto corrente • this é utilizado quando outro objeto precisa conhecer o objeto corrente

  46. Exemplo usando this public class MinhaData { int dia, mes, ano; public void convidaAniversario( ) { Aniversario.envieConvite( this); } } public class Aniversario { public static void envieConvite ( MinhaData d ) { System.out.print( "Convido para meu aniversario " ); System.out.print( " será dia " + d.dia ); System.out.print( " mes " + d.mes ); System.out.print( " ano " + d.ano ); } }

  47. Ocultando Dados public class Data { private int dia, mes, ano; } public class OutraClasse { public static void main(String args[ ]) { Data d = new Data( ); d.dia = 21; // ilegal! } }

  48. Encapsulamento • Protege os dados de um objeto de modificação imprópria, forçando o usuário a ter acesso aos dados por um método. • Assegura que os dados sempre sejam tratados da mesma forma.

  49. Sobrecarregando Métodos • Cada método possui uma assinatura. • A assinatura é composta pelo: • Nome do método • Número e tipo de seus argumentos • Permite escrever vários métodos com o mesmo nome em uma classe que fazem o mesmo trabalho, mas recebem argumentos diferentes.

  50. Sobrecarregando Métodos public void println(int i) public void println(float f) public void println( )

More Related