Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características:...

21
Linguagem JAVA Ariane Machado Lima

Transcript of Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características:...

Page 1: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Linguagem JAVA

Ariane Machado Lima

Page 2: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Noções gerais Histórico (Oak) Características:

– simples e familiar (C, C++)– orientada a objetos (tipos primitivos e objetos)– distribuída (redes dinâmicas e objetos remotos)– interpretada (bytecode, JVM, compile-run)– robusta (sem pointers, GC, fortemente tipada)– segura (GC, sem pointers, bytecode protegido)– portabilidade (diferentes plataformas e browsers)– alta performance (desenvolvimento e bom bytecode) – multitarefa e dinâmica (threads, sincronização,

redes)

Page 3: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Java não tem... typedef, define, preprocessor struct, union enum goto pointers sobrecarga de operadores templates herança múltipla

Page 4: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Sintaxe básica

Tipos básicos:– long : inteiro de 64 bits (+ ou - 18 dígitos)– int: inteiro de 32 bits [-2.147.483.648; + 2.147.483.647]– short: inteiro de 16 bits [-32.768; + 32.767]– byte: inteiro de 8 bits [-128; +127]– double: real de precisão dupla, 64 bits [1,7E-308; 1,7E+308]– float: real de 32 bits [3,4E-38; 3,4E+38]– char: caracter de 16 bits (sem sinal)– boolean: tipo lógico true ou false (1 bit)

Page 5: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Sintaxe básica (cont.) Comentários:// até o fim da linha/* até encontrar uma

barra / Operadores relacionais:

== igual!= diferente> maior>= maior ou igual< menor<= menor ou igual

Page 6: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Sintaxe básica (cont.) Operadores aritméticos

x = 4*(2+5) / (3-1) // x == 14y = x % 3 // y == 2x++ // x == 15y-- // y == 1

y += x // y == 16-= *= /= %=

Alguns operadores lógicos&& e|| ou

Page 7: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Comando condicional

if (expressão booleana)bloco1;

else bloco2;

if (x >= 0)x = 1;

else x = -1;

Page 8: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Comando de seleção

switch (expressão){ case valor1: bloco1;

break;case valor2: bloco2;break;...case valorN: blocoN;break;default: bloco N+1;

}

Page 9: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Comandos de Repetição

while (x>=0) { System.out.println(“Valor de x: ” + x);

x--;}

do{ x--;

System.out.println(“Valor de x: ” + x);} while (x>0)

Page 10: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Comandos de Repetição (cont.)

for (x= -20; x<= 0; x++){

msg = “Valor de x” + x;System.out.println(msg);

}

Page 11: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Equivalências

super this ~ self static: método ou variável de classe Envio de mensagens:

(classe/objeto).mensagem([param*]) Exemplo:

Page 12: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Final

Classe: – não pode ser mais extendida

Método: – não pode mais ser sobrecarregado

Variável:– não pode mais mudar de valor

(constante)

Page 13: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Classes e métodos abstratos Classes abstratas:

– reúne características comuns das subclasses– não podem ser instanciadas (não possuem

construtor) Métodos abstratos:

– não possui código– devem ser implementados nas subclasses– não pode ser static ou final – devem pertencer a uma classe abstrata

Page 14: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Interface

Define tipo (~classe abstrata) Apenas métodos públicos Não possui código Não possui atributos de instância

– atributos final e static são permitidos Não possui construtor Podem herdar de outras interfaces

Page 15: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Classes abstratas X interfaces

Fatoração de implementação: – funcionalidades iguais de um conjunto de classes

podem ser implementadas apenas uma vez na classe abstrata

Generalidade de uso:– uma interface pode ser implementada por classes

não relacionadas

Page 16: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Classes abstratas X interfaces (cont.)

Expansibilidade:– inserção de novos métodos em uma interface

implica modificação de todas as classes que a implementam

Herança múltipla:– cada classe pode herdar de apenas uma classe

(abstrata ou não), mas pode implementar várias interfaces

Page 17: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Pacotes Coleções de classes java, javax, org.omg subpacotes nome completo de classes inclui pacote:

– String ~ java.lang.String Definindo pacotes:

package meu_pacote; Usando pacotes:

import java.util.*;

Page 18: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Alguns pacotes java.lang java.util java.io java.awt java.math java.net java.beans

Page 19: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Estrutura de um arquivo .java

[package][import]public class NomeArquivo

Page 20: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Arrays

Declaração:

Point [] listaDePontos;Point listaDePontos[];

listaDePontos.length

Page 21: Linguagem JAVA Ariane Machado Lima. Noções gerais n Histórico (Oak) n Características: –simples e familiar (C, C++) –orientada a objetos (tipos primitivos.

Arrays (cont) Criação e inicialização:listaDeInteiros = new int[10]; //valores defaultlistaDeInteiros = new int {1,2,3,4,5}; //tipo implícito

(uso de array anônimo)listaDeInteiros = {1,2,3,4,5}; //tipo e tamanho

implícitosPoint[] pontos {circulo1.getCenterPoint(),

circulo2. getCenterPoint()}//inicialização em tempo de execução