O documento apresenta a história da linguagem Java, desde sua criação na Sun Microsystems em 1991 até seu crescimento e aceitação no mercado. Detalha os principais pontos como a criação do nome "Java", o lançamento em 1995 que levou ao sucesso com a popularização da internet, e seu uso atual em diversas aplicações como páginas web, aplicativos corporativos e dispositivos móveis.
1. Introdução a linguagem
Java
Prof: Leo Cabral - Larback
E-mail: leo@polimig.com.br
Esta apresentação foi elaborada pelo professor
Thiago Moreira - ttrmoreira@gmail.com
2. A História de Java
Muitas pessoas acreditam que os microprocessadores terão um
grande impacto nos dispositivos eletrônicos destinados ao
consumidor final.
Reconhecendo isso a Sun Microsystems financiou uma pesquisa
corporativa interna com o codinome Green em 1991.
3. A História de Java
O Projeto resultou no desenvolvimento de um linguagem baseada
em C e C++
Seu criador James Goling, chamou de Oak (carvalho) – Homenagem a
uma árvore que dava para a janela do seu escritório da Sun.
Na época já existia uma linguagem de programação chamada Oak.
Até que uma equipe da Sun visitou uma cafeteria local, o nome
Java (cidade de origem de um tipo de café importado) foi sugerido e
pegou.
4. A História de Java
O projeto Green atravessava grandes dificuldades.
Na época o mercado para dispositivos eletrônicos inteligentes não
vingava.
Pior ainda, um contrato importante pela qual a Sun competia fora
concedido a outra empresa.
O projeto corria sério risco de cancelamento.
5. A História de Java
A World Wide Web explodiu em popularidade em 1993.
Possibilidade para a Sun explorar o potencial de utilizar Java para
criar páginas da web com o chamado conteúdo dinâmico.
Em maio 1995, a Sun anunciou Java formalmente em uma
conferência importante.
Java gerou um interesse imediato na comunidade comercial por
causa do fenomenal interesse pela World Wide Web.
6. A História de Java
Devido ao sucesso da linguagem java hoje em dia ela é utilizada
para:
Criar páginas da Web com conteúdo dinâmico e interativo.
Desenvolvimento de aplicativo corporativos de grande porte
Aprimoramento de funcionalidades de servidores da World Wide
Web.
Fornecer aplicativos para dispositivos destinados ao consumidor
(como telefones celulares, pagers e assistentes pessoais
digitais) e para muitas outras finalidades.
7. A História de Java
1991 Grupo de pesquisa “Green”, na Sun Microsystems
1994 Grande crescimento da Internet,
oportunidade de lançaro Java
1995 Apresentada a Comunidade no SunWorld 95
1996
Lançamento do Netscape Navigator 2.0
com suporte ao Java
1997 Surge o JDK1.02 totalmente gratuíto
1998 Surge o Java 2
totalmente reformulado, novas Classes
8. Aceitação de Java no mercado
Linguagens de programação utilizadas no desenvolvimento
Interno das empresas em 2005.
Fonte:
9. Aceitação de Java no mercado
Aplicações embarcadas no mercado automotivo.
Jogos eletrônicos para celulares.
Aplicações em equipamentos para deficientes físicos.
Internet
Aplicações Desktop (Ganharam força)
Diversos tipos de dispositivos móveis
10. Aceitação de Java no mercado
Percebendo o potencial do Java as gigantes IBM , ORACLE e
obviamente a Sun investem pesado em Java.
A IBM investiu 40 milhões no desenvolvimento do projeto
Eclipse, ferramenta opensource para desenvolvimento JAVA. Da
mesma maneira, a IBM investe na utilização do Linux.
A Sun também criou sua ferramenta de desenvolvimento Java
opensource. O NetBeans.
A Oracle possibilita que stored procedures sejam totalmente
escritas em Java. Criou a IDE de desenvolvimento JDeveloper
para desenvolvimento em Java.
11. Microsoft x Sun
A Microsoft cria o J++, e o anuncia como a ferramenta Java da
Microsoft. Segundo a Microsoft, o J++ reúne o poder da plataforma
Windows à produtividade do Java.
O J++ porém, utilizava a API do Windows para e feria a
característica multiplataforma do Java.
Os programas feitos para J++ não “rodariam” em outras
plataformas, afinal era necessário a API do Win32.
12. Microsoft x Sun
A Sun processa a Microsoft por uso indevido da linguagem e ganha
a causa. A Microsoft não pode mais utilizar o selo de
compatibilidade do J++ com o Java.
13. Microsoft x Sun
A Microsoft, como sempre, sabe reconhecer uma boa idéia e
resolve lançar sua própria plataforma de desenvolvimento. A
plataforma .Net
Baseada na sintaxe Java, a Microsoft cria uma nova linguagem, o
chamado C#. A idéia é garantir uma migração de programadores
Java para seu ambiente.
14. Microsoft x Sun
Os conceitos do .Net e Java são bastante diferentes e ambos
bastante interessantes.
Enquanto a plataforma Java prega: Uma linguagem para vários
ambientes.
A plataforma .Net prega várias linguagens em um único
ambiente.
A Microsoft está fazendo um grande esforço para que seus
usuários migrem para a nova plataforma.
15. E o Futuro ?
A utilização de Java nas aplicações desktops e não apenas
servidores está em franca expansão, fato que deixou James
Gosling muito feliz no último JavaOne.
Celulares e PDA´s utilizando Java estão concretizando a idéia da
Sun de 14 anos atrás, isto é, a utilização em dispositivos
eletrônicos.
16. E o Futuro ?
A Sun mudou sutilmente a estratégia da plataforma de modo que
esta se torne conhecida também do homem comum, e não apenas
dos desenvolvedores.
17. E o Futuro ?
A versão 1.5. do Java privilegia a facilidade de codificação para o
programador, as novas características tornarão o desenvolvedor
mais feliz.
A impressão é que o consórcio que desenvolve o Java sabe que
sua força vem principalmente do programador. Se souber respeitá-
lo acredita-se que a meta de 15 milhões de desenvolvedores será
alcançada.
18. Plataforma Java
J2SE - Java 2 Standard Edition
Focado em aplicações para Desktop, conectividade com Banco
de dados, interface gráfica etc...
J2EE - Java 2 Enterprise Edition
Focado em aplicações Corporativas, Aplicações Web
distribuídas, Servlets, JSP, web-services etc...
J2ME - Java 2 Micro Edition
Focado em aplicações embarcadas(embutidas), PDA´s,
celulares, além Java Card etc...
21. Ferramentas de Desenvolvimento em Java
Os desenvolvedores na tecnologia Java contam com diversas boas
opções de software para ambiente de desenvolvimento integrado
(IDE - integrated development environment), que vão do simples ao
sofisticado, do gratuito ao caríssimo.
NetBeans, Sun Java Studio, Borland JBuilder, IntelliJ IDEA,
Oracle JDeveloper, Eclipse, etc...
22. Recursos necessários para o
desenvolvimento em Java
Java Developer’s Kit;
Compilador (Javac)
Máquina Virtual Java (JVM)
Visualizador de applets (appletviewer)
Bibliotecas de desenvolvimento, API
Javadoc - Gerador de documentação da API
Editor de textos
Onde encontrar http://java.sun.com/j2se/index.jsp
24. Java Virtual Machine A CLDC (Connected Limited
Device Configuration) é utilizada
em aparelhos com capacidade de
processamento e armazenamento
reduzidos, como PDAs, pager´s e
telefones celulares. Possui,
geralmente, restrições quanto o
consumo de energia, conexão à
rede e telas de
tamanho reduzido.
A CDC (Connected Device
Configuration) é voltada para
aparelhos que possuem uma
maior capacidade de
processamento e
armazenamento, como set-top
boxes e sistemas automotivos.
KVM (K Virtual Machine) => máquina virtual
para CLDC
Java HotSpot => ganhos de performance
25. Bibliotecas de classes Java
Os programas em Java consistem em partes chamadas classes.
As classes são compostas de métodos que realizam tarefas e
retornam ou não informações ao completarem suas tarefas.
Permite programar cada pedaço que talvez seja necessário para
criar um programa em Java.
26. Classe: unidade de compilação
Arquivo fonte : Nome1.java
public class Nome1 {
class Nome2 {...
bytecodes
bytecodes
Nome1.class
Nome2.class
Arquivos executáveis: class
27. Um primeiro programa em Java:
Imprimindo uma linha de texto
1. // Um primeiro programa Java.
2.
3.
4. public class BemVindo {
5.
6. // O método main inicia a execução do aplicativo Java
7. public static void main( String [ ] args )
8. {
9. System.out.println( “Bem vindo a Programação em Java!" );
10.
11. } // fim do método main
12.
13. } // fim da classe
28. O que eu fiz?
O programa feito anteriormente foi feito para exibir uma linha de
texto.
Java utiliza notações estranhas para os não programadores.
A linha 9 faz o trabalho real do programa
9. System.out.println( “Bem vindo a Programação em Java!" );
29. Revisando meu primeiro programa
1. // Um primeiro programa Java.
// Indica que o restante da linha é um comentário
/*Esse é um comentário de múltiplas
linhas ele pode ser dividido
em várias linhas*/
30. Revisando meu primeiro programa
4. public class BemVindo {
Inicia uma definição de classe para a classe Bem Vindo.
Cada programa Java consiste em pelo menos uma definição de
classe que é definida por você – programador.
A chave a esquerda {, inicia o corpo da definição da classe. A
chave direita (na linha 13 desse programa), }, termina a definição
da classe.
31. Revisando meu primeiro programa
7. public static void main( String [ ] args )
A linha 7 faz parte de todo o aplicativo Java.
Os aplicativos Java começam a execução por main.
Os parênteses depois de main indicam que main é um bloco de
construção de programa denominado método.
A chave a esquerda na linha 8 {, inicia o corpo da definição do
método. A chave direita (na linha 11 desse programa), }, termina
a definição do método.
32. Revisando meu primeiro programa
9. System.out.println( “Bem vindo a Programação em Java!" );
A linha 9 instrui o computador a realizar uma ação, a saber,
imprimir o String de caracteres contido entre aspas duplas.
System.out é conhecido como objeto de saída padrão.
O método System.out.println exibe (ou imprime) uma linha de texto na
janela de comando.
11. } // fim do método main
12.
13. } // fim da classe
33. Compilando e executando seu primeiro
aplicativo Java
Compilando
javac BemVindo.java
Executando
java BemVindo
35. Estrutura de um programa em Java
Composto por uma ou mais classes
Cada classe é escrita em um arquivo fonte separado
O arquivo fonte deve ter o mesmo nome da classe, com o sufixo
.java
Ex.: a classe BemVindo deve ser armazenada no arquivo
BemVindo.java
Em geral na plataforma J2SE, todas as classes que compõem um
programa deverão estar no mesmo diretório
36. Convenção para nomes
Java, como C/C++ distingue entre letras maiúsculas e minúsculas
Exemplo: bemvindo difere de Bemvindo (case sensitive)
Nomes de classes iniciam com maiúscula
Exemplo: class Bemvindo
Nomes de variáveis iniciam com minúsculas
Exemplo: int peso;
Nomes de métodos são verbos que iniciam com minúscula e após
usam maiúsculas
Exemplo: alteraPeso
Representação: Unicode (16 bits - 65.536 caracteres)
37. Membros de classes
Uma classe possui como membros os campos de dados e os
métodos.
Uma classe pode conter apenas dados.
Uma classe pode conter apenas métodos.
Se uma classe possui um método main com a assinatura padrão, ela
é considerada um programa.
38. Nomeando Variáveis
Os nomes de variáveis não podem começar com um número;
Não se pode fazer: int 8position;
O que se pode fazer: int position8;
Exemplos de declaração de variáveis
int ano = 1998;
boolean sair;
int idade, altura, largura;
String nome = “Pedro”;
39. Tipos Primitivos
Tipo bits Valores
boolean 8 true ou false
char 16 ‘u0000’ a ‘uFFFF’
byte 8 -128 a +127
short 16 -32768 a +32767
int 32 -2.147.483.648 a +2.147.483.647
long 64 -9.223.372.036.854.775.808
+9.223.372.036.854.775.807
float 32 0.2329, -654.213, 78.9
double 64 35423.4589, 9999999
40. Operadores Aritméticos
Operador significado exemplo
+ Adição a + b
- Subtração a - b
* Multiplicação a * b
/ Divisão a / b
% Resto da divisão inteira a %
- Sinal negativo -a
+ Sinal positivo +a
++ Incremento unitário a++
-- Decremento unitário a --
41. Operadores Relacionais
Operador significado exemplo
== Igual a == b
!= Diferente a != b
> Maior que a > b
>= Maior ou igual a a >= b
< Menor que a < b
<= Menor ou igual a a <= b
42. Operadores Lógicos
Operador significado exemplo
&& E lógico (and) a && b
|| OU lógico (or) a || b
! Negação (not) !a
43. Operadores de Atribuição
Suponha que c = 10.
Expressão de Exemplo Explicação Atribui
c += 7 c = c + 7 17 a c
c -= 4 c = c - 4 6 a c
e *= 2 c = c * 2 20 a c
c /= 5 c = c / 5 2 a c
g %= 3 c = c % 3 1 a c
44. Operadores de Incremento e Decremento
Operador Chamado de Expressão de exemplo
++ pré-incremento ++a
++ pós-incremento a++
-- pré-decremento --b
-- pós-decremento b--
45. Operadores de Incremento e Decremento
Suponha que c = 5.
System.out.println(c); //imprime 5
System.out.println(c++); //imprime 5 depois pós-incrementa
System.out.println(c); //imprime 6
System.out.println(++c); //imprime 7 depois pré-incrementa
System.out.println(c); //imprime 7
46. Estrutura de seleção if /else
if (condição){
instruções
}
if (x < y){
System.out.println(“ x é menor que y”);
}else{
System.out.println(“ x não é menor que y”);
}
if (x == y ){
System.out.println(“x é igual a y”);
}
47. Estrutura de controle switch
switch (teste){
case ‘A’:
resultUm;
break;
case ‘B’:
resultDois;
break;
default: defaultresult;
}
48. Estrutura de repetição for
for (int i = 0; i < str.length(); i++){
System.out.println(“Satisfaz condição”);
}
49. Estrutura de repetição while
while (condição){
corpo do Loop;
}
int i = 0; boolean sair = false;
while (!sair){
System.out.println(“Ficar...”);
i++;
if ( i >= 10 ){sair = true;}
}
50. Estrutura de repetição do/while
//Sem chaves
do
instrução
while (condição);
//Com chaves
do {
instrução
}while (condição);
//Exemplo
do{
System.out.println(“Ficar...”);
i++;
if ( i >= 10 ){sair = true;}
}while (!sair);
51. Instruções rotuladas break e continue
//Exemplo de stop
stop:{
for (condição){
if (condiçao){
break stop; //pula para o fim do bloco stop
}
}
}
//Exemplo de continue
for (int contador = 1; contador <= 10; contador++){
if (contador == 5){
continue; //pula o código restante do laço
}
System.out.println(“O contador está em:” + contador);
}
52. Exercício 1.1
Escreva uma instrução Java para realizar cada uma das seguintes
tarefas.
Declarar que as variáveis sum e x são de tipo int.
Atribuir 1 à variável x.
Atribuir 0 à variável sum.
Adicionar a variável x à variável sum e atribua o resultado a variável sum.
Imprimir “A soma é:” e depois o valor da variável sum.
53. Respostas do exercício 1.1
Declarar que as variáveis sum e x são de tipo int.
int sum, x;
Atribuir 1 à variável x.
x = 1;
Atribuir 0 à variável sum.
sum = 0;
Adicionar a variável x à variável sum e atribua o resultado a variável sum.
sum += x ; ou sum = sum + x;
Imprimir “A soma é:” e depois o valor da variável sum.
System.out.println(“A soma é:” + sum);
54. Exercício 1.2
Combine as instruções que você escreveu no exercício 1.1 em um
aplicativo Java que calcula e imprime a soma dos inteiros de 1 a 10.
Utilize a estrutura while para repetir as instruções de cálculo e
incremento. O laço deve terminar quando o valor de x se tornar 11.
55. Respostas do exercício 1.2
//Calcula a soma dos inteiros de 1 a 10
public class Calculadora {
public static void main( String [ ] args) {
int sum, x;
x = 1;
sum = 0;
while ( x < = 10){
sum += x;
++x;
}
System.out.println(“ A soma é:” + sum);
}
}