420 likes | 727 Views
Linguagem Java. Alexandre Parra E-mail: parrasilva@gmail.com Site: www.udesc.br. Roteiro. Breve Histórico de Java Características da Linguagem Java Java Virtual Machine (JVM) Sintaxe da Linguagem Java. Histórico (1/2). Surgimento: 1990 - James Gosling – Sun Microsystems
E N D
Linguagem Java Alexandre Parra E-mail: parrasilva@gmail.com Site: www.udesc.br
Roteiro • Breve Histórico de Java • Características da Linguagem Java • Java Virtual Machine (JVM) • Sintaxe da Linguagem Java
Histórico(1/2) • Surgimento: • 1990 - James Gosling – Sun Microsystems • Concebida para o desenvolvimento de pequenos aplicativos e programas de aparelhos eletrodomésticos e eletroeletrônicos. • C++ → OAK → Java
Histórico(2/2) • Inicialmente conhecida como uma ferramenta para criar applets para a WWW. • Applet: mini-aplicação que é executada dentro de uma página Web. • Atualmente bastante utilizada para o desenvolvimento de aplicações para Internet, e outros...
Características – Java(1/4) • Parecida com C, C++ • Embora use um paradigma diferente do C, tem algumas características herdadas desta linguagem. • Orientada a Objetos • Implementa quase todas as características do paradigma orientada a objetos, exceto herança múltipla. • Segurança • Não há ponteiros (apresenta outras estruturas mais seguras); • Coleta automática de lixo: • O programador não precisa gerenciar diretamente a memória • Mecanismos de tratamento de exceções.
Características – Java(2/4) • Suporta execuções concorrentes/paralelas: • Threads de execução • Suporte a programação de sistemas distribuídos: • Sockets; • Remote Method Invocation (RMI); • ...
Características – Java(3/4) • É uma linguagem interpretada. • Programas Java compilados chamam-se “byte-code” (.class). • O “byte-code” será interpretado por uma máquina virtual (JVM) para então executar. • O “byte-code” pode “rodar” em máquinas de plataformas diferentes (independente de plataforma).
Java Virtual Machine(JVM) • Somente dentro da JVM é que os códigos Java são efetivamente executados. • Uma especificação da JVM é direcionada para uma determinada especificação de hardware. • Então “byte-code” são instruções de código de máquina para a JVM. • “Escrever uma vez, executar em qualquer parte, a qualquer tempo e para sempre”. Patrick Naughton
A “Sopa de Letras” do Java(1/3) • API (Application Programming Interface) • São bibliotecas de classes, que podem ser reutilizadas no desenvolvimento de aplicativos Java. • JSDK (ou JDK): • Java Software Development Kit; • Conjunto de ferramentas de desenvolvimento Java disponibilizado pela SUN; • Compilador + depurador + API; • Documentação.
A “Sopa de Letras” do Java(2/3) • JRE (Java Runtime Environment) • Bibliotecas; • Máquina Virtual Java e • demais componentes necessários para executar applets e aplicações escritas em Java.
A “Sopa de Letras” do Java(3/3) • J2SE (Java 2 Standard Edition) • Núcleo da Plataforma Java • Contém o JDK e o JRE • J2ME (Java 2 Micro Edition) • É o Java para pequenos dispositivos • J2EE (Java 2 Enterprise Edition) • Ambiente para o desenvolvimento de aplicações corporativas, complexas e distribuídas fisicamente.
Sintaxe Java • Classe em Java • Atributos • Construtores • Métodos • Interface • Exemplos de Programas Simples
Classe em Java • Uma classe define o estado e comportamento de um objeto, implementando atributos e métodos. • Classe representa um tipo de dadocomplexo. • Objetos (instâncias) são a representação dinâmica das classes. • Principais membros das classes: atributos, métodos e construtores.
Tipos de Classe • São dois tipos de classes: • Classes Concretas: permite a criação de objetos (instâncias) que representam indivíduos específicos da classe. • Classes Abstratas: não permite a criação de objetos (instâncias). • Normalmente, classes abstratas são utilizadas para a definição de interfaces ou de templates que serão utilizados (através da herança) por classes concretas.
Sintaxe de definição de Classe em Java • Os membros só podem ocorrer dentro do bloco ‘class <NomeDaClasse> { ... }’, em qualquer ordem (1) zero ou mais declarações de atributos; (2) zero ou mais construtores; (3) zero ou mais definições de métodos.
construtor Exemplo de Classe Concreta atributo métodos
Classe abstrata Exemplo de Classe Abstrata
Sintaxe de definição de atributos em Java • Sintaxe básica [mod]*tipoidentificador[= valor]; • Chave [mod]*: zero ou mais modificadores (de acesso, de qualidade), separados por espaços: public, private, static, final, etc...; tipo: tipo de dados que a variável (ou constante) pode conter; identificador: nome da variável ou constante; [= valor]: valor inicial da variável ou constante.
atributos Exemplo de atributos em Java
Construtores • Construtores são procedimentos usados para construção de objetos • Parecem métodos, mas nãotêm tipo de retorno. Têm nome idêntico ao nome da classe; • Nem sempre aparecem explícitos em uma classe: podem ser omitidos (o sistema oferece uma implementação padrão).
Sintaxe de definição de construtores em Java • Possui sempre o mesmo nome que a classe. • Contém procedimentos entre chaves, como os métodos. • São chamados apenas uma vez: na criação do objeto. • Pode haver vários em uma mesma classe. • São identificados pelo número e tipo de argumentos. • Nunca declara-se tipo de retorno • Sintaxe • [mod]*nome_classe ( [tipoarg]* ) { ... }
construtores Exemplo de construtores em Java
Sintaxe de definição de métodos em Java • Sintaxe básica [mod]*tipoidentificador ([tipoarg]*) { ... } • Chave [mod]*: zero ou mais modificadores de acesso separados por espaços; tipo: tipo de dados retornado pelo método; identificador: nome do método; [arg]*: zero ou mais argumentos, com tipo declarado, separados por vírgula;
métodos Exemplo de métodos em Java
Sintaxe de definição de Interface em Java • Só podem ocorrer dentro do bloco “interface nomeDaInterface { ... }”: (1)zero ou mais métodos abstratos; (2) zero ou mais constantes;
Objeto em Java(1/3) • O que é um objeto ? • São conceitos que têm: identidade, estado e comportamento.
Objeto em Java(2/3) • Em Java, objetos são armazenados na memória heap e manipulados através de referência (variável), guardada na pilha. • Tem estado (atributos); • Tem comportamento (métodos); • Tem identidade (a referência).
Interface de Objetos • Através da interface* é possível comunicar-se com objetos • Não é preciso saber dos detalhes da implementação. • O tipo (Classe) de um objeto determina sua interface • O tipo determina quais mensagens podem ser enviadas aos objetos. * Interface aqui refere-se aos métodos de um objeto e não um conceito.
Onde obter o Java ? • J2SE - http://java.sun.com/j2se/ • J2EE - http://java.sun.com/j2ee/ • J2ME - http://java.sun.com/j2me/
IDE (Integrated Development Environment) • JCreator - http://www.jcreator.net • NetBeans - http://www.netbeans.org/ • Eclipse - http://www.eclipse.org
Leitura • Ler os capítulos 4 e 5 do livro “Java como Programar” presente em http://www.joinville.udesc.br/portal/professores/parra/
Exercícios • Fazer os exercícios propostos no arquivo “exercicios_ling_java.doc” que se encontra em http://www.joinville.udesc.br/portal/professores/parra/ no link “Materiais” da disciplina LPG-II.