Linguagem Java
Linguagem Java
História do Java
História do Java
Projeto da Sun Microsystems em 1991Projeto da Sun Microsystems em 1991
James Gosling lidera projeto de uma linguagem James Gosling lidera projeto de uma linguagem para caixas de comutação de TV a cabopara caixas de comutação de TV a cabo
A linguagem desenvolvida deveria ser pequena A linguagem desenvolvida deveria ser pequena para ser suportada pelos dispositivospara ser suportada pelos dispositivos
Como vários fabricantes poderiam escolher Como vários fabricantes poderiam escolherCPUs diferentes, era importante não ficar preso
CPUs diferentes, era importante não ficar preso
a uma única arquitetura
História do Java
História do Java
Foi adotado um projeto de uma linguagem Foi adotado um projeto de uma linguagemportável que gerava código intermediário para
portável que gerava código intermediário para
uma máquina hipotética (máquinas virtuais)
uma máquina hipotética (máquinas virtuais)
Os desenvolvedores da Sun aproveitaram seus Os desenvolvedores da Sun aproveitaram seus conhecimentos em C++ para definir a linguagemconhecimentos em C++ para definir a linguagem
James Gosling da o nome de “Oak” à James Gosling da o nome de “Oak” àlinguagem, em referência a um carvalho(oak em
linguagem, em referência a um carvalho(oak em
inglês) que ficava em frente a janela de sua sala
inglês) que ficava em frente a janela de sua sala
na Sun
na Sun
Como já existia uma linguagem com o nome de Como já existia uma linguagem com o nome de Oak, foi escolhido então JavaHistória do Java
História do Java
Nenhuma das empresas de equipamentos Nenhuma das empresas de equipamentos eletrônicos e TV a cabo se interessou peloeletrônicos e TV a cabo se interessou pelo
projeto Green
projeto Green
O Projeto gastou todo o ano de 1993 e 1994 O Projeto gastou todo o ano de 1993 e 1994 procurando quem comprasse a técnologiaprocurando quem comprasse a técnologia
Enquanto isso a parte WWW estava crescendo Enquanto isso a parte WWW estava crescendo cada vez maiscada vez mais
História do Java
História do Java
A Sun utiliza Java para escrever um navegador. A Sun utiliza Java para escrever um navegador. O HotJava podia executar bytecodesO HotJava podia executar bytecodes
intermediários. Os Applets
intermediários. Os Applets
A grande jogada da utilização da linguagem A grande jogada da utilização da linguagem Java ocorreu em 1995 quando a NetscapeJava ocorreu em 1995 quando a Netscape
decidiu fazer a versão 2.0 do Netscape com
decidiu fazer a versão 2.0 do Netscape com
capacidade de rodar Java
capacidade de rodar Java
Apareceram depois outras empresas licenciadas Apareceram depois outras empresas licenciadas para o uso do Java como : IBM, Symantec,para o uso do Java como : IBM, Symantec,
Inprise, Microsoft e outras ...
História do Java
História do Java
Em 1996 foi lançado o Java 1.02
Em 1996 foi lançado o Java 1.02
Em 1998 foi lançado o Java 2
Em 1998 foi lançado o Java 2
A Plataforma Java
A Plataforma Java
J2SE – Java 2 Standard Edition
J2SE – Java 2 Standard Edition
J2EE – Java 2 Enterprise Edition
J2EE – Java 2 Enterprise Edition
J2ME – Java 2 Mobile Edition
J2ME – Java 2 Mobile Edition
JSP – Java Server Pages
JSP – Java Server Pages
Servlets
Servlets
J2EE Application Server
J2EE Application Server
Conceitos Errados Sobre Java
Conceitos Errados Sobre Java
Java é uma extensão do HTML
Java é uma extensão do HTML
Java é uma linguagem de programação
Java é uma linguagem de programação
fácil de aprender
fácil de aprender
Java é apenas outra linguagem de
Java é apenas outra linguagem de
programação
programação
Java é Interpretada, por isso é muito lenta
Java é Interpretada, por isso é muito lenta
para rodar aplicações sérias
para rodar aplicações sérias
Conceitos Errados Sobre Java
Conceitos Errados Sobre Java
As Applets Java são um grande risco à
As Applets Java são um grande risco à
segurança
segurança
O JavaScript é uma versão mais simples
O JavaScript é uma versão mais simples
da linguagem Java
Caracteristicas Importantes
Caracteristicas Importantes
Orientada à Objetos
Orientada à Objetos
Independente de Plataforma
Independente de Plataforma
Sem Ponteiros
Sem Ponteiros
Performance
Performance
Segurança
Segurança
O Pacote JDK
O Pacote JDK
Javac.exe
Javac.exe
Java.exe (maquina virtual)
Java.exe (maquina virtual)
AppletViewer.exe
AppletViewer.exe
Bibliotecas de desenvolvimento(packages)
Bibliotecas de desenvolvimento(packages)
JavaDoc
JavaDoc
Jdb (Depurador Básico)
Jdb (Depurador Básico)
Exemplo de Um Programa Java
Exemplo de Um Programa Java
Programa Alo Mundo !
Programa Alo Mundo !
class AloMundo
class AloMundo
{
{
public static void main(String[] args)
public static void main(String[] args)
{
{
System.out.print(“Alo Mundo !”);
System.out.print(“Alo Mundo !”);
}
}
Processo de Compilação e
Processo de Compilação e
Interpretação
Interpretação
1 – Editor do programa gera arquivo .java
1 – Editor do programa gera arquivo .java
2 – Compilador javac.exe analisa
2 – Compilador javac.exe analisa
arquivo .java e gera arquivo .class
arquivo .java e gera arquivo .class
3 – Interpretador/Marquina Virtual java.exe
3 – Interpretador/Marquina Virtual java.exe
carrega arquivo .class e interpreta a
carrega arquivo .class e interpreta a
execução
Comentários em Java
Comentários em Java
// - Para uma linha
// - Para uma linha
/* no inicio e */ no final para um bloco
/* no inicio e */ no final para um bloco
/** no inicio e */ no final para gerar um
/** no inicio e */ no final para gerar um
comentário a ser utilizado como
comentário a ser utilizado como
documentação
Tipos Primitivos de Dados : Inteiros
Tipos Primitivos de Dados : Inteiros
TIPO
TIPO
Tamanho
Tamanho
int
int
4 bytes
4 bytes
short
short
2 bytes
2 bytes
long
long
8 bytes
8 bytes
byte
Tipos Primitivos de Dados : Ponto
Tipos Primitivos de Dados : Ponto
Flutuante
Flutuante
TIPO
TIPO
Tamanho
Tamanho
float
float
4 bytes
4 bytes
double
Tipos Primitivos de Dados :
Tipos Primitivos de Dados :
Caractere
Caractere
Tipo char
Tipo char
Caracteres Especiais
Caracteres Especiais
\b = backspace
\b = backspace
/\ = tab
/\ = tab
\n = alimentação de linha
\n = alimentação de linha
\r = retorno de carro
\r = retorno de carro
\” = aspas duplas
\” = aspas duplas
\’ = apóstrofe
\’ = apóstrofe
\\ = barra invertida
\\ = barra invertida
Tipos Primitivos de Dados :
Tipos Primitivos de Dados :
Boolean
Boolean
false
false
Variáveis
Variáveis
É necessário declarar o tipo da variável
É necessário declarar o tipo da variável
Uma variável pode ser declarada em
Uma variável pode ser declarada em
qualquer parte do programa
qualquer parte do programa
Uma variável só pode ser declarada uma
Uma variável só pode ser declarada uma
vez em um mesmo bloco
Exemplos de declaração de
Exemplos de declaração de
variáveis
variáveis
byte b;
byte b;
int umaVariavelInteira;
int umaVariavelInteira;
long umaVariavelLonga;
long umaVariavelLonga;
char ch;
char ch;
int i,j;
int i,j;
char charSim = ‘S’;
char charSim = ‘S’;
Conversões Entre Tipos Numéricos
Conversões Entre Tipos Numéricos
Conversões Explicitas utilizando “cast”Conversões Explicitas utilizando “cast” Exemplo : Exemplo : double x = 9.997; double x = 9.997; int y = (int) x; int y = (int) x;
Conversões que não necessitam de castsConversões que não necessitam de casts byte -> short -> int -> long -> float -> doublebyte -> short -> int -> long -> float -> double
char -> int
Constantes
Constantes
A palavra “final” denota uma constante em JavaA palavra “final” denota uma constante em Java Exemplos p/ Constantes de Métodos:Exemplos p/ Constantes de Métodos:
final double tetoSalarial = 2345,50;
final double tetoSalarial = 2345,50;
final int maximoAlunos = 40;
final int maximoAlunos = 40;
Exemplos p/ Constantes de Classes :
Exemplos p/ Constantes de Classes :
public static final char letraSim = ‘S’;
Principais Operadores
Principais Operadores
--, ++ --, ++ Decremento e IncrementoDecremento e Incremento
==, != ==, != Igualdade e DiferençaIgualdade e Diferença
&& e || && e || And e Or And e Or
!! Operador NotOperador Not
+, -, /, *, %+, -, /, *, % Adição, Subtração, Divisão,Adição, Subtração, Divisão, Multiplicação e Módulo
Multiplicação e Módulo
+=, -=, *=, /=+=, -=, *=, /= Operadores que abreviamOperadores que abreviam expressões
expressões
== AtribuiçãoAtribuição
>, <, >=, <=>, <, >=, <= Maior, Menor, Maior Igual, Maior, Menor, Maior Igual, Menor Igual
Menor Igual
[][] Limitador de Matrizes/ColeçõesLimitador de Matrizes/Coleções
Strings
Strings
Java não possui um tipo primitivo para
Java não possui um tipo primitivo para
Strings. Em vez disso, a biblioteca padrão
Strings. Em vez disso, a biblioteca padrão
contém uma classe predefinida chamada
contém uma classe predefinida chamada
de String. Cada String entre aspas é uma
de String. Cada String entre aspas é uma
estância da classe String
estância da classe String
Exemplos Usando Strings
Exemplos Usando Strings
String vazia = “”;
String vazia = “”;
String saudacoes = “Ola”;
String saudacoes = “Ola”;
String exp1 = “bom”;
String exp1 = “bom”;
String exp2 = “dia”;
String exp2 = “dia”;
String frase = exp1 + exp2;
String frase = exp1 + exp2;
Teste de Igualdade Entre Strings
Teste de Igualdade Entre Strings
Para testar se a string s é igual à string t :
Para testar se a string s é igual à string t :
s.equals(t)
s.equals(t)
É válido fazer :
É válido fazer :
String saudacao = “Ola”;
String saudacao = “Ola”;
“Ola”.equals(saudacao)
“Ola”.equals(saudacao)
Instruções Condicionais (IF)
Instruções Condicionais (IF)
if(condicao) instrucao; ouif(condicao) instrucao; ou if(condicao) { bloco } if(condicao) { bloco }
Exemplos :Exemplos : if( diaDaSemana == 1) if( diaDaSemana == 1) System.out.println(“Hoje é Domingo”); System.out.println(“Hoje é Domingo”);if( suasVendas >= meta )
if( suasVendas >= meta )
{ { desempenho = “Satisfatorio”; desempenho = “Satisfatorio”; bonus = 100; bonus = 100;
Instruções Condicionais (IF)
Instruções Condicionais (IF)
venda>meta
desempenho = “Satisfatorio”
Instruções Condicionais (IF)
Instruções Condicionais (IF)
if(condicao) instrucao; else instrucao; ou..if(condicao) instrucao; else instrucao; ou.. if(condicao) { bloco } else { bloco }
if(condicao) { bloco } else { bloco }
Exemplo :Exemplo :
if( vendas >= meta ) if( vendas >= meta )
{ { desempenho = “Satisfatório”; desempenho = “Satisfatório”; bonus = 0; bonus = 0; } } else else { { desempenho = “Insatisfatorio”; desempenho = “Insatisfatorio”; bonus = 0; bonus = 0;
Instruções Condicionais (IF)
Instruções Condicionais (IF)
Instruções Condicionais (IF)
Instruções Condicionais (IF)
if( vendas >= 2 * meta )if( vendas >= 2 * meta ) { { desempenho = “Excelente”; desempenho = “Excelente”; bonus = 1000; bonus = 1000; } }
else if( vendas >= 1.5 * meta ) else if( vendas >= 1.5 * meta ) { { desempenho = “Otimo”; desempenho = “Otimo”; bonus = 500; bonus = 500; }}
else if( vendas >= meta ) else if( vendas >= meta ) { { desempenho = “Satisfatorio”; desempenho = “Satisfatorio”; bonus = 100; bonus = 100; } } else else
Instruções Condicionais (IF)
Instruções Condicionais (IF)
Operador Ternário
Operador Ternário
Java suporta o operador ternário “?” que,
Java suporta o operador ternário “?” que,
ocasionalmente, é útil.
ocasionalmente, é útil.
A expressão
A expressão
condição
condição
?
?
e1
e1
:
:
e2
e2
avalia
avalia
e1
e1
se a
se a
condição
condição
for
for
verdadeira
verdadeira
ou
ou
e2
e2
se
se
condição
condição
for
for
falsa;
falsa;
Exemplo:
Exemplo:
menorValor = (x<y) ? x : y;
menorValor = (x<y) ? x : y;
// atribui o menor valor entre x e y para
// atribui o menor valor entre x e y para
menorValor
menorValor
Laços Indeterminados (while)
Laços Indeterminados (while)
while(condicao) { bloco }while(condicao) { bloco }
Exemplo :Exemplo :while( saldo < meta )
while( saldo < meta )
{
{
saldo = (saldo + pag) * (1+juros);
saldo = (saldo + pag) * (1+juros);
anos++;
anos++;
}
}
System.out.println(“Voce podera se apresentar
Laços Indeterminados (while)
Laços Indeterminados (while)
Laços Indeterminados (do .. while)
Laços Indeterminados (do .. while)
do { bloco } while(condicao)
do { bloco } while(condicao)
A diferença do comando do..while() para
A diferença do comando do..while() para
while() é que o primeiro executa o bloco
while() é que o primeiro executa o bloco
pelo menos uma vez;
pelo menos uma vez;
Laços Determinados (for)
Laços Determinados (for)
for(inicialização;condição enquanto;incremento) for(inicialização;condição enquanto;incremento) { bloco }{ bloco }
A instrução for repete um número determinado A instrução for repete um número determinado de vezes um bloco de instruçãode vezes um bloco de instrução
Exemplo :Exemplo :for(int i=1;i<=10;i++)
for(int i=1;i<=10;i++)
System.out.println(i);
System.out.println(i);
* a instrução acima imprime os números de 1 a
* a instrução acima imprime os números de 1 a
10 na tela do computador
Laços Determinados (for)
Laços Determinados (for)
for(inicialização;condição
for(inicialização;condição
enquanto;incremento) { bloco }
enquanto;incremento) { bloco }
Inicialização = contém geralmente a
Inicialização = contém geralmente a
inicialização do contador
inicialização do contador
Condição = fornece a condição de teste
Condição = fornece a condição de teste
antes de cada passagem pelo laço
antes de cada passagem pelo laço
Comando Break
Comando Break
O comando break é responsável por interromper um Laço (while ou O comando break é responsável por interromper um Laço (while ou for) no ponto exato aonde for colocado.
for) no ponto exato aonde for colocado.
Exemplo :Exemplo : i = 0; i = 0; while(true) while(true) { { i = i + 5; i = i + 5; System.out.println(i); System.out.println(i); if( i == 25 ) if( i == 25 ) break; break; } }
* no exemplo acima são impressos números até 25. Quando i for == * no exemplo acima são impressos números até 25. Quando i for == a 25, break interrompe o loop do while.
Comando Continue
Comando Continue
O Comando continue é responsável por fazer que uma O Comando continue é responsável por fazer que uma instrução retorne imediatamente para o inicio de um instrução retorne imediatamente para o inicio de um
Laço (while ou for), ignorando os próximos comandos Laço (while ou for), ignorando os próximos comandos
Exemplo :Exemplo : for(int x;x<=10000;x++) for(int x;x<=10000;x++) { { if( x % 5 == 0 ) if( x % 5 == 0 ) continue; continue; System.out.println(x); System.out.println(x); } }
Estrutura Básica de Um Programa
Estrutura Básica de Um Programa
Java – Classe principal e Método
Java – Classe principal e Método
Principal
Principal
Todo programa java deve estar definido dentro de uma ClasseTodo programa java deve estar definido dentro de uma Classe
O nome da classe principal tem que ser exatamente igual ao nome O nome da classe principal tem que ser exatamente igual ao nome do arquivo .java
do arquivo .java
Exemplo :Exemplo :
O método nomeado “main” é o primeiro a ser executado dentro de O método nomeado “main” é o primeiro a ser executado dentro de uma classe java
uma classe java
nome do arquivo = AloMundo.java *CaseSensitive nome do arquivo = AloMundo.java *CaseSensitive
class AloMundo // nome da classe igual ao nome do arquivo class AloMundo // nome da classe igual ao nome do arquivo
{ {
public static void main(String[] args) // método principal main public static void main(String[] args) // método principal main
{ {
System.out.print(“Alo Mundo !”); System.out.print(“Alo Mundo !”);
Em java as classes estão alocadas
Em java as classes estão alocadas
dentro dos Packages (pacotes)
dentro dos Packages (pacotes)
Packages são espaços lógicos reservados
Packages são espaços lógicos reservados
para organizar classes.
para organizar classes.
Exemplo :
Exemplo :
System.out.println(“Ola!”);
System.out.println(“Ola!”);
dizemos que :
dizemos que :
- println é um método da classe out
- println é um método da classe out
Importação de Recursos/Classes
Importação de Recursos/Classes
de bibliotecas
de bibliotecas
Em java, usa-se o comando “import” quando se Em java, usa-se o comando “import” quando se deseja utilizar classes que se encontram emdeseja utilizar classes que se encontram em
outros Packages (pacotes)
outros Packages (pacotes)
Exemplos :Exemplos :import corejava.*; // permite a utilização das
import corejava.*; // permite a utilização das
classes contidas no pacote corejava;
classes contidas no pacote corejava;
import java.util.*; // permite a utilização das
Definindo Um Package Para Uma
Definindo Um Package Para Uma
Classe
Classe
Pode-se definir um determinado Package Pode-se definir um determinado Package (pacote) para uma determinada Classe(pacote) para uma determinada Classe
Exemplo :Exemplo : package unasp.iasp.si; package unasp.iasp.si; class exemplo class exemplo { { } }* a classe exemplo pertence ao pacote