Java20141215 17[1]

51
Java Prof.: Diogo Rafael da Silva [email protected]

Transcript of Java20141215 17[1]

Page 1: Java20141215 17[1]

Java

Prof.: Diogo Rafael da Silva [email protected]

Page 2: Java20141215 17[1]

Exercicío

• O que é?• Para que serve?• O que me possibilita?• Expectativas?

Page 3: Java20141215 17[1]

Expectativas

• Jean Marcelo - aprender a lin. criar sites, e sw• Robert - Aplicativo Desktop web Mobile• Glauco - Qualificação profissional• Maick - desktop e web• Emerson - mobile• Bruno - Interativo, inovador, mobile• Regilcilane - aplicações para o mercado• Tarcisio - Mercado

Page 4: Java20141215 17[1]

Expectativas

Page 5: Java20141215 17[1]

Expectativas

Page 6: Java20141215 17[1]

Expectativas

Page 7: Java20141215 17[1]

Expectativas

Page 8: Java20141215 17[1]

Java

Page 9: Java20141215 17[1]

Java - Histórico

• A linguagem de programação Java foi criada em 1991 por James Gosling, ela iniciou-se como parte do projeto Green da Sun Microsystems. Inicialmente a linguagem iria chamar-se Oak (Carvalho) em referência a árvore que era visível pela janela de James Gosling. A mudança de nome ocorreu pois já existia uma linguagem de programação com este nome, então a linguagem foi rebatizada para Java.

Page 10: Java20141215 17[1]

Java - Histórico

O termo Java é utilizado, geralmente, quando nos referimos a:• Linguagem de programação orientada a objetos;• Ambiente de desenvolvimento composto pelo

compilador, interpretador, gerador de documentação e etc.;

• Ambiente de execução que pode ser praticamente qualquer máquina que possua Java Runtime Environment (JRE) instalado

Page 11: Java20141215 17[1]

Java - Histórico

linguagem de programação Java é uma linguagem de alto-nível com as seguintes características:

• Simples: O aprendizado da linguagem de programação Java pode ser feito em um curto período de tempo;

• Orientada a objetos: Desde o início do seu desenvolvimento esta linguagem foi projetada para ser orientada a objetos;

• Familiar: A linguagem Java é muito familiar para os programadores C/C++ ;

• Robusta: Ela foi pensada para o desenvolvimento de softwares confiáveis provendo verificações tanto em tempo de execução quanto compilação, o coletor de lixo responsabiliza-se pela limpeza da memória quando houver necessidade

Page 12: Java20141215 17[1]

Java - Histórico

• Segura: Aplicações Java são executadas em ambiente próprio (JRE) o que inviabiliza a intrusão de código malicioso;

• Portável: Programas desenvolvidos nesta linguagem podem ser executados em praticamente qualquer máquina desde que esta possua o JRE instalado

• Etc...

Page 13: Java20141215 17[1]

Java - máquina virtual java (JVM)

• A máquina virtual java (JVM) é uma máquina imaginária que emula uma aplicação em uma máquina real. É a JVM que permite a portabilidade do código Java, isto ocorre porque todo código Java é compilada para um formato intermediário, bytecode, este formato é então interpretado pela JVM.

• Existem diversas JVMs cada uma delas destinada a um tipo de sistema operacional (Windows, Linux, Mac e etc.), desta forma sendo o código da aplicação Java, bytecode, um código interpretado pela JVM, podemos desenvolver uma aplicação sem nos preocuparmos onde ela será executada pois sabemos que existindo a JVM instalada nosso código será executável.

Page 14: Java20141215 17[1]

Java - máquina virtual java (JVM)

Page 15: Java20141215 17[1]

Java - máquina virtual java (JVM)

Page 16: Java20141215 17[1]

Java -Coletor de Lixo Garbage Collection

• Muitas linguagens de programação nos permitem alocar espaço na memória em tempo de execução, uma vez encerrado o programa deve haver uma maneira de liberar este espaço para que outras aplicações possam utilizá-lo. -- Em muitas das linguagens de programação, inclusive C e C++, a responsabilidade pela liberação do espaço que não mais será utilizado é do programador, no entanto, nem sempre é fácil gerenciar o que está e o que não está sendo utilizado, a má gerência da memória ocasiona muitas vezes o estouro de pilha (stack overflow) entre outros problemas . -- Na linguagem de programação Java a responsabilidade pela gerência da memória é do Coletor de lixo (Garbage Collector), desta forma, programadores Java ficam livres da preocupação de alocação e desalocação da memória.

• O Coletor de lixo é um processo que roda em segundo plano e é responsável pela liberação de memória alocada por variáveis que não mais serão utilizadas pela aplicação.

Page 17: Java20141215 17[1]

Java - JVM

• As fases pelo qual passam um programa Java relacionam-se da seguinte forma:

1. Criação do código fonte (Programa.java);2. Compilação do código fonte e geração do bytecode

(Programa.class);3. Interpretação do bytecode pela máquina virtual;4. Conversão do bytecode em linguagem de máquina;

Programa.java compilador program.class JVM

01100111000000010111000001001000110

Page 18: Java20141215 17[1]

Java - Hotspot

• Hotspot é a máquina virtual Java, ela provê algumas funcionalidades muito importantes. Ao contrário de outras aplicações, que são compiladas diretamente para código da máquina em que serão executadas, em Java estas somente são transformadas em código de máquina em tempo de execução quando necessário.

• Este desempenho vem melhorando muito devido a otimização que a máquina virtual consegue fazer a medida que o código é executado. Perceba que quando programamos em C, por exemplo, o código fonte é transformado em código

• de máquina imediatamente.

Page 19: Java20141215 17[1]

Java - Hotspot• Em princípio podemos pensar que o fato do programa não

precisar passar por uma etapa a mais, interpretação, irá torná-lo mais eficiente, mas muitas vezes a compilação estática não consegue prever situações que irão ocorrer durante a execução do código: trechos da aplicação mais utilizados, carga do sistema, quantidade de usuários simultâneos, memória disponível e etc..

• Estas informações, relativas ao ambiente no qual a aplicação está sendo executada, são utilizadas pela JVM para fazer otimizações em tempo de execução e havendo necessidade o código que está sendo interpretado é transformado em instruções nativas do sistema operacional (código de máquina) em um processo de compilação dinâmica.

Page 20: Java20141215 17[1]

Java - Hotspot

• Esta transformação em tempo de execução é realizada pelo JIT, Just-in-time compiler. O fato do código (bytecode) ser transformado, em tempo de execução, em código de máquina permite que a JVM mude a estratégia de compilação em busca de um melhor desempenho, em um ciclo de “aprendizado” contínuo.

Page 21: Java20141215 17[1]

Java – JRE e JDK

• JRE: O Java Runtime Environment contém tudo aquilo que um usuário comum precisa para executar uma aplicação Java (JVM e bibliotecas), como o próprio nome diz é o “Ambiente de execução Java”;

• JDK: O Java Development Kit é composto pelo JRE e um conjunto de ferramentas úteis ao desenvolvedor Java

Page 22: Java20141215 17[1]

Java - Ferramentas do JDKA seguir temos uma breve descrição das principais ferramentas que fazem

parte do JDK:• javac: Compilador da linguagem Java;• java: Interpretador Java;• jdb: Debugador Java;• java -prof: Interpretador com opção para gerar estatísticas sobre o uso

dos métodos;• Javadoc: Gerador de documentação;• jar: Ferramenta que comprime, lista e expande;• appletviewer: Permite a execução e debug de applets sem browser;• javap: Permite ler a interface pública das classes;• extcheck: Detecta conflitos em arquivos Jar

Page 23: Java20141215 17[1]

Java - Exercicio

Criar um Hello word

Page 24: Java20141215 17[1]

Java

Prof.: Diogo Rafael da Silva [email protected]

Page 25: Java20141215 17[1]

Java – Primeiros Contatos

Prof.: Diogo Rafael da Silva [email protected]

Page 26: Java20141215 17[1]

Java – Primeiros Contatos - Definições

• Classe: É a estrutura que, quando construída, produzirá um objeto, dizemos “todo objeto é instância de alguma classe”;

• Objeto: Em tempo de execução, quando a JVM encontra a palavra reservada new é criada uma instância da classe apropriada;

• Estado: É definido pelo conjunto de atributos de uma classe, isto é, cada instância da classe possuirá um estado independente dos demais objetos.

• Comportamento: São os métodos da classe, comportamento é aquilo que uma classe faz (algoritmos), muitas vezes, um determinado comportamento (método) muda o estado do objeto, isto é, após a execução do método um ou mais atributos mudaram de valor;

Page 27: Java20141215 17[1]

Java – Primeiros Contatos - Nomeclatura

Existem três aspectos importantes, em relação a nomenclatura, que devemos considerar quando estamos programando Java.Identificadores válidos: Definem as regras para que o compilador identifique o nome como válido.I. Devem iniciar com uma letra, cifrão ($) ou sublinhado/underscore (_);II. Após o primeiro caracter podem ter qualquer combinação de letras, caracteres e números;III.Não possuem limite de tamanho;IV. Não podem ser palavras reservadas;V. Identificadores são case-sensitive isto é, “Nome” e “nome” são identificadores diferentes.

Page 28: Java20141215 17[1]

Java – Primeiros Contatos - Nomeclatura

Exemplos:Identificadores válidos Identificadores inválidos

_codigo 5ident

$turma -idade

$$_5A %valor

Page 29: Java20141215 17[1]

Java – Nomeclatura• Convenção de nomenclatura da SUN: São recomendações da

SUN para nomenclatura de classes, métodos e variáveis. Seu programa irá funcionar mesmo que você não siga estas convenções.

Page 30: Java20141215 17[1]

Java – NomeclaturaI. Classes e interfaces: A primeira letra deve ser maiúscula e, caso o nome seja formado por mais de uma palavra, as demais palavras devem ter sua primeira letra maiúscula também (camelCase);

•Exemplos:

Page 31: Java20141215 17[1]

Java – NomeclaturaII. Métodos: A primeira letra deve ser minúscula e após devemos aplicar o camelCase;

•Exemplos:

Page 32: Java20141215 17[1]

Java – NomeclaturaIII.Variáveis: Da mesma forma que métodos;

•Exemplos:

Page 33: Java20141215 17[1]

Java – NomeclaturaIV. Constantes: Todas as letras do nome devem ser maiúsculas e caso seja formada por mais de uma palavra separada por underscore.

•Exemplos:

Page 34: Java20141215 17[1]

Java – NomeclaturaConvenção JavaBeans: Requisitos para que os nomes atendam a especificação para JavaBeans.I. Se o atributo não for um booleano o método getter (utilizado para obter a variável) deve iniciar por “get”;I. Se o atributo for um booleano o método getter pode iniciar por “get” ou “is”;II. O método setter (atribuição) da propriedade sempre deve iniciar por “set”;III.O restante do nome deve ser o nome do atributo concatenado ao prefixo (is, get ou set) em letra maiúscula;IV. O método setter e getter sempre devem ser públicos.

Page 35: Java20141215 17[1]

Java – JDKAcessar o site:http://www.oracle.com/technetwork/java/javase/downloads/index.html

Page 36: Java20141215 17[1]

Java – JDKApós a instalação do Java nós devemos iniciar a configuração das variáveisde ambiente.1. Clique com o botão direito em cima do ícone “Meu Computador”;2. Vá em “Propriedades”;3. Selecione a aba “Avançado”;4. Clique no botão “Variáveis de ambiente”;5. Clique no botão “Nova” em “Variáveis do sistema”;5.1. Nome da variável: JAVA_HOME5.2. Valor da variável: Coloque aqui o endereço de instalação neste caso =C:\Arquivos de programas\Java\jdk1.5.0_055.3. Clique em OK

Page 37: Java20141215 17[1]

Java – JDK6. Clique novamente no botão “Nova” em “Variáveis do sistema”;6.1. Nome da variável: CLASSPATH6.2. Valor da variável:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\rt.jar6.3. Clique em OK7. Selecione a váriavel PATH em “Variáveis do sistema”;7.1. Adicione o seguinte endereço ao campo Valor da variável:7.2.%JAVA_HOME%\bin7.3. Clique em OK;8. Clique em OK;9. Clique em OK.

Page 38: Java20141215 17[1]

Java

Para testar a aplicação temos que no botão •Iniciar•Executar•Digitar CMD

Page 39: Java20141215 17[1]

Java – JDKBaixar o jdk e testar no prompt de comando$: Java –version

Testar o compilador$: Javac –version

$: Java –version

$: Java –version

$: Java –version

Page 40: Java20141215 17[1]

Java

Para criar a 1ª aplicaçãoDigite Edit teste.java e digite o codigo

Page 41: Java20141215 17[1]

Java

• Saia do editor pressionando ALT + F e X, se a versão do MS-DOS for em português a combinação de teclas será diferente (provavelmente ALT + A e R), ao sair, o editor perguntará se você deseja salvar. Escolha a opção afirmativa.

• Retorne ao console e digite: javac Teste.java. Este comando irá compilar a nossa classe e gerar o bytecode (Teste.class).

• Após a geração do arquivo compilado (.class) digite: java Teste. Este comando invoca o interpretador que irá transformar o nosso bytecode em código de máquina.

• Pronto.

Page 42: Java20141215 17[1]

Vamos lá

• Exercicio

Page 43: Java20141215 17[1]

Java – aula 3

Prof.: Diogo Rafael da Silva [email protected]

Page 44: Java20141215 17[1]

Java – Tipos de Dados• Esses tipos são conhecidos como Tipos de Dados Primitivos. Como

podemos observar a linguagem Java oferece diversos tipos de dados com os quais podemos trabalhar. Há basicamente duas categorias em que se encaixam os tipos de dados: tipos primitivos e tipos de referências. Os tipos primitivos correspondem a dados mais simples ou escalares, enquanto os tipos de referências consistem em arrays, classes e interfaces. Estes serão vistos nos módulos subseqüentes.

Page 45: Java20141215 17[1]

Java – Tipos de Dados

Page 46: Java20141215 17[1]

Java – Tipos de Dados• Exercicio: vamos testar cada tipo de dados

Page 47: Java20141215 17[1]

Java – Tipos de Dados• Exercicio:

Page 48: Java20141215 17[1]

Java – Tipos de Dados• Exercicio:

Page 49: Java20141215 17[1]

Java – Tipos de Dados• Exercicio:

Page 50: Java20141215 17[1]

Java – Tipos de Dados• Exercicio:

Page 51: Java20141215 17[1]

Agradeço atenção.

Diogo da Silva– [email protected] (92) 9255-

4615

“A educação é um processo social, é desenvolvimento. Não é a preparação para a vida, é a própria vida.” John Dewey