SlideShare a Scribd company logo
1 of 55
Download to read offline
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
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
Aceitação de Java no mercado
Linguagens de programação utilizadas no desenvolvimento
Interno das empresas em 2005.
Fonte:
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...
Plataforma Java
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
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
public class Nome1 {
class Nome2 {...
bytecodes
bytecodes
Nome1.class
Nome2.class
Arquivos executáveis: class
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
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!" );
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*/
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.
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.
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
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);
}
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.
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);
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.
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);
}
}

More Related Content

What's hot

Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipseFilipe Bezerra Sousa
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidCarlos Eugenio Torres
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaRosicleia Frasson
 
Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Manoel Campos da Silva Filho
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 

What's hot (16)

Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
Apostila java completo
Apostila java completoApostila java completo
Apostila java completo
 
Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipse
 
Programe seu androide
Programe seu androidePrograme seu androide
Programe seu androide
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
 
Programação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com JavaProgramação Desktop: Uma abordagem com Java
Programação Desktop: Uma abordagem com Java
 
Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)Introdução à Programação em Java - Aula 1 (PT-PT)
Introdução à Programação em Java - Aula 1 (PT-PT)
 
Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Oficina Sesc Android - V1
Oficina Sesc Android - V1Oficina Sesc Android - V1
Oficina Sesc Android - V1
 

Similar to 27072010221224.introdução a java aula 1

Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introduçãoDenis Sobrenome
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Apostila Java
Apostila JavaApostila Java
Apostila Javadeilton
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaAlex Braz
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo JavaTI Infnet
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java BásicoPaloma Costa
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia JavaThiago Gonzaga
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01rollbackpt
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosEliete Regina Souza
 

Similar to 27072010221224.introdução a java aula 1 (20)

Java
JavaJava
Java
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Poo1 aula 1 - java - história e introdução
Poo1   aula 1 - java -  história e introduçãoPoo1   aula 1 - java -  história e introdução
Poo1 aula 1 - java - história e introdução
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Apostila Java
Apostila JavaApostila Java
Apostila Java
 
Curso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação javaCurso Android - Dia 1 - Apresentação java
Curso Android - Dia 1 - Apresentação java
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
Java -aula_01
Java  -aula_01Java  -aula_01
Java -aula_01
 
Java 01 Java Visao Geral
Java 01 Java Visao GeralJava 01 Java Visao Geral
Java 01 Java Visao Geral
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Jugday - Java Básico
Jugday - Java BásicoJugday - Java Básico
Jugday - Java Básico
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia Java
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitos
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 

Recently uploaded

PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...Priscila Ribeiro Chagas
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
TI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdfTI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdfRodrigoMori7
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
O papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-modernoO papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-modernoDenis Pereira Raymundo
 
Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.Thiago lindolfo
 

Recently uploaded (7)

PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
TI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdfTI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
O papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-modernoO papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-moderno
 
Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.
 

27072010221224.introdução a java aula 1

  • 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
  • 34. Saída esperada:  Bem vindo a Programação em Java!"
  • 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); } }