SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PDF
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
PPT
Minicurso de JavaScript (Portuguese)
PDF
[Curso Java Basico] Exercicios Aula 35
PDF
Curso de Java Persistence API (JPA) (Java EE 7)
PDF
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
PDF
[Curso Java Basico] Exercicios Aula 36
PDF
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
PDF
[Curso Java Basico] Aula 23: Como debugar no Netbeans
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
Minicurso de JavaScript (Portuguese)
[Curso Java Basico] Exercicios Aula 35
Curso de Java Persistence API (JPA) (Java EE 7)
Lambda Expressions in Java | Java Lambda Tutorial | Java Certification Traini...
[Curso Java Basico] Exercicios Aula 36
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
[Curso Java Basico] Aula 23: Como debugar no Netbeans

Mais procurados (20)

PDF
[Curso Java Basico] Exercicios Aulas 47 a 52
PDF
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
PPTX
Programação orientada a objetos
PDF
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
PDF
[Curso Java Basico] Exercicios Aulas 36 a 43
PDF
Aula 1 - Introdução a POO
PPTX
01 Introdução à programação web
PPTX
Spring Boot Tutorial
PDF
Introdução a Linguagem Java
PDF
Tutorial Django + Python
PDF
[Curso Java Basico] Exercicios Aula 19
PDF
[Curso Java Basico] Exercicios Aulas 28 a 33
PDF
[Curso Java Basico] Aula 14: Condicionais If-Else
PPT
Core java concepts
PDF
[Curso Java Basico] Exercicios Aulas 25 a 27
POT
Algoritmo 06 - Array e Matrizes
PDF
[Curso Java Basico] Exercicios Aulas 44 a 46
PDF
Node.js - #1 - Introdução - Rodrigo Branas
PPTX
Introdução à Gerência de configuração de Software
PPTX
Aula 07 - Visualg e Pseudocódigo
[Curso Java Basico] Exercicios Aulas 47 a 52
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
Programação orientada a objetos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Basico] Exercicios Aulas 36 a 43
Aula 1 - Introdução a POO
01 Introdução à programação web
Spring Boot Tutorial
Introdução a Linguagem Java
Tutorial Django + Python
[Curso Java Basico] Exercicios Aula 19
[Curso Java Basico] Exercicios Aulas 28 a 33
[Curso Java Basico] Aula 14: Condicionais If-Else
Core java concepts
[Curso Java Basico] Exercicios Aulas 25 a 27
Algoritmo 06 - Array e Matrizes
[Curso Java Basico] Exercicios Aulas 44 a 46
Node.js - #1 - Introdução - Rodrigo Branas
Introdução à Gerência de configuração de Software
Aula 07 - Visualg e Pseudocódigo
Anúncio

Semelhante a Linguagem Java (20)

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

Último (20)

PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula sobre banco de dados com firebase db
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula sobre desenvolvimento de aplicativos
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Apple Pippin Uma breve introdução. - David Glotz
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula sobre banco de dados com firebase db
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 9 - (Threads) Multitarefas.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Processos na gestão de transportes, TM100 Col18
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26

Linguagem Java

  • 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