Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. ·...
Transcript of Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. ·...
![Page 1: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/1.jpg)
1
Introdução a Java
Alberto Costa Neto
DComp - UFS
![Page 2: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/2.jpg)
2
Roteiro
O que é Java?
Como tudo começou...
Quem usa?
Como funciona?
Entendendo as Versões
Por que Java?
Primeiro programa
![Page 3: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/3.jpg)
3
O que é Java?
Linguagem, Plataforma, Tecnologia...
Paradigma Orientado a Objetos
Biblioteca de Classes
![Page 4: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/4.jpg)
4
Como tudo começou...
Em 1991, a Sun estabelece grupo de pesquisa Liderado por James Gosling
Criar um interpretador para pequenos dispositivos
Com o advento da Web Pequenas aplicações que rodassem em
qualquer browser ou SO
Lançamento do Java 1.02
Atualmente o Java ganhou destaque no lado servidor
![Page 5: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/5.jpg)
5
Quem usa Java?
![Page 6: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/6.jpg)
Quem usa Java?
6
![Page 7: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/7.jpg)
7
Quem usa Java?
![Page 8: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/8.jpg)
8
Quem usa Java?
![Page 9: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/9.jpg)
9
Quem usa Java?
![Page 10: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/10.jpg)
Quem usa Java?
10
![Page 11: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/11.jpg)
Java é muito usado?
11
![Page 12: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/12.jpg)
12
Como funciona?
Compilação no Pascal
Código Fonte
Código Binário
para um SO
Código Fonte
Código Fonte
Código Binário
compilador
Código Fonte
Muitas vezes utilizamos bibliotecas do próprio Sistema Operacional
SO Específico
![Page 13: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/13.jpg)
13
Como funciona?
Com Java...
Código Fonte
Código Fonte
Código Fonte
Bytecode Java
compilador
Código Fonte
Dispositivo Windows
Dispositivo Linux
Dispositivo ...
JVM
Máquina Virtual Java = Java Virtual Machine (JVM)
JVM
JVM
Independente de plataforma
![Page 14: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/14.jpg)
14
Como funciona?
usando a Máquina Virtual...
O código fonte é compilado para bytecode
O bytecode é interpretado à medida que é necessário.
![Page 15: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/15.jpg)
15
Como funciona?
usando a Máquina Virtual...
Dependente de plataforma
![Page 16: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/16.jpg)
16
Como funciona?
Interpretação lentidão???
JVM 2ª. Compilação
JIT Compiler (Just in Time Compiler)
Hotspot (código bastante executado)
A JVM otimiza a compilação durante a execução
![Page 17: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/17.jpg)
17
Entendendo as versões
Java 1.02
Java 1.2
Java 1.3
Java 1.4
Java 1.5
Java 1.6
Java 2
Java 5 (Tiger)
Java 6 (Mustang)
Lançamento (23/01/1996)
Java 1.7 Java 7 (Dolphin)
![Page 18: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/18.jpg)
18
Entendendo as versões
Fazer download de??
JRE: Java Runtime Environment
JDK: Java Development Kit
Compilador + JVM
JVM
![Page 19: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/19.jpg)
19
Entendendo as versões
Plataformas...
JSE: Java Standard Edition
JEE: Java Enterprise Edition
JME: Java Micro Edition
![Page 20: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/20.jpg)
20
Por que Java?
Melhor Gerenciamento de memória
Java não possui ponteiros
Coleta de Lixo (Garbage Collector)
Inúmeras bibliotecas
Gratuita
Portabilidade entre SOs
“Write once, run anywhere”
![Page 21: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/21.jpg)
21
Primeiro programa
// Programa para impressão de texto public class PrimeiroPrograma { // Método principal inicia a execução da aplicação Java public static void main (String[] args){ System.out.println("Seja bem vindo a programação" + " em Java"); } //finaliza o método } //finaliza a classe
![Page 22: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/22.jpg)
22
Primeiro programa
Na linha de comando
Compilando o programa
javac PrimeiroPrograma.java
Executando
java PrimeiroPrograma
![Page 23: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/23.jpg)
23
Primeiro programa
Configuração das variáveis de ambiente
JAVA_HOME= C:\Arquivos de programas\Java\jdk7
PATH=%PATH%;%JAVA_HOME%\\bin
CLASSPATH=.;%JAVA_HOME%
![Page 24: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/24.jpg)
24
Exercícios
1) Alterar o programa para imprimir duas linhas de texto usando duas linhas de System.out.
2) Sabendo que o caractere “\n” representa quebra de linha, imprima duas linhas usando apenas uma linha de System.out
![Page 25: Introdução a Javaalbertocn.sytes.net/2014-2/poo/slides/03 - introducao_a... · 2015. 7. 18. · Compilação no Pascal Código Fonte Código Binário para um SO Código Binário](https://reader033.fdocumentos.com/reader033/viewer/2022060805/608a1cf6323223435738f008/html5/thumbnails/25.jpg)
25
Referências
Java How to Program
Capítulo – 2
Slides Introdução a Linguagem Java. Prof. Marcos Dósea. UFS. 2010.
Slides “Introdução à Java”, Profa. Débora. UFS. 2010.