Aula 1 - Fundamentos Java SE

Propaganda
Linguagens de Programação II
Aula 1 - Fundamentos Java SE
Instituto Metodista Izabela Hendrix
Curso de Tecnologia em Análise e Desenvolvimento de Sistemas
Prof. Gilmar Medeiros – Fevereiro/2010
Outline


Histórico da Linguagem
Apresentação das Tecnologias Java



Java SE, EE, ME e FX
Paradigmas mais comuns de programação
Java Standard Edition: desenvolvimento
desktop:



Características: vantagens e desvantagens;
Comparação com a linguagem C/C++
Notação básica e primeiros programas
desenvolvidos em Java
Java - Histórico

1991 - Inicialmente idealizada para uso em
dispositivos inteligentes de pequeno porte:




Geladeiras, controles remotos, dispositivos
portáteis
Primeiramente chamada Oak, rebatizada
como Java – sintaxe baseada em C++;
Alavancada em 1995, com a popularidade
da Web, proporcionando suporte a
conteúdo dinâmico;
Hoje encontrada nas mais variadas edições,
com suporte a diversos tipos de dispositivos
Tecnologias ou Edições Java




Java Standard Edition – Java SE
Java Enterprise Edition – Java EE
Java Micro Edition – Java ME
Java FX – ver site
http://java.sun.com/javafx/index.jsp
Paradigmas Comuns de Programação




Linguagens Concorrentes
Linguagens Procedurais
Linguagens Orientadas a Objetos
Etc.
Java SE: Apresentação

Possibilita o desenvolvimento de
aplicações desktop:



Aplicações de linha de comando;
Aplicações com interfaces gráficas Swing:
pacote javax.swing (ver, em Java Tutorial:
http://java.sun.com/docs/books/tutorial/ui/ind
ex.html)
IDEs: permitem o desenvolvimento rápido das
aplicações. Ex: NetBeans e Eclipse
Java SE: Características




Portabilidade dos programas compilados,
para diversos SOs, não necessitando
recompilação – característica
multiplataforma
Sintaxe similar ao C – fácil aprendizado
Baseada e orientada a objetos
Possui uma extensa API, extremamente
atualizada e de acordo com a realidade da
maioria dos programadores
Java SE: Comparação com C/C++

A linguagem Java é considerada uma
“evolução” das linguagens C/C++, onde:




Permite a criação de programas realmente
portáveis, sem a necessidade de recompilação
ou alteração de código;
Possui o gerenciamento de memória embutido,
através do garbage collector ou coletor de lixo
Não faz uso explícito de ponteiros, o que
representa uma facilidade de programação,
sendo menos sujeita a erros de código;
Usa conceitos modernos, como a orientação a
objetos, suporte a multithreading, etc.
Java: Ambiente de Desenvolvimento - I


Fase 1: editor de textos comum, criação do
arquivo .java;
Fase 2: Compilação – geração do arquivo de
bytecodes .class;



Os bytecodes serão executados pela Java Virtual
Machine (JVM) – camada que simula um
computador, ocultando o SO e hardware;
A JVM é responsável pelas características de
portabilidade do código Java
Fase 3: carregamento do programa .class em
memória – “load class”
Java: Ambiente de Desenvolvimento - II


Fase 4: Verificação dos bytecodes
Fase 5: Execução dos bytecodes, realizando
as ações determinadas pelo programa:


Compilação JIT (just-in-time) – misto de
interpretação e compilação, traduzindo os
bytecodes para linguagem de máquina
Obs: diversas otimizações de compiladores são
possíveis, sendo o compilador do Eclipse IDE
considerado um dos mais otimizados
Java: Ambiente de Desenvolvimento - III
Java: Notação Básica

Estruturas básicas similares ao C:
Ex. 1:
int a = 3; int b = 6; int c = 0;
if (a >= b) {
c = a + b;
} else {
c = a * b;
}
 Ex. 2:
for (int i=0;i<10;i++) {
System.out.println(“Iteração[“ + i +”]”);
}

Java: Primeiros Passos

Ex. programa FirstTest.java:
public class FirstTest {
public static void main (String args[]) {
System.out.println(“Alo Mundo!”);
}
}
Java: Compilação e Execução


Compilação:

javac - Ex: javac FirstTest.java

Gera um arquivo <nome-arquivo>.class
Execução:



java – Ex: java FirstTest
Obs: Se refere ao FirstTest.class, não ao
FirstTest.java
Obs. 2: Se não houver o arquivo .class, não
haverá execução
Outline do Restante do Curso

Apresentação da notação básica Java; apresentação das
APIs básicas de Java; introdução aos primeiros
programas Java através de protótipos com o uso de
classes como java.util.Scanner, dentre outras;

Apresentação de conceitos e práticas de Programação
Baseada e Orientada a Objetos;

Conceitos e práticas de geração de interfaces gráficas
desktop - “Swing” – com o uso de puro Java;

Desenvolvimento de aplicativos Java com comunicação
com bancos de dados, através do uso de JDBC (Java
Database Connectivity)
Bibliografia e Recursos - I




* DEITEL & DEITEL: Java – Como Programar. Editora
Prentice Hall, 6a Edição. ISBN: 8576050196
* BATES, BERT; SIERRA, KATHY: SCJP: Certificação
Sun para Programador Java 6 - Guia de Estudo. Alta
Books.
WEST, DAVID; MCLAUGHLIN, BRETT: Use a cabeça:
Analise & Projeto orientado ao objeto. Alta Books, 1a
Edição, 2007. ISBN: 8576081458
BATES, BERT; SIERRA, KATHY: Use a cabeça! - Java.
Alta Books, 1a Edição, 2005. ISBN: 8576080842
Bibliografia e Recursos - II



www.java.sun.com
Java Tutorial:
http://java.sun.com/docs/books/tutorial/
Java SE 6 – APIs:
http://java.sun.com/javase/6/docs/api/
Download