A aula apresenta a linguagem de programação Java, sua história, características e funcionamento. Cobre tópicos como compilação, máquina virtual Java, tipos primitivos, variáveis, entrada de dados, operadores e exemplos simples de programas.
Objetivos Apresentar alinguagem de Programação JAVA Primeiros programas em Java JBuilder Entrada e Saída de Dados
5.
A Linguagem JAVACriada pela Sun Microsystems nos anos 90 Linguagem originalmente desenvolvida para programar eletrodomésticos como vídeo-cassetes, torradeiras, etc, e por isso deveria ser: Independente de plataforma Simples, confiável e compacta
6.
JAVA - Histórico1991: a Linguagem Oak é projetada por James Gosling 1993: Com a explosão das redes, o projeto foi direcionado à aplicações Internet 1994: A linguagem Oak passa a se chamar Java
7.
Principal Característica JAVA é independente de plataforma. Isto significa que: um mesmo programa escrito em Java funciona em qualquer outro tipo de computador, independentemente de sua linguagem de máquina, e em qualquer outro sistema operacional “ Escreva uma vez, execute em qualquer lugar”
8.
Outras características Éuma linguagem de propósito geral com características modernas de programação: Orientada a objetos e fortemente tipada. Robusta. Sem ponteiros e alocação direta de memória. Com tratamento de exceções Concorrente.
9.
Funcionamento Java Quandoum programa fonte Java é compilado, ele é traduzido em uma linguagem de máquina especial, chamada bytecode O bytecode não é executado diretamente por nenhum computador real, mas por uma Máquina Virtual específica.
10.
A Máquina VirtualJava A Máquina Virtual Java, ou Java Virtual Machine (JVM) é um programa que traduz dinamicamente o bytecode para a linguagem de máquina correspondente à plataforma em que ele está sendo executado Assim, cada tipo de computador possui sua própria Java Virtual Machine
Java e aInternet (I) A Internet é uma grande aplicação da arquitetura cliente/servidor Servidores: softwares que provêm informação Clientes: softwares que buscam informação e, preferencialmente, realizam localmente alguma tarefa do sistema. A Web facilita a conexão mas limita as funções do cliente (páginas HTML)
14.
Java e aInternet: Applets Java possibilita a construção de mini-programas - Applets - que podem ser executados no browser do cliente: Applets são automaticamente carregados da rede, dispensando a instalação de softwares no cliente. Os Applets são incorporados em páginas HTML adicionando: animações, sons, entrada/consistência de dados, acesso a bancos de dados, segurança, ...
15.
Controle dos Applets : Java Sandbox Applets geram um problema de segurança ... Um mecanismo chamado Sandbox limita o que um Applet Java pode fazer. Como o programa é executado dentro de um ambiente controlado, isto dá segurança ao sistema.
16.
Sandbox: Funcionamento Asandbox é composta de três mecanismos de defesa: Byte Code Verifier Class Loader Security Manager Os mecanismos de defesa executam verificações em tempo de carga e em tempo de execução para restringir a atuação do Applet.
17.
Restrições ao funcionamentode um Applet (I) Quanto aos arquivos NÃO se pode: Ler, Escrever, Apagar e Renomear arquivos no sistema cliente. Criar um diretório no sistema cliente. Listar o conteúdo de um diretório. Verificar se um arquivo existe. Obter informações sobre um arquivo, como tamanho, tipo e data da última modificação.
18.
Restrições ao funcionamentode um Applet (II) Quanto ao Acesso à Rede NÃO se pode: Criar uma conexão com qualquer outro computador que não seja o computador que originou a Applet. Esperar ou aceitar conexões em qualquer porta no sistema cliente. Obter o username do usuário ou o nome do seu diretório home.
19.
Restrições ao funcionamentode um Applet (III) Propriedades do sistema: Executar qualquer programa no sistema cliente usando o método Runtime.exec() Fazer com que o interpretador Java seja finalizado. Carregar dinamicamente bibliotecas no sistema cliente usando os métodos load() ou loadLibrary() das classes Runtime ou System.
20.
Porque Java? Adequadoa Internet: A Internet é composta de computadores heterogêneos, portanto ser independente de plataforma é importante. A possibilidade de executar um programa diretamente de um browser diminui o custo da distribuição, instalação e atualização de programas Os mecanismos de segurança do Java permitem a execução segura de programas
21.
Tipos de ProgramasJava Aplicações: Programas normais e autônomos São executados diretamente pela máquina virtual Não existem restrições de segurança Applets.
Meu Primeiro ProgramaO primeiro programa agente nunca esquece: public class OlaMundo { public static void main(String[] args) { System.out.println("Ola Mundo!"); } }
24.
Detalhes... O Nomedo arquivo deve ser o mesmo da definida na linha 1: OlaMundo.java A classe criada será chamada: OlaMundo.class A tela branca na parte de baixo é o interpretador JVM rodando.
25.
Para esperar otérmino do programa: System.out.println("Tecle \"Enter\" para terminar."); try{ System.in.read(); } catch (Exception erro) { erro.printStackTrace(); }
26.
Comentários em JavaEm Java, comentários podem ser representados de duas formas: // - Significa que o restante da linha é um comentário // Imprime mensagem /* */ - Significa que o texto entre /* e */ é um comentário /* A linha abaixo imprimirá na tela a mensagem Hello World */
27.
Expressões Expressões avaliam(computam) o valor de uma seqüência de variáveis, valores, operadores e chamada de métodos. Exemplos: 2 2 * 4 a = 3 5 + 2 * 3 - a 2 * Math.sqrt(9)
Variáveis Local ondeas informações são armazenadas dentro de um programa. Uma variável tem este nome porque o seu valor pode mudar durante a execução do programa. Cada variável possui um tipo que define que tipos de valores ela é capaz de armazenar
31.
Declaração de variáveisPara ser utilizada, uma variável deve ser primeiro declarada Declarar uma variável significa criar um local para armazenar o seu valor Declaração em Java: int numDeSinalizadores = 0; Tipo da variável Valor Inicial Nome da variável
32.
Tipos de dadosprimitivos Tipo Tamanho Valores Possíveis byte 8 bits -128 a 127 short 16 bits -32768 a 32767 int 32 bits -2147483648 a 2147483647 long 64 bits -9223372036854775808 a ... float 32 bits -10 38 a 10 38 double 64 bits -10 308 a 10 308 char 8 bits Qualquer caracter boolean 1 byte true ou false
33.
Exercício Variáveis Émeio complicado fazer um exercício sobre variáveis sem ter entrada de dados no programa. Por isso, veremos agora...
34.
Entrada de dadosvia teclado Interface gráfica é muito bom, mas existem casos onde necessitamos a entrada de dados diretamente via teclado: eletrônica embarcada (microondas, video, TV,...) JAVA não é muito bom para isso, pois prioriza interface gráfica.
35.
Entrada de dadosvia teclado Definindo o dispositivo de entrada: BufferedReader teclado = new BufferedReader (new InputStreamReader (System.in)); Realizando a leitura do teclado: String nome = teclado.readLine(); Sempre lê uma string Precisa ter exceção “jogada”
36.
“ Jogando” exceçõesPara usar a entrada via teclado precisamos definir que se algo der errado na leitura, este método retornará uma exceção: public static void main(String[] args) throws java.io.IOException { // aqui vai o programa }
E para lerdados numéricos? JAVA só lê strings do teclado. Para ler um dado numérico é necessário ler a string e converter o valor para um número: Transformando string em int e float: int valorInteiro = Integer.parseInt(stringEntrada); float x = new Float(stringEntrada).floatValue();
39.
Exercício Faça umprograma que transforme uma temperatura em graus Celsius para Farenheight. Faça um programa que calcule quantos dias você viveu até hoje.
40.
Conclusão A linguagemJava foi criada pela Sun Microsystems no início dos anos 90. Os programas escritos em Java podem ser executados em diferentes plataformas: “ Write Once - Run Anywhere” Um compilador java gera um código chamado Byte Code que é executado pela Máquina Virtual.
41.
Conclusão (II) Osprogramas criados em Java podem ser aplicações normais ou Applets. Applets podem ser executadas diretamente em browsers. Entrada e saída via teclado Operadores e Variáveis
42.
Exemplos de AppletsA 3 dimensional Life System: http://www.biocrawler.com/reallife/ Visible Human: http://www.npac.syr.edu/projects/vishuman/VisibleHuman.html ou http://www.dhpc.adelaide.edu.au/projects/vishuman2/ Dicom Viewer: http://wwwusers.imaginet.fr/~sderhy/DicomApplet.html Projectile Motion: http://www.phys.virginia.edu/classes/109N/more_stuff/Applets/ProjectileMotion/jarapplet.html Voxel: http://www.javapowered.com/flight.html
43.
Links Sociedade deUsuários Java (SouJava) www.soujava.com.br JavaWorld www.javaworld.com JavaSoft (Site oficial do Java) www.javasoft.com Thinking in Java (On-Line Book) http://www.eckelobjects.com/TIJ2/