560 likes | 707 Views
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. A História de Java.
E N D
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
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.
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.
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.
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.
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.
A História de Java 1998 Surge o Java 2 totalmente reformulado, novas Classes 1997 Surge o JDK 1.02 totalmente gratuíto Lançamento do Netscape Navigator 2.0 com suporte ao Java 1996 Apresentada a Comunidade no SunWorld 95 1995 Grande crescimento da Internet, oportunidade de lançar o Java 1994 1991 Grupo de pesquisa “Green”, na Sun Microsystems
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
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.
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.
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.
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.
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.
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.
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.
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.
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...
Certificações Java Fonte: http://www.sun.com/training/certification/java/java_progj2se.html
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...
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
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
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.
Classe: unidade de compilação Arquivo fonte : Nome1.java Arquivos executáveis: class Nome1.class publicclassNome1 { bytecodes Nome2.class class Nome2 {... bytecodes
Um primeiro programa em Java: Imprimindo uma linha de texto • // Um primeiro programa Java. • public class BemVindo { • // O método main inicia a execução do aplicativo Java • public static void main( String [ ] args ) • { • System.out.println( “Bem vindo a Programação em Java!" ); • } // fim do método main • } // fim da classe
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 • System.out.println( “Bem vindo a Programação em Java!" );
Revisando meu primeiro programa • // 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*/
Revisando meu primeiro programa • 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.
Revisando meu primeiro programa • 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 mainindicam 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.
Revisando meu primeiro programa • 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. • } // fim do método main • } // fim da classe
Compilando e executando seu primeiro aplicativo Java • Compilando • javac BemVindo.java • Executando • java BemVindo
Saída esperada: • Bem vindo a Programação em Java!"
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
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)
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.
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”;
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
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 --
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
Operadores Lógicos • Operador significado exemplo && E lógico (and) a && b || OU lógico (or) a || b ! Negação (not) !a
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
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--
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
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”); }
Estrutura de controle switch switch (teste){ case ‘A’: resultUm; break; case ‘B’: resultDois; break; default: defaultresult; }
Estrutura de repetição for for (int i = 0; i < str.length(); i++){ System.out.println(“Satisfaz condição”); }
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;} }
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);
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); }