Java - LPI - 2005/02   LOIANE GRONER
                                 1
POR QUE
                  JAVA?
•Java está presente em mais de 1.5 bilhões de
dispositivos em todo o mundo:




          ...
250 milhões de celulares;
Câmeras fotográficas;

                     Java - LPI - 2005/02   3
Dispositivos e aparelhos médicos

            Java - LPI - 2005/02   4
Veículo para a exploração de Marte
               Spirit
           Java - LPI - 2005/02      5
POR QUE JAVA?

 650 milhões de desktop e servidores
  500 milhões em smart cards e dispositivos
similares
 100 milhões em ...
O QUE É JAVA?
  • Linguagem de Programação
        • Ambiente de
         Desenvolvimento
   • Ambiente de Aplicativos



...
O QUE É JAVA?

• Orientada a Objetos

• Possui Coletor de Lixo
• Robusta (Tratamento de exceções)
•Arquitetura Neutra (Não...
O QUE É JAVA?

• HTML – applets
•Processos automáticos na WEB




                   Java - LPI - 2005/02   9
PLATAFORMA
             JAVA
• Plataforma de Software
• Código Compilado + Interpretado = Híbrido




                    ...
PLATAFORMA JAVA

• Programa pode rodar em qualquer plataforma,
desde que tenha a JMV




                    Java - LPI - ...
PLATAFORMA JAVA

•Outro componente:
  • Java API
     • grupo de bibliotecas (pacotes) com classes e interfaces
     • jav...
HISTÓRIA
• Lançada pela Sun Microsystems
• 1991 - Projeto Green
• Nasce a OAK
• James Gosling



                   Java -...
HISTÓRIA


• Star – 7 (*7) – personagem Duke
• Hot Java
• E nasce um novo sucesso!!!



                  Java - LPI - 200...
CARACTERÍSTICA
      S
  GERAIS DA
  LINGUAGEM
    JAVA
     Java - LPI - 2005/02   15
TIPOS
PRIMITIVOS




   Java - LPI - 2005/02   16
TIPOS
      COMPOSTOS
• Arrays
• Strings
• Ponteiros
• Registros
• Tipos Enumerados
              Java - LPI - 2005/02   17
ARRAYS
     UNIDIMENSIONAIS
• int vet[ ] = new int [10];
• int vet[ ] = {1,2,3,4,5,6};
• vet[5] = 6;
• vet[0] = 1;   Java ...
ARRAYS
MULTIDIMENSIONAIS
• Java não suporta
• Solução: array de arrays
• int matriz [ ][ ] = new int [2][ ];
• int matriz ...
ARRAYS MULTIDIMENSIONAIS

• int mat[ ] [ ] = new int [3];
• mat[0] = new int [2];
• mat[1] = new int [1];
• mat[2] = new i...
STRINGS
• String é um objeto em Java;
• Classe String (pacote java.lang)
• Aspas duplas “ ”
• EX:
    String s = “olá”;
  ...
STRINGS

• Método construtor:
   String s = new String (“olá”);
• Outros argumentos:
   char vetchar[ ] = {‘o’, ‘l’, ‘á’};...
PONTEIROS
• Não existem em Java, são invisíveis
para o programador.
• Constatou-se que geravam bugs
• Referências => uso d...
REGISTROS
• Java não dá suporte
• Recurso: usar uma classe:
  • classe => tipo registro
  • objeto => variável
  • atribut...
public class Data {
       public int dia, mes, ano;
       //métodos da classe Data
}
class UsaData {
       public stati...
TIPOS ENUMERADOS
• Definidos como “enum”
• Conjunto de constantes
• Novidade no JAVA 5.0
• enum Acao {ANDAR, CORRER, SENTA...
CLASSES
     EMPACOTADORAS
• Todo tipo primitivo possui uma classe
epacotadora de tipo
• Tipos primitivos não têm métodos
...
CONVERSÃO
       ENTRE TIPOS
• Único tipo primitivo que não pode
sofrer conversão de/para é o booleano
• Conversões automá...
CONVERSÃO ENTRE TIPOS

• Conversões Explícitas:




               Java - LPI - 2005/02   29
VARIÁVEIS
• Pode-se declarar variáveis em qualquer
lugar do código, mas não é uma boa prática
de programação.
• Podem come...
PALAVRAS
ESPECIAIS




  Java - LPI - 2005/02   31
CONSTANTES
        NOMEADAS
• Utilizam a palavra chave “final” para
especificar que uma variável é constante.
• São escrit...
CONSTANTES NOMEADAS
Exemplo:
class Constantes {
      final int VALOR1 = 250;
      final float VALOR2;
      //método con...
OPERADORES
       Aritméticos
       Atribuição
 Incremento / Decremento
      Comparação
          Lógicos
        Ternár...
OPERADORES ARITMÉTICOS




• Não tem um operador para potência
(Como em ADA e FORTRAN)
=> Math.pow(x,y) => tipo double
   ...
OPERADORES DE ATRIBUIÇÃO




          Java - LPI - 2005/02   36
OPERADORES
INCREMENTO/DECREMENTO




        Java - LPI - 2005/02   37
OPERADORES DE COMPARAÇÃO




          Java - LPI - 2005/02   38
OPERADORES LÓGICOS




       Java - LPI - 2005/02   39
OPERADORES LÓGICOS




       Java - LPI - 2005/02   40
OPERADORES TERNÁRIOS

• Condicional ( ? : ), como em C, C++
• Notação compacta da estrutura if – else
• x = (y == z ? 10 :...
INSTRUÇÕES
       DE CONTROLE
• Tomada de Decisões => if-else, switch-case
• Laços ou Repetições => for, while, do-
while
...
Seletor Bidirecional
if (condição) {
    <comandos>;
}
else {
    <comandos>;
}                 Java - LPI - 2005/02   43
Seletor Múltiplo
switch (expressão) {
    case (constante1) : <comando>;
                                      break;
    ...
Laço de Contagem
for (inicialização; condição; incr/decr)
{
    <comandos>;
}
• Bastante flexível

                Java - ...
Laço Interação
     Enquanto - Faça

while (condição) {
    <comandos>;
}

            Java - LPI - 2005/02   46
Laço Interação
       Faça - Enquanto

do {
   <comandos>;
} while (condição);
            Java - LPI - 2005/02   47
Break - Continue
• Break – usado para interromper a
execução do laço, muito usado no
switch
• Continue – interrompe, mas c...
Escopo
• Variáveis de Instância:
• Depende do modificador de acesso:
• PUBLIC: qualquer outra classe;
• PRIVATE: métodos d...
Escopo

• Variáveis de Métodos:
•Restrição ao bloco em que foi
declarada;
• Visível a partir do momento da
declaração;

  ...
Tempo de Vida
• Variáveis de Métodos: apenas
durante a execução do método;
• Objeto: enquanto for referenciado;




      ...
MEMÓRIA
• Tipos compostos são armazenados
como objetos na heap e manipulados
através de uma referência (variável),
guardad...
MEMÓRIA




 Java - LPI - 2005/02   53
TRATAMENTO
  DE EXCEÇÕES
• Exceções são situações indesejáveis
que podem ocorrer durante a execução
de um programa.
• Erro...
TRATAMENTO DE EXCEÇÕES

Tipos comuns de exceções:
• divisão por zero;
• objeto não instanciado é referenciado;
• acesso a ...
TRATAMENTO DE EXCEÇÕES
Try {
        //código que pode gerar exceção
}
Catch (tipo_de_exceção) {
        //código para tra...
REFERÊNCIAS
• Conteúdo e figuras – referências no trabalho escrito
• Vídeo:
   The “JAVA IS EVERYWHERE" cartoon:
   * Rend...
CRÉDITOS
                                            Bye!
• Editado por:
     Loiane Groner




•Trabalho apresentado à di...
Próximos SlideShares
Carregando em…5
×

Linguagem Java

5.833 visualizações

Publicada em

Apresentação do trabalho final da disciplina de Linguagem de Programação. Linguagem escolhida: Java. Objetivo: fazer uma descrição geral, comparando java à outras linguagens

0 comentários
12 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
5.833
No SlideShare
0
A partir de incorporações
0
Número de incorporações
71
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
12
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Linguagem Java

  1. 1. Java - LPI - 2005/02 LOIANE GRONER 1
  2. 2. POR QUE JAVA? •Java está presente em mais de 1.5 bilhões de dispositivos em todo o mundo: Java - LPI - 2005/02 2
  3. 3. 250 milhões de celulares; Câmeras fotográficas; Java - LPI - 2005/02 3
  4. 4. Dispositivos e aparelhos médicos Java - LPI - 2005/02 4
  5. 5. Veículo para a exploração de Marte Spirit Java - LPI - 2005/02 5
  6. 6. POR QUE JAVA? 650 milhões de desktop e servidores 500 milhões em smart cards e dispositivos similares 100 milhões em outros dispositivos: radares aparelhos domésticos entre outros Java - LPI - 2005/02 6
  7. 7. O QUE É JAVA? • Linguagem de Programação • Ambiente de Desenvolvimento • Ambiente de Aplicativos Java - LPI - 2005/02 7
  8. 8. O QUE É JAVA? • Orientada a Objetos • Possui Coletor de Lixo • Robusta (Tratamento de exceções) •Arquitetura Neutra (Não suporta herança múltipla) • Simples • Case Sensitive • Internacionalização Java - LPI - 2005/02 8
  9. 9. O QUE É JAVA? • HTML – applets •Processos automáticos na WEB Java - LPI - 2005/02 9
  10. 10. PLATAFORMA JAVA • Plataforma de Software • Código Compilado + Interpretado = Híbrido Java - LPI - 2005/02 10
  11. 11. PLATAFORMA JAVA • Programa pode rodar em qualquer plataforma, desde que tenha a JMV Java - LPI - 2005/02 11
  12. 12. PLATAFORMA JAVA •Outro componente: • Java API • grupo de bibliotecas (pacotes) com classes e interfaces • java.lang, java.awt, java.io, java.math Java - LPI - 2005/02 12
  13. 13. HISTÓRIA • Lançada pela Sun Microsystems • 1991 - Projeto Green • Nasce a OAK • James Gosling Java - LPI - 2005/02 13
  14. 14. HISTÓRIA • Star – 7 (*7) – personagem Duke • Hot Java • E nasce um novo sucesso!!! Java - LPI - 2005/02 14
  15. 15. CARACTERÍSTICA S GERAIS DA LINGUAGEM JAVA Java - LPI - 2005/02 15
  16. 16. TIPOS PRIMITIVOS Java - LPI - 2005/02 16
  17. 17. TIPOS COMPOSTOS • Arrays • Strings • Ponteiros • Registros • Tipos Enumerados Java - LPI - 2005/02 17
  18. 18. ARRAYS UNIDIMENSIONAIS • int vet[ ] = new int [10]; • int vet[ ] = {1,2,3,4,5,6}; • vet[5] = 6; • vet[0] = 1; Java - LPI - 2005/02 18
  19. 19. ARRAYS MULTIDIMENSIONAIS • Java não suporta • Solução: array de arrays • int matriz [ ][ ] = new int [2][ ]; • int matriz [ ][ ] = new int [3][2]; • int matriz [ ][ ] = {{1,2},{3,4},{5,6}}; Java - LPI - 2005/02 19
  20. 20. ARRAYS MULTIDIMENSIONAIS • int mat[ ] [ ] = new int [3]; • mat[0] = new int [2]; • mat[1] = new int [1]; • mat[2] = new int [3]; • int mat [ ][ ] = {{1,2},{3},{4,5,6}}; Java - LPI - 2005/02 20
  21. 21. STRINGS • String é um objeto em Java; • Classe String (pacote java.lang) • Aspas duplas “ ” • EX: String s = “olá”; Java - LPI - 2005/02 21
  22. 22. STRINGS • Método construtor: String s = new String (“olá”); • Outros argumentos: char vetchar[ ] = {‘o’, ‘l’, ‘á’}; String s = new String (vetchar); // s = “olá” Java - LPI - 2005/02 22
  23. 23. PONTEIROS • Não existem em Java, são invisíveis para o programador. • Constatou-se que geravam bugs • Referências => uso do “new” => alocados dinamicamente Java - LPI - 2005/02 23
  24. 24. REGISTROS • Java não dá suporte • Recurso: usar uma classe: • classe => tipo registro • objeto => variável • atributos => campos do registro Java - LPI - 2005/02 24
  25. 25. public class Data { public int dia, mes, ano; //métodos da classe Data } class UsaData { public static void main (String args[ ]) { Data hoje = new Data( ); hoje.dia = 29; hoje.mes = 11; hoje.ano = 2005; } } Java - LPI - 2005/02 25
  26. 26. TIPOS ENUMERADOS • Definidos como “enum” • Conjunto de constantes • Novidade no JAVA 5.0 • enum Acao {ANDAR, CORRER, SENTAR}; • Podem ser usados no laço for Java - LPI - 2005/02 26
  27. 27. CLASSES EMPACOTADORAS • Todo tipo primitivo possui uma classe epacotadora de tipo • Tipos primitivos não têm métodos • Exemplo: métodos de casting Java - LPI - 2005/02 27
  28. 28. CONVERSÃO ENTRE TIPOS • Único tipo primitivo que não pode sofrer conversão de/para é o booleano • Conversões automáticas: int x = 25; long y; y = x; Java - LPI - 2005/02 28
  29. 29. CONVERSÃO ENTRE TIPOS • Conversões Explícitas: Java - LPI - 2005/02 29
  30. 30. VARIÁVEIS • Pode-se declarar variáveis em qualquer lugar do código, mas não é uma boa prática de programação. • Podem começar com letra, sublinhado ( _ ) ou cifrão ($), mas não podem começar com números. Java - LPI - 2005/02 30
  31. 31. PALAVRAS ESPECIAIS Java - LPI - 2005/02 31
  32. 32. CONSTANTES NOMEADAS • Utilizam a palavra chave “final” para especificar que uma variável é constante. • São escritas em letras maiúsculas (convenção). • Podem ser inicializadas na delcaração ou no método construtor. Java - LPI - 2005/02 32
  33. 33. CONSTANTES NOMEADAS Exemplo: class Constantes { final int VALOR1 = 250; final float VALOR2; //método construtor public Constantes (float num) { VALOR2 = num; } } Java - LPI - 2005/02 33
  34. 34. OPERADORES Aritméticos Atribuição Incremento / Decremento Comparação Lógicos Ternários Java - LPI - 2005/02 34
  35. 35. OPERADORES ARITMÉTICOS • Não tem um operador para potência (Como em ADA e FORTRAN) => Math.pow(x,y) => tipo double Java - LPI - 2005/02 35
  36. 36. OPERADORES DE ATRIBUIÇÃO Java - LPI - 2005/02 36
  37. 37. OPERADORES INCREMENTO/DECREMENTO Java - LPI - 2005/02 37
  38. 38. OPERADORES DE COMPARAÇÃO Java - LPI - 2005/02 38
  39. 39. OPERADORES LÓGICOS Java - LPI - 2005/02 39
  40. 40. OPERADORES LÓGICOS Java - LPI - 2005/02 40
  41. 41. OPERADORES TERNÁRIOS • Condicional ( ? : ), como em C, C++ • Notação compacta da estrutura if – else • x = (y == z ? 10 : 20); equivale a if (y == z) x = 10; else x = 20; Java - LPI - 2005/02 41
  42. 42. INSTRUÇÕES DE CONTROLE • Tomada de Decisões => if-else, switch-case • Laços ou Repetições => for, while, do- while • Outros => break, continue, label Java - LPI - 2005/02 42
  43. 43. Seletor Bidirecional if (condição) { <comandos>; } else { <comandos>; } Java - LPI - 2005/02 43
  44. 44. Seletor Múltiplo switch (expressão) { case (constante1) : <comando>; break; ... default : <comando>; } Java - LPI - 2005/02 44
  45. 45. Laço de Contagem for (inicialização; condição; incr/decr) { <comandos>; } • Bastante flexível Java - LPI - 2005/02 45
  46. 46. Laço Interação Enquanto - Faça while (condição) { <comandos>; } Java - LPI - 2005/02 46
  47. 47. Laço Interação Faça - Enquanto do { <comandos>; } while (condição); Java - LPI - 2005/02 47
  48. 48. Break - Continue • Break – usado para interromper a execução do laço, muito usado no switch • Continue – interrompe, mas continua executando o próximo passo do laço • Goto – é feito em Java através do break ou continue com rótulo (label) Java - LPI - 2005/02 48
  49. 49. Escopo • Variáveis de Instância: • Depende do modificador de acesso: • PUBLIC: qualquer outra classe; • PRIVATE: métodos da própria classe; • PROTECTED: pacote e herança; Java - LPI - 2005/02 49 • FRIENDLY: pacote (default);
  50. 50. Escopo • Variáveis de Métodos: •Restrição ao bloco em que foi declarada; • Visível a partir do momento da declaração; Java - LPI - 2005/02 50
  51. 51. Tempo de Vida • Variáveis de Métodos: apenas durante a execução do método; • Objeto: enquanto for referenciado; Java - LPI - 2005/02 51
  52. 52. MEMÓRIA • Tipos compostos são armazenados como objetos na heap e manipulados através de uma referência (variável), guardada na pilha. • Tipos primitivos são guardados na pilha Java - LPI - 2005/02 52
  53. 53. MEMÓRIA Java - LPI - 2005/02 53
  54. 54. TRATAMENTO DE EXCEÇÕES • Exceções são situações indesejáveis que podem ocorrer durante a execução de um programa. • Erro => dispara exceção => captura Java - LPI - 2005/02 54
  55. 55. TRATAMENTO DE EXCEÇÕES Tipos comuns de exceções: • divisão por zero; • objeto não instanciado é referenciado; • acesso a um elemento de um array que não existe; • ler inteiro => entra com real; • etc; Java - LPI - 2005/02 55
  56. 56. TRATAMENTO DE EXCEÇÕES Try { //código que pode gerar exceção } Catch (tipo_de_exceção) { //código para tratar a exceção } Finally { //código que deve ser executado em qualquer caso } Java - LPI - 2005/02 56
  57. 57. REFERÊNCIAS • Conteúdo e figuras – referências no trabalho escrito • Vídeo: The “JAVA IS EVERYWHERE" cartoon: * Rendering software: Lightwave3D from NewTek * Video editing software: Final Cut * Sound clips: sound-ideas.com * Voice: Kelsey Gosling * Disponível em: <http://today.java.net/jag/je/> Java - LPI - 2005/02 57
  58. 58. CRÉDITOS Bye! • Editado por: Loiane Groner •Trabalho apresentado à disciplina LPI •3° A – Ciência da Computação - FAESA • Vitória – ES, 29 de novembro de 2005 Java - LPI - 2005/02 58

×