SlideShare ist ein Scribd-Unternehmen logo
1 von 58
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:




                      Java - LPI - 2005/02      2
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 outros dispositivos:
   radares
   aparelhos domésticos
   entre outros


                    Java - LPI - 2005/02      6
O QUE É JAVA?
  • Linguagem de Programação
        • Ambiente de
         Desenvolvimento
   • Ambiente de Aplicativos




             Java - LPI - 2005/02   7
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
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




                     Java - LPI - 2005/02     10
PLATAFORMA JAVA

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




                    Java - LPI - 2005/02        11
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
HISTÓRIA
• Lançada pela Sun Microsystems
• 1991 - Projeto Green
• Nasce a OAK
• James Gosling



                   Java - LPI - 2005/02   13
HISTÓRIA


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



                  Java - LPI - 2005/02   14
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 - LPI - 2005/02   18
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
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
STRINGS
• String é um objeto em Java;
• Classe String (pacote java.lang)
• Aspas duplas “ ”
• EX:
    String s = “olá”;
                Java - LPI - 2005/02   21
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
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
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
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
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
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
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
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çar com letra, sublinhado ( _ )
ou cifrão ($), mas não podem começar com
números.


                 Java - LPI - 2005/02   30
PALAVRAS
ESPECIAIS




  Java - LPI - 2005/02   31
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
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
OPERADORES
       Aritméticos
       Atribuição
 Incremento / Decremento
      Comparação
          Lógicos
        Ternários
        Java - LPI - 2005/02   34
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
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 : 20);
equivale a     if (y == z)
                        x = 10;
               else
                        x = 20;
                      Java - LPI - 2005/02   41
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
Seletor Bidirecional
if (condição) {
    <comandos>;
}
else {
    <comandos>;
}                 Java - LPI - 2005/02   43
Seletor Múltiplo
switch (expressão) {
    case (constante1) : <comando>;
                                      break;
    ...
    default : <comando>;
}              Java - LPI - 2005/02            44
Laço de Contagem
for (inicialização; condição; incr/decr)
{
    <comandos>;
}
• Bastante flexível

                Java - LPI - 2005/02   45
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 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
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);
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
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
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
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 => dispara exceção => captura

               Java - LPI - 2005/02   54
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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36Loiane Groner
 
[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17Loiane Groner
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19Loiane Groner
 
[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24Loiane Groner
 
[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46Loiane Groner
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52Loiane Groner
 
[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15Loiane Groner
 
[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13Loiane Groner
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoCurso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoLoiane Groner
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysLoiane Groner
 
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) [Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) Loiane Groner
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaLoiane Groner
 

Was ist angesagt? (20)

[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36[Curso Java Basico] Exercicios Aula 36
[Curso Java Basico] Exercicios Aula 36
 
[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17
 
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aula 19
 
[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24[Curso Java Basico] Exercicios Aula 24
[Curso Java Basico] Exercicios Aula 24
 
Exercicios java básico
Exercicios java básicoExercicios java básico
Exercicios java básico
 
[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46[Curso Java Basico] Exercicios Aulas 44 a 46
[Curso Java Basico] Exercicios Aulas 44 a 46
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico] Exercicios Aulas 47 a 52
 
[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15[Curso Java Basico] Exercicios Aulas 14 15
[Curso Java Basico] Exercicios Aulas 14 15
 
[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13[Curso Java Básico] Exercícios Aulas 11 12 13
[Curso Java Básico] Exercícios Aulas 11 12 13
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está ComeçandoCurso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e ArraysEstrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
 
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) [Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com JavaExercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
 

Ähnlich wie Java - Por que é tão popular e onde está presente

Ähnlich wie Java - Por que é tão popular e onde está presente (20)

Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
Java20141215 17[1]
Java20141215 17[1]Java20141215 17[1]
Java20141215 17[1]
 
Dr Java Virtual Machine
Dr Java Virtual MachineDr Java Virtual Machine
Dr Java Virtual Machine
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipse
 
1213 java
1213 java1213 java
1213 java
 
Introducao java
Introducao javaIntroducao java
Introducao java
 
Java 9, 10 e ... 11
Java 9, 10 e ... 11Java 9, 10 e ... 11
Java 9, 10 e ... 11
 
Sistemas distribuídos com RMI
Sistemas distribuídos com RMISistemas distribuídos com RMI
Sistemas distribuídos com RMI
 
Groovy stack
Groovy stackGroovy stack
Groovy stack
 
Java 8 e futuro
Java 8 e futuroJava 8 e futuro
Java 8 e futuro
 
Três anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitorTrês anos de Scala no NewsMonitor
Três anos de Scala no NewsMonitor
 
Java cert programmer
Java cert programmerJava cert programmer
Java cert programmer
 
Java 9, 10, 11
Java 9, 10, 11Java 9, 10, 11
Java 9, 10, 11
 
55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Jsummit 2014
Jsummit 2014Jsummit 2014
Jsummit 2014
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 

Java - Por que é tão popular e onde está presente

  • 1. Java - LPI - 2005/02 LOIANE GRONER 1
  • 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. 250 milhões de celulares; Câmeras fotográficas; Java - LPI - 2005/02 3
  • 4. Dispositivos e aparelhos médicos Java - LPI - 2005/02 4
  • 5. Veículo para a exploração de Marte Spirit Java - LPI - 2005/02 5
  • 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. O QUE É JAVA? • Linguagem de Programação • Ambiente de Desenvolvimento • Ambiente de Aplicativos Java - LPI - 2005/02 7
  • 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. O QUE É JAVA? • HTML – applets •Processos automáticos na WEB Java - LPI - 2005/02 9
  • 10. PLATAFORMA JAVA • Plataforma de Software • Código Compilado + Interpretado = Híbrido Java - LPI - 2005/02 10
  • 11. PLATAFORMA JAVA • Programa pode rodar em qualquer plataforma, desde que tenha a JMV Java - LPI - 2005/02 11
  • 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. HISTÓRIA • Lançada pela Sun Microsystems • 1991 - Projeto Green • Nasce a OAK • James Gosling Java - LPI - 2005/02 13
  • 14. HISTÓRIA • Star – 7 (*7) – personagem Duke • Hot Java • E nasce um novo sucesso!!! Java - LPI - 2005/02 14
  • 15. CARACTERÍSTICA S GERAIS DA LINGUAGEM JAVA Java - LPI - 2005/02 15
  • 16. TIPOS PRIMITIVOS Java - LPI - 2005/02 16
  • 17. TIPOS COMPOSTOS • Arrays • Strings • Ponteiros • Registros • Tipos Enumerados Java - LPI - 2005/02 17
  • 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. 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. 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. STRINGS • String é um objeto em Java; • Classe String (pacote java.lang) • Aspas duplas “ ” • EX: String s = “olá”; Java - LPI - 2005/02 21
  • 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. 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. 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. 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. 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. 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. 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. CONVERSÃO ENTRE TIPOS • Conversões Explícitas: Java - LPI - 2005/02 29
  • 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. PALAVRAS ESPECIAIS Java - LPI - 2005/02 31
  • 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. 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. OPERADORES Aritméticos Atribuição Incremento / Decremento Comparação Lógicos Ternários Java - LPI - 2005/02 34
  • 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. OPERADORES DE ATRIBUIÇÃO Java - LPI - 2005/02 36
  • 37. OPERADORES INCREMENTO/DECREMENTO Java - LPI - 2005/02 37
  • 38. OPERADORES DE COMPARAÇÃO Java - LPI - 2005/02 38
  • 39. OPERADORES LÓGICOS Java - LPI - 2005/02 39
  • 40. OPERADORES LÓGICOS Java - LPI - 2005/02 40
  • 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. 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. Seletor Bidirecional if (condição) { <comandos>; } else { <comandos>; } Java - LPI - 2005/02 43
  • 44. Seletor Múltiplo switch (expressão) { case (constante1) : <comando>; break; ... default : <comando>; } Java - LPI - 2005/02 44
  • 45. Laço de Contagem for (inicialização; condição; incr/decr) { <comandos>; } • Bastante flexível Java - LPI - 2005/02 45
  • 46. Laço Interação Enquanto - Faça while (condição) { <comandos>; } Java - LPI - 2005/02 46
  • 47. Laço Interação Faça - Enquanto do { <comandos>; } while (condição); Java - LPI - 2005/02 47
  • 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. 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. 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. 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. 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. MEMÓRIA Java - LPI - 2005/02 53
  • 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. 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. 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. 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. 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