55
Introdução a linguagem Java Prof: Leo Cabral - Larback E-mail: [email protected] Esta apresentação foi elaborada pelo professor Thiago Moreira - [email protected]

27072010221224.introdução a java aula 1

Embed Size (px)

Citation preview

Page 1: 27072010221224.introdução a java   aula 1

Introdução a linguagem Java

Prof: Leo Cabral - Larback

E-mail: [email protected]

Esta apresentação foi elaborada pelo professor Thiago Moreira - [email protected]

Page 2: 27072010221224.introdução a java   aula 1

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.

Page 3: 27072010221224.introdução a java   aula 1

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.

Page 4: 27072010221224.introdução a java   aula 1

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.

Page 5: 27072010221224.introdução a java   aula 1

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.

Page 6: 27072010221224.introdução a java   aula 1

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.

Page 7: 27072010221224.introdução a java   aula 1

A História de Java

1991Grupo de pesquisa “Green”, na Sun Microsystems

1994 Grande crescimento da Internet, oportunidade de lançar o Java

1995 Apresentada a Comunidade no SunWorld 95

1996Lançamento do Netscape Navigator 2.0com suporte ao Java

1997 Surge o JDK 1.02 totalmente gratuíto

1998 Surge o Java 2 totalmente reformulado, novas Classes

Page 8: 27072010221224.introdução a java   aula 1

Aceitação de Java no mercadoLinguagens de programação utilizadas no desenvolvimento

Interno das empresas em 2005.

Fonte:

Page 9: 27072010221224.introdução a java   aula 1

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

Page 10: 27072010221224.introdução a java   aula 1

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.

Page 11: 27072010221224.introdução a java   aula 1

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.

Page 12: 27072010221224.introdução a java   aula 1

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.

Page 13: 27072010221224.introdução a java   aula 1

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.

Page 14: 27072010221224.introdução a java   aula 1

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.

Page 15: 27072010221224.introdução a java   aula 1

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.

Page 16: 27072010221224.introdução a java   aula 1

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.

Page 17: 27072010221224.introdução a java   aula 1

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.

Page 18: 27072010221224.introdução a java   aula 1

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...

Page 19: 27072010221224.introdução a java   aula 1

Plataforma Java

Page 20: 27072010221224.introdução a java   aula 1

Certificações Java

Fonte: http://www.sun.com/training/certification/java/java_progj2se.html

Page 21: 27072010221224.introdução a java   aula 1

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...

Page 22: 27072010221224.introdução a java   aula 1

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

Page 23: 27072010221224.introdução a java   aula 1

Java Virtual Machine

Page 24: 27072010221224.introdução a java   aula 1

Java Virtual MachineA 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 detamanho 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

Page 25: 27072010221224.introdução a java   aula 1

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.

Page 26: 27072010221224.introdução a java   aula 1

Classe: unidade de compilação

Arquivo fonte : Nome1.java

public class Nome1 {

class Nome2 {...

bytecodes

bytecodes

Nome1.class

Nome2.class

Arquivos executáveis: class

Page 27: 27072010221224.introdução a java   aula 1

Um primeiro programa em Java: Imprimindo uma linha de texto1. // Um primeiro programa Java.2. 3. 4. public class BemVindo { 5. 6. // O método main inicia a execução do aplicativo Java7. public static void main( String [ ] args )8. {9. System.out.println( “Bem vindo a Programação em Java!" );10. 11. } // fim do método main12. 13. } // fim da classe

Page 28: 27072010221224.introdução a java   aula 1

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 programa9. System.out.println( “Bem vindo a Programação em Java!" );

Page 29: 27072010221224.introdução a java   aula 1

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*/

Page 30: 27072010221224.introdução a java   aula 1

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.

Page 31: 27072010221224.introdução a java   aula 1

Revisando meu primeiro programa7. 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.

Page 32: 27072010221224.introdução a java   aula 1

Revisando meu primeiro programa9. 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

Page 33: 27072010221224.introdução a java   aula 1

Compilando e executando seu primeiro aplicativo Java

Compilando javac BemVindo.java

Executando java BemVindo

Page 34: 27072010221224.introdução a java   aula 1

Saída esperada:

Bem vindo a Programação em Java!"

Page 35: 27072010221224.introdução a java   aula 1

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

Page 36: 27072010221224.introdução a java   aula 1

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)

Page 37: 27072010221224.introdução a java   aula 1

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.

Page 38: 27072010221224.introdução a java   aula 1

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”;

Page 39: 27072010221224.introdução a java   aula 1

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

Page 40: 27072010221224.introdução a java   aula 1

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 --

Page 41: 27072010221224.introdução a java   aula 1

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

Page 42: 27072010221224.introdução a java   aula 1

Operadores Lógicos

Operador significado exemplo

&& E lógico (and) a && b

|| OU lógico (or) a || b

! Negação (not) !a

Page 43: 27072010221224.introdução a java   aula 1

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

Page 44: 27072010221224.introdução a java   aula 1

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--

Page 45: 27072010221224.introdução a java   aula 1

Operadores de Incremento e Decremento Suponha que c = 5.

System.out.println(c); //imprime 5System.out.println(c++); //imprime 5 depois pós-

incrementaSystem.out.println(c); //imprime 6System.out.println(++c); //imprime 7 depois pré-

incrementaSystem.out.println(c); //imprime 7

Page 46: 27072010221224.introdução a java   aula 1

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”);}

Page 47: 27072010221224.introdução a java   aula 1

Estrutura de controle switch

switch (teste){ case ‘A’:

resultUm; break; case ‘B’: resultDois; break; default: defaultresult;}

Page 48: 27072010221224.introdução a java   aula 1

Estrutura de repetição for

for (int i = 0; i < str.length(); i++){ System.out.println(“Satisfaz condição”);}

Page 49: 27072010221224.introdução a java   aula 1

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;}}

Page 50: 27072010221224.introdução a java   aula 1

Estrutura de repetição do/while//Sem chavesdo

instruçãowhile (condição);//Com chavesdo {

instrução}while (condição);//Exemplodo{

System.out.println(“Ficar...”); i++; if ( i >= 10 ){sair = true;}

}while (!sair);

Page 51: 27072010221224.introdução a java   aula 1

Instruções rotuladas break e continue//Exemplo de stopstop:{

for (condição){if (condiçao){

break stop; //pula para o fim do bloco stop}

}

}//Exemplo de continuefor (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);

}

Page 52: 27072010221224.introdução a java   aula 1

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.

Page 53: 27072010221224.introdução a java   aula 1

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);

Page 54: 27072010221224.introdução a java   aula 1

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.

Page 55: 27072010221224.introdução a java   aula 1

Respostas do exercício 1.2

//Calcula a soma dos inteiros de 1 a 10public 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);

}}