Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem Java
Prof. M.Sc. Fábio Alexandre
Caravieri Modesto
E-mail:
fabio@fabiomodesto.pro.br
Breve histórico
z Sun Microsystem Æ 1991
z Projeto Green
z Linguagem de programação Orientada a Objetos
z Eletrodomésticos inteligentes
z James Goslin (entre outros)
z Algumas propostas
z Melhorar algumas anomalias existentes no C++
z Como por exemplo a falta do Garbage Collection
z Surge a linguagem OAK (carvalho )
1
z Equipe (principais)
Mike Sheridan
Patrick Naughton
James Gosling.
3
OAK JAVA
2
VANTAGENS
z Sintaxe similar a Linguagem C/C++ e principalmente, a C#.
z Facilidades de Internacionalização - Suporta nativamente
caracteres Unicode;
z Simplicidade na especificação, tanto da linguagem como do
"ambiente" de execução (JVM);
z É distribuída com um vasto conjunto de bibliotecas (ou APIs);
z Possui facilidades para criação de programas distribuídos e
multitarefa (múltiplas linhas de execução num mesmo
programa);
z Desalocação de memória automática por processo de coletor de
lixo (garbage collector);
z Carga Dinâmica de Código - Programas em Java são formados
por uma coleção de classes armazenadas independentemente e
que podem ser carregadas no momento de utilização.
Divisão do Java
z J2SE (core/desktop)
z J2EE(enterprise/server)
z J2ME(mobile/wireless)
z JavaCard
z Java Wev Services
z XML
3
Divisão do Java
z J2SE (core/desktop)
z Java 2 Standant Edition
z Aplicações Java para Desktop’s
z Base para J2EE e Java Web Services
z J2EE(enterprise/server)
z Java 2 Enterprise Edition
z Aplicações empresariais multicamadas
Divisão do Java
z J2ME(mobile/wireless)
z Java 2 Micro Edition
z Telefones moveis, pda e impressoras
z JavaCard
z Adapta a plataforma JAVA para permitir aos
cartões e outros dispositivos inteligentes o acesso
as vantagens da linguagem
4
Divisão do Java
z Java Wev Services
z Serviços WEB baseado em aplicações WEB
empresariais abertas
z Padrões baseados em XML
z Protocolos de transporte para trocar dados com
outros clientes
z J2EE Æ prove API’s para o desenvolvimento
WEB
Divisão do Java
z XML
z Extensible Markup Language
z Padrão de texto para representar dados
z Importância no desenvolvimento WEB
10
5
Linguagem de Programação
z Linguagem de Programação
z é um método padronizado para expressar instruções para
um computador
z É um conjunto de regras sintáticas e semânticas usadas
para definir um programa de computador.
z Código Fonte = palavras (tokens) + regras
z traduzido para linguagem de máquina
z executado pelo processador
z Tipos de linguagens
z Compiladas
z Interpretadas
z hibridas
11
Linguagem de Programação
z Linguagens Compiladas
z Compilador
z é um programa que, a partir de um código escrito em uma
linguagem, o código fonte, cria um programa
semanticamente equivalente porém escrito em outra
linguagem, código objeto
z O processo de compilação é composto de análise e
síntese
z A análise tem como objetivo entender o código fonte e
representá-lo em uma estrutura intermediária.
z A síntese constrói o código objeto a partir desta
representação intermediária.
z PASCAL, C, C++
12
6
Linguagem de Programação
z Linguagens interpretadas
z Interpretadador
z lêem um código fonte de uma linguagem de
programação e os convertem em código executável.
z lê linha-a-linha e converte em código objeto à medida
que vai executando o programa.
z Basic, Visual Basic, etc;
13
Linguagem de Programação
z Linguagens híbridas
z Compiladas e interpretadas
z O java é seu representante mais expressivo
z Bytecode
z Programa fonte é compilado, gerado um arquivo de
controle e este é interpretado.
14
7
Linguagem de Programação
z ByteCode
z Semelhante a compilação de código-fonte
z não é executável.
z o bytecode irá ser interpretado numa máquina
virtual,
z execução.
z estágio intermédio
z entre o código-fonte escrito numa linguagem de
programação específica
z e a aplicação final,
15
Memória
Principal
Fase 3 Carregador da Classe Carregador de classe lê o
arquivo .class contendo
bytecodes do disco e põe esse
bytecodes em memória.
Disco
. ..
. .
.
Memória
Principal
Fase 4 Verificador Verificador de Bytecode confirma
Bytecode que todos o bytecodes são
válidos e não violam as restrições
de segurança de Java.
. ..
. .
.
Memoria Principal
Interpreter reads bytecodes and
translates them into a language
Fase 5 Interpretador that the computer can
understand, possibly storing data
values as the program executes.
. ..
. .
. 16
8
Consideração Preliminares
z Sensitive Case
z Java é uma linguagem Sensitive Case
z Abobrinha ≠ abobrinha ≠ ABOBRINHA ≠ aBobrinha
z Delimitadores
z {........}
z Comentário
z //Æ uma linha
z /*......*/ Æ um bloco de texto
z Comandos
z Sempre em letra minúscula
z Declaração de variáveis
z Tipo_da_variavel nome_variavel
17
Consideração Preliminares
z Identificadores
z Letras, digitos e _ ou $
z Não pode ser iniciado por um digito
z Palavras chaves não podem ser usadas como
identificadores
z Errado
z 0valorX
z Correto
z valorX
18
9
Tipo de Variáveis
Tipo de Variável Tamanho de Faixa de
armazenamento representação
Byte 8 bits De -128 a +127
Long 64 bits De
9.223.372.036.854.775.80
8a-
9.223.372.036.854.775.80
7 19
Tipo de Variáveis
Tipo de Variável Tamanho de Faixa de
armazenamento representação
20
10
Tipo de Variáveis
Tipo de Variável Tamanho de Faixa de
armazenamento representação
21
Operadores Aritméticos
Soma +
Subtração -
Multiplicação *
Divisão /
22
11
Operadores Relacionais
Igual ==
Maior e igual >=
Menor e igual <=
Maior >
Menor <
diferente !=
E ou and &&
Ou or or ||
23
12
Primeiro Exemplo
O nome do arquivo
do programa fonte
ão
at enç tem que ser o
mesmo nome da
classe. Se não o
compilador não irá
compilá-lo
O operador de atribuição
no java é =, diferente do
pascal que é usado o :=
25
Primeiro Exemplo
z Neste primeiro exemplo será criado apenas
uma classe com seus atributos para o
entendimento da estrutura da linguagem
26
13
Primeiro Exemplo
public class exemplo Exemplo
{ Int nome
int numero;
String nome[50];
}
uml
27
Primeiro Exemplo
z No exemplo seguinte (continuação do
exemplo anterior) além de definirmos uma
classe iremos atribuir valores a seus
atributos
28
14
Primeiro Exemplo
public class exemplo
{
int numero;
String nome[50];
public static void main(String args[])
{
numero=10;
nome=“maria”;
}
}
29
Primeiro Exemplo
z No exemplo seguinte (continuação do
exemplo anterior) além de definirmos uma
classe iremos estânciar um objeto dessa
classe
30
15
Primeiro Exemplo
public class Exemplo
{ Exemplo
int numero;
String nome[50]; Int numero
} String nome[50]
public void atribuir_valores()
{
numero=10;
}
nome=“maria”; Atribuir_valor()
public static void main(String args[])
{
Exemplo novo_objeto= new
novo_objeto.atribuir_valores();
}
} uml
31
32
16
Imprimindo uma mensagem de
prompt
public class teste {
public void mensagem()
{
System.out.println("Alo");
System.out.println("pessoal");
}
public static void main(String args[]) {
teste objeto= new teste();
objeto.mensagem();
}
}
33
17
Usando variaveis
public class teste {
int x;
int y;
int resposta;
public void operacao()
{
x=50;
y=20;
resposta= x + y;
System.out.println("O valor numérico é " + resposta);
}
public static void main(String args[]) {
teste objeto= new teste();
objeto.operacao();
}
35
}
Usando Janelas
36
18
Usando Janelas
import javax.swing.JOptionPane; // programa usa JOptionPane
public class janela {
public void exibir_janela()
{
JOptionPane.showMessageDialog(null, "bem vindo
\na\nProgramaçao\nJava!" );
}
public static void main(String[] args) {
Usando Janelas
import javax.swing.*;
public class janela2 {
int x, y, resposta;
String aux_x, aux_y;
19
Usando Janelas
public static void main(String[] args) {
39
40
20
Fazendo como Jack...
x=Integer.parseInt( aux_x );
z Integer.parseInt
z Método que converte strings
em inteiros no java
z Como strtoint do Delphi
41
Variações JOptionPane
Tipo de Mensagem Icone Descrição
JOptionPane.ERROR_MESSAGE Mostra um dialogo que indica erro do
usuário.
42
21