Introdução A Java1
Introdução A Java1
Introdução a Java
Tecnologia Java
l Java = linguagem de programação de alto nível +
plataforma de execução de aplicações
Linguagem Java
l Linguagem de programação orientada a objetos:
l Familiar (sintaxe parecida com C)
l Simples e robusta (minimiza bugs, aumenta produtividade)
l Suporte nativo a threads (+ simples, maior portabilidade)
l Dinâmica (módulos, acoplamento em tempo de execução)
l Com coleta de lixo (menos bugs, mais produtividade)
l Independente de plataforma
l Segura (vários mecanismos para controlar segurança)
l Código intermediário de máquina virtual interpretado
(compilação rápida, execução + “lenta”, + produtividade no
desenvolvimento)
l Sintaxe uniforme, rigorosa quanto a tipos (código mais
consistente)
Introdução a Java
3
SIMULA C
1967 1972
Pascal
1973 SmallTalk
1980
ADA C++
1983 1985
Java
ADA 1995
Introdução a Java
1995
4
16/11/15
Desenvolvimento de
programas
código código
compilação
fonte objeto
código
Link-edição
executável
Introdução a Java
5
Implementação de LP
l Compilação
l geração de código executável
l dependente da plataforma de execução
l tradução lenta X execução rápida
l Interpretação pura
l sem geração de código
l execução lenta, independente de plataforma
l Híbrida
l geração de código intermediário
l independente de plataforma de execução
l tradução rápida X execução não muito rápida
Introdução a Java
6
16/11/15
Compilação e Execução
v Compilação: Programa Java é compilado para um código
intermediário conhecido como bytecode
bytecode
fonte Browser
{HTML}
Interpretador Interpretador
Compilador JAVA JAVA
JAVA
plataforma plataforma
Introdução a Java
local remota 7
Compilação x Interpretação
l Problema:
l Para ter flexibilidade e segurança, abre-se mão do tempo de
execução
l Um programa Java típico costumava ser 10 vezes mais lento que
um programa em C (na década de 90)
Ambientes de execução e
desenvolvimento
l JSE (Java Platform; Standard Edition) - JDK
l Coleção de ferramentas para desenvolvimento, depuração
e execução de aplicações Java (JRE)
l Destinado a desenvolvedores
l Download: http://java.com
Introdução a Java
9
Plataformas Java
l Java possui diversas plataformas para desenvolvimento e execução
de aplicações (www.java.com), logo é importante conhecê-las e
entender qual delas deve ser utilizada em cada caso
Introdução a Java
10
16/11/15
Ambientes Integrados de
Desenvolvimento – IDEs
l Existem diversos IDEs construídos a partir das
ferramentas básicas de desenvolvimento:
l ambientes baseados em janelas
l editores, visualizadores de classes, prototipação ...
l Exemplos:
l Eclipse, NetBeans (Oracle)
l Visual Studio (Microsoft), BlueJ, GreenFoot, Alice
l JBuilder (Borland), Visual Café (Symantec)...
Introdução a Java
11
CLASSE Nome1
CLASSE
Teste class
Nome1
class
Teste.java Nome2
Escola.class
Aluno.class
class Aluno { bytecodes
Introdução a Java
13
Introdução a Java
14
16/11/15
Compilação e Execução:
JDK – linha de comando
l Compilação: javac l Execução: java
l A partir do diretório local: l A partir do diretório local:
javac Nome.java java Nome
onde: Nome = arquivo .class que
contém main()
l Vai produzir:
l arquivos .class separados para l Executa a partir de main()
cada classe no arquivo .java l ou com argumentos:
l coloca arquivos no diretório
java Nome arg1,arg2, ...
corrente
Introdução a Java
15
javac
Introdução a Java
16
16/11/15
Verificação de bytecode
l Etapa que antecede a execução do código em
classes carregadas através da rede
l Class Loader distingue classes locais (seguras) de classes
remotas (potencialmente inseguras)
l Verificação garante:
l Aderência à especificação da JVM
l Não-violação de políticas de acesso estabelecidas pela
aplicação
l Não-violação da integridade do sistema
l Ausência de estouros de pilha
l Tipos de parâmetros corretamente especificados
l Ausência de conversões ilegais de tipos
Introdução a Java
17
Programa é criado em um
Editor editor e armazenado no
disco
disco
Processo de Autoria de
Compilador gera os
Compilador bytecodes e os armazena no
disco
disco
memória
disco
O verificador de bytecodes –
_________ Bytecodes Verifier – confirma
Verificador de _________ se todos os bytecodes estão
bytecodes _________ corretos e não violam as
___ restrições de segurança da
linguagem Java
memória
_________
Interpretador _________ O interpretador (ou compilador
_________ JIT) lê os bytecodes e executa
___ o programa
Programas JAVA
l Aplicações (puras)
l são programas carregados e executados localmente
pelo interpretador Java
l possuem acesso a todos os recursos do ambiente
local: diretórios, arquivos
l sempre contêm um método principal main(), de onde
se inicia a execução do programa
l podem fazer chamadas a programas em código
nativo (outras linguagens, como C, C++)
Introdução a Java
19
Programas Cliente/Servidor
l Applets: cliente
l são programas inseridos em páginas HTML e executados pelo
browser (interpretador Java)
l programas (classes) podem ser carregados remotamente
l restrições de segurança: não podem acessar recursos locais, só
podem comunicar-se com o servidor de onde foram “baixados”
l Servlets: servidor
l executados no ambiente do servidor de aplicações (p.ex., TomCat)
l classe Java carregada no servidor, dinamicamente, por requisição
do cliente
l permite páginas web dinâmicas
Introdução a Java
20
16/11/15
Introdução a Java
21
Primeiros passos
16/11/15
class Bemvindo {
public static void main (String[] args) {
System.out.println(“Bem-vindo!”);
}
}
Exemplo de chamada de
métodos
System.out.println (“Bem-vindo!”);
objeto método parâmetro
System.out.print (“Bem-vindo!”);
objeto método parâmetro
Introdução a Java
24
16/11/15
Chamada parametrizada
class Bemvindo {
public static void main(String[] args) {
System.out.println(“Bem-vindo ” + args[0]);
}
}
class Bemvindo2 {
static void imprime() {
System.out.println(“Bem-vindo!”);
Não
recomendável
}
class Welcome{
void imprime(){
System.out.println("Welcome!");
Introdução a Java
}} 28
16/11/15
Streams de entrada/saída
l Em um programa, dados são lidos/gravados através de
streams (fluxos) de E/S
l Fontes e destinos: console, arquivos, rede...
l Um programa pode gerenciar diversos streams
Introdução a Java
29
Chamada Parametrizada X
Entrada/Saída via Console
l Chamada parametrizada:
l programa inicia com valores armazenados em um array
de Strings
l não é uma forma usual de entrada de dados
l Método readLine()
l definido em BufferedReader
l faz a leitura de uma linha de texto até um caracter ‘\n’
l causa uma exceção se ocorrer um erro enquanto lê os
dados da entrada
Introdução a Java
31
Introdução a Java
32
16/11/15
vídeo
Introdução a Java
33
class Leitura {
public static void main(String[] args) throws
IOException{
class Leitura {
public static void main(String[] args) throws
IOException{
System.out.println(“Entre um número:”);
int i = Integer.parseInt(stdin.readLine());
System.out.println(“Número = ”+ i);
}
} Introdução a Java
35
Introdução a Java
37
Tutoriais de Java
l Para quem está começando e além:
l The Java Tutorials (Sun/Oracle oficial)
Ø https://docs.oracle.com/javase/tutorial/
Introdução a Java 38