You are on page 1of 57

| 

 |
  

Aula I
JAVA
|   |
  

Antes do JAVA

Antes do surgimento do JAVA alguns problemas eram crônicos nas linguagens


existentes:

3 Impossibilidade de gerenciamento de memória;


3 Código fonte desestruturado;
3 Dependência de sistema operacional;
3 O não reaproveitamento de partes do código fonte.
|   |
  

O que popularizou o JAVA?

3 0eaproveitamento de códigos através de conceitos, padrões e bibliotecas;


3 Possibilidade de gerenciamento do uso de memória em processamento de
funções;
3 Organização de código fonte;
3 Independência de plataforma;
3 Possibilidade de desenvolvimento para dispositivos diversos:
± Celulares
± Geladeiras
± TVs
|   |
  

è quina virtual Java

Em outras linguagens o código fonte de um programa é compilado e gerado um execut vel


(Bin rio) destinado a um sistema operacional específico:

 | 
   
 | 
|   |
  

è quina virtual Java

Num programa JAVA o código fonte é traduzido para cada sistema operacional através da
è quina Virtual, criada especificamente para cada uma dessas plataformas:

"# $   | 


  | 

    Interpreta Bytecode


  !  !

"# $   | 


  | 

A m quina virtual é tal qual um computador, gerencia memória, threads e a pilha de execução
de um programa JAVA, ela interpreta cada linha de código durante sua execução.
|   |
  

‰iglas

3 $" % è quina virtual java;


3 &  &    ! % Ambiente de execução Java, formado pela
JVè e bibliotecas ou API;
3 '(  '  (! % it para desenvolvimento de aplicações JAVA,
nele encontra-se o compilador, API, e outras ferramentas.
|   |
  

Aula II
Iniciando no mundo JAVA
|   |
  

Iniciando no JAVA

Por ser uma linguagem extremamente organizada, o JAVA exige algumas


definições para que um código seja executado, parte dessa organização veremos
ao longo do curso.
Para iniciar precisamos saber apenas que:
3Am arquivo com o código fonte tem a extensão .java;
3Para escrever uma frase devemos usar o código abaixo:

)    *"         *!+


3Am programa JAVA pode ser executado a partir de um método u 
 ",   ,    -

     ./   ! -
)    *"0      1*!+
2
2
|   |
  

èeu primeiro programa JAVA

Faremos um programa para escrever na tela do computador a frase:


34   5$56
|   |
  

Exercício

1) Altere seu programa para imprimir seu nome completo.


2) Altere seu programa para imprimir seu nome completo numa linha e o nome de
um parente em outra linha.
3) Os caracteres 7 podem ser utilizados para quebrar uma linha, imprima o seu
nome e o nome do seu parente utilizando um único comando )   
|   |
  

Erros de programação mais comuns

Alguns erros são bem comuns para programadores iniciantes, vejamos a seguir os
erros mais comuns:
3 ,  8  ± Asa-se ³;´ no final dos comandos JAVA;
3 "9   9  ± O JAVA difere caracteres em maiúsculo de
caracteres em minúsculo;
3 0 ± Todo bloco de comando deve ser iniciado com ³{´ e finalizado com ³}´
|   |
  

Coment rios em JAVA

Para introduzir um coment rio num código Java pode-se utilizar:

3 ƒƒ ± Para coment rios de uma única linha


3ƒ ƒ - Para comentar mais de uma linha
|   |
  

Vari veis primitivas

: '  



 Pode assumir o valor   ou o valor  .
Caractere em notação Anicode de 16 bits. ‰erve para a armazenagem de dados alfanuméricos.
0
Também pode ser usado como um dado inteiro com valores na faixa entre 0 e 65535.
Inteiro de 8 bits em notação de complemento de dois. Pode assumir valores entre -27=-128 e 27-

)
1=127.
Inteiro de 16 bits em notação de complemento de dois. Os valores possívels cobrem a faixa de -2-
0  15=-32.768 a 215-1=32.767

Inteiro de 32 bits em notação de complemento de dois. Pode assumir valores entre -



231=2.147.483.648 e 231-1=2.147.483.647.
 Inteiro de 64 bits em notação de complemento de dois. Pode assumir valores entre -263 e 263-1.
0epresenta números em notação de ponto flutuante normalizada em precisão simples de 32 bits
 em conformidade com a norma IEEE 754-1985. O menor valor positivo represnt vel por esse tipo
é 1.40239846e-46 e o maior é 3.40282347e+38
0epresenta números em notação de ponto flutuante normalizada em precisão dupla de 64 bits em

 conformidade com a norma IEEE 754-1985. O menor valor positivo represent vel é
4.94065645841246544e-324 e o maior é 1.7976931348623157e+308
|   |
  

Declarando vari veis (inteiros)

   % '      


 ;
ƒƒdeclarando a idade
int idade;
idade = 25;
ƒƒimprimindo a idade
‰ystem.out.println(idade);

   % '    


;
int idade = 25;
|   |
  

Operações aritméticas com (inteiros)

int nota1;
nota1 = 10;
int nota2 = 10;
int nota3 = 10;
int soma = nota1 + nota2 + nota3;
‰ystem.out.println(soma);
‰ystem.out.println(³soma das notas = ´ + soma);
soma = soma ± nota3;
‰ystem.out.println(³soma sem a nota 3 = ´ + soma);
|   |
  

Operações aritméticas com (inteiros)

‰ystem.out.println(³0EPETINDO A NOTA 2´);


soma = nota1 + (nota2 2);
‰ystem.out.println(³‰oma das notas = ´ + soma);

‰ystem.out.println(³Calculando a média´);
soma = nota1 + nota2 + nota3;
int media = soma ƒ 3;
‰ystem.out.println(³èédia = ´ + media);
|   |
  

Declarando vari veis (Decimais)

ƒƒdeclarando uma nota de aluno


double nota1 = 8.5;
|   |
  

Operações aritméticas (decimais)

double vlProduto1 = 100.50;


double vlProduto2 = 80.30;
double precoèedio = (vlProduto1 + vlProduto2) ƒ 2;
‰ystem.out.println(³Preço médio = ´ + precoèedio);
|   |
  

Exercício

Faça um programa Java para calcular e imprimir a média de um aluno, considere


que o aluno tem três notas e que essas notas podem receber números decimais.
|   |
  

boolean

Am boolean armazena apenas ³true´ ou ³false´, diferente de algumas outras


linguagens que aceitam ³0´ ou ³1´

  ;
ƒƒDeclarando uma vari vel boolean
boolean verdade = true;

  ;
ƒƒAtribuindo um valor através de uma expressão lógica
int qtdFaltas = 50;
boolean reprovado = qtdFaltas > 35;
|   |
  

char

O tipo char armazena um único caractere alfanumérico. O caractere deve ser


escrito entre aspas simples.

 ;
char caractere = ¶a¶;
‰ystem.out.println(caractere);
|   |
  

Atribuição de valores

Vari veis primitivas armazenam sempre o valor real do conteúdo e não uma
referência para o valor.
int x = 100; ƒƒ O valor 100 é copiado para dentro de x
int z = x; ƒƒ z recebe uma cópia do valor de x
x = x + 1; ƒƒ x vira 101 e z continua igual a 100
|   |
  

Code conventions

3 As convenções de código java são determinadas pela ‰AN (Oracle), elas


padronizam a forma como o código fonte deve ser escrito e pode trazer inúmeras
vantagens.
3 O documento Code Conventions pode ser encontrado através do endereço a
seguir, vamos folhear e debater.

http:ƒƒ.oracle.comƒtechnetorkƒjavaƒcodeconv-138413.html
|   |
  

Exercício

Na empresa onde trabalhamos, h tabelas com o quanto foi gasto em cada mês. Para fechar
o balanço do primeiro trimestre, precisamos somar o gasto total. ‰abendo que, em Janeiro,
foram gastos 15000 reais, em Fevereiro, 23000 reais e em èarço, 17000 reais, faça um
programa que calcule e imprima o gasto total no trimestre. ‰iga esses passos:
a) Crie uma classe chamada BalancoTrimestral com um método main;
b) Dentro do main declare uma vari vel inteira chamada gastosJaneiro e inicialize-a com
15000;
c) Crie também as vari veis gastosFevereiro e gastosèarco, inicializando-as com 23000 e
17000, respectivamente;
d) Crie uma vari vel chamada gastosTrimestre e inicialize-a com a soma das outras 3
vari veis;
e) Imprima a vari vel gastosTrimestre.
|   |
  

Casting de tipos primitivos


|   |
  

An lise inicial

 ;
double d = 1.05;
int i = d;
ƒƒNote que i é um valor inteiro e d é um double.
ƒƒ‰eria o mesmo que fazer:
int i = 1.05;
 ;
double d = 1; ƒƒO Pois um double pode ter apenas número(s) inteiro(s)
int i = d; ƒƒErrado O compilador não sabe se d possui apenas número(s) inteiro(s)
|   |
  

Exercício

Escreva um programa com o código abaixo e veja se ele compila:

  < =+

  < +
|   |
  

0ecurso de Casting

Algumas vezes se faz necess rio armazenar o valor inteiro de uma vari vel do tipo
double numa vari vel do tipo int. Isso é possível através de um recurso chamado
Casting e pode ser utilizado em outros cen rios, diferentes do citado anteriormente.

  ;
double d3 = 3.14;
int i = (int) d3; ƒƒ i ser igual a 3

  ;
long x = 10000;
int i = (int) x;
ƒƒ long é maior que int, porém o compilador aceitar , a garantia é do programador
|   |
  

0ecurso de Casting

Todo valor com ponto flutuante (Decimais) é considerado double pelo Java, se
tentarmos escrever:
  < >+

O compilador acusar um erro no programa, utilizando o Casting teremos:


  < ! >+
Ou
  < >+
|   |
  

Casts possíveis em Java

,5&5
) 0  0    

'

) - I (char) I I I I
0  (byte) - (char) I I I I
0 (byte) (short) - I I I I
 (byte) (short) (char) - I I I
 (byte) (short) (char) (int) - I I
 (byte) (short) (char) (int) (long) - I

 (byte) (short) (char) (int) (long) (float) -

4 ?  
|   |
  

Exercício

Crie um programa e declare uma vari vel para cada tipo abaixo:

)@ 0 @ 0 @ @ @ @ 




Acompanhando a tabela de casts Java, atribua um valor compatível para cada uma
dessas vari veis utilizando o recurso de casting quando necess rio e em seguida
brinque com as possíveis atribuições de uma vari vel à outra.
|   |
  

Controles
|   |
  

If-Else

 
! -
     +
2

‰e a condição for verdadeira o código interno ser executado


|   |
  

If-Else

3Toda condição booleana retorna true ou false e pode ser formada utilizando os
operadores ó@ A@ ó<@ A<@ << e outros;

Exemplo:

  < B+


  ó C! -
)    3&   D6!+
2
|   |
  

If-Else

A condição Else pode ser utilizada para indicar o comportamento alternativo nos
casos em que a condição booleana for falsa.

Exemplo:

  < B+


  ó C! -
)    *&   D*!+
2   -
)    *5 *!+
2
|   |
  

Concatenando condicionais

É possível concatenar expressões booleanas através de operadores lógicos 36 e


3|E6. O 36 é representado pelo FF e o 3|E6 é representado pelo GG

Exemplo 1:
  < H+
 #I < =+
  A< C FF #I ó >! -
)    *5 *!+
2   -
)    *& *!+
2
|   |
  

Concatenando condicionais

Exemplo 2:
  < H+
 #I < =J+
  ó C GG #I A< >! -
)    *& *!+
2   -
)    *5 *!+
2
|   |
  

Negando a condicional

É possível usar o operador  Para negar uma condicional, isso pode facilitar o
entendimento do código fonte.

Exemplo:

  4   <  +


 1 4  ! -
)    "K L  0M*!+
2   -
)    ³5  
 *!+
2
|   |
  

Operador de igualdade

É importante destacar que o operador de igualdade no java é o <<


O < é um operador de atribuição de valores.

Exemplo:

    < JJ+


    << JJ! -
)    "| 9   D   JJ*!+
2
|   |
  

Incremento de vari veis

A instrução  <  N  pode ser substituída por NN ou por NN, nos dois casos o  ser
acrescido de 
3No casos em que uma atribuição é realizada, usar o pré ou o pós incremento faz a
diferença:
  < +
  < NN+
3No final desse código  ser igual a  e  igual a . O valor de  primeiro é atribuído
a  para depois ser incrementado.
Asando o pré-incremento:
  < +
  < NN+ OO        
|   |
  

ëhile

Comando utilizado para fazer uma repetição de uma seqüência de código enquanto
uma determinada condição for verdadeira.

  < +


M0  ó CJ! -
)     !+
 <  N +
2
|   |
  

For

Além de controlar a repetição de um código diante de uma condição, o  tem


espaço para inicialização e modificação de vari veis.

for (inicialização de vari vel; condição; incremento de vari vel) {


código fonte;
}

Exemplo:
   < J+  ó J+  <  N ! -
)    !+
2
|   |
  

For

Veja que o  poderia ser trocado pelo M0;

  < J+
M0  ó J! -
)    !+
 <  N +
2

Podemos notar que utilizando o for, o código fonte fica mais legível.
|   |
  

Break em loops

Em alguns momentos podemos precisar parar um loop antes do final de suas


condições normais:

   < J+  ó JJ+ NN! -


  P J << J! -
)    *K9    8  J*!+

Q+
2
2
|   |
  

Continue em loops

Também é possível impedir a execução de parte do código inserido num loop


através do ;

   < J+  ó JJ+ NN! -


  A >J FF  ó CJ! -
+
2
)    !+
2

Nem sempre o i ser impresso


|   |
  

Escopo de vari veis

No JAVA uma vari vel pode ser declarada a qualquer momento dentro de um
programa. ‰eu escopo, ou seja, sua validade depende de onde tenha sido
declarada.

  < +
M0  ó JJ! -
 < >J+
NN+
2
ƒƒ não existe mais, mas o  continua existindo.
|   |
  

Escopo de vari veis - CAIDADO‰

 <<! -
  < +
2   -
  < +
2
)    !+ OO 1

3  não existe fora do if e do else


3 Declarar a vari vel antes do if, vai trazer outro erro de compilação: dentro do if e
do else a vari vel est sendo redeclarada
|   |
  

Escopo de vari veis - CAIDADO‰

Escrevendo corretamente o código anterior:

 +
 <<! -
 < J+
2   -
 < +
2
)    !+
|   |
  

Escopo de vari veis - CAIDADO‰

   < J+  ó J+ NN! -


)    *1*!+
2
)    !+ OO &&| ' |",4R5ST|
|   |
  

Escopo de vari veis - CAIDADO‰

Escrevendo corretamente o código anterior:

 +
  < J+  ó J+ NN! -
)    *1*!+
2
)    !+
|   |
  

Exercício I

‰eu Zé anota tudo o que gasta em sua Bodega, ele usa um bloco de papel
com uma tabela indicando o que fora gasto em cada mês. No fechamento
de gastos de cada semestre, seu Zé soma todos os valores gastos mês a
mês anotando o resultado obtido.
Faça um programa que leia os gastos mês a mês, armazene-os num vetor
e por fim, some para ‰eu Zé os gastos do semestre inteiro, imprimindo o
resultado no final.- 
|   |
  

Exercício II

1. Crie um programa com o método main e nele some três valores inteiros (A, B e
C) os números devem ser, respectivamente, dos tipos: int, long e short;
-
  
2. Imprima os números de 79 a 99; -


3. Imprima a soma dos números de 1 a 30;
4. Imprima números multiplos de 3, que entejam entre 0 e 69;
5. Faça um programa para dividir um número A por um número B e em seguida
multiplique o resultado por 100. Imprima o resultado.
|   |
  

Exercício II (Continuando...)

6. Considerando que a média para aprovação de um aluno é 6.0. Faça um


programa que calcule a média das três provas de um aluno e imprima se o
mesmo est ou não aprovado. Caso o aluno esteja reprovado com média menor
que 6.0 e igual ƒ maior que 5.0, imprima a mensagem: ³Aluno em recuperação´;
7. Vinte (20) pilotos foram cadastrados para concorrer a um prêmio especial da Fórmula 1. A
numeração dos carros é formada sempre por números inteiros e em sequência numérica.
O carro de número 1 é o único de cor vermelha, todos os demais são de cor preta. Faça
um programa que imprima a identificação da cor b sica do evento de premiação tomando
como base as seguintes condições:
1. ‰e o carro vencedor da corrida for de cor vermelha, o evento dever ter cor base:
vermelha;
2. ‰e o carro vencedor da corrida for de cor preta e o segundo lugar for de cor vermelha,
o evento dever ter a cor base: vinho;
3. ‰e o terceiro lugar for de cor vermelha, o evento dever ter cor base: marrom;
4. Em qualquer outra situação diferente das anteriores, o evento dever ter a cor preta.
|   |
  

Exercício II (Continuando...)

8. ‰ome dois números double e imprima apenas o valor inteiro da soma;


9. Faça um programa para imprimir os números pares entre 1 e 100 e sempre que
um número múltiplo de 10 for encontrado, faça uma soma desses números e
imprima o resultado da soma;
|   |
  

Exercício III

1. Faça um programa para ler 10 valores, armazene os números ímpares num


vetor e os pares noutro. Cada vetor dever ter 10 posições. Ao fim da leitura dos
valores, imprima o conteúdo de cada vetor, identificando o grupo de números
ímpares e o grupo de números pares.
2. Faça um programa para ler 15 elementos inteiros armazenando-os num vetor,
em seguida, imprima todos os elementos do vetor e a quantidade de números
pares armazenados.
3. Ama livraria criou um programa de fidelidade para seus clientes. Faça um
programa que possa armazenar a quantidade de livros adquiridos em cada
compra de um cliente dentro de um vetor (simule vendas exclusivas para um
único cliente). Considerando que a cada 10 livros o cliente ter um crédito de 50
reais em compras, faça o programa calcular o total de crédito do cliente e dado
o valor de um livro diga se o cliente possui saldo suficiente para aquisição do
mesmo.
|   |
  

Exercício III (Continuação...)

4. Crie um programa que peça o nome, a altura e o peso de duas pessoas e


apresente o nome da mais pesada e o nome da mais alta.
5. Qual o resultado ao tentar compilar e rodar este programa?

  I -
 +

        ./!-
 <J+ó=+NN!-
)    !+
2
  <+ ó=+NN!-
)    !+
2
 +
 <J+ó+NN!-
)    !+
2
2
2
|   |
  

Exercício IV

Num teste de qualidade de um produto cinco perguntas são realizadas:


1.É resistente a gua?
2.É resistente a uma queda de 5 metros de altura?
3.‰uporta temperatura até 100 graus?

Ama pontuação é definida para cada resposta positiva, conforme pode ser visto abaixo:
Pergunta 1 : 10 pontos
Pergunta 2 : 10 pontos
Pergunta 3 : 20 pontos
Considerando que apenas os produtos com 30 pontos ou mais passam pelo controle de
qualidade, faça um programa que lance as perguntas, some os resultados e imprima se o
produto est ou não qualificado.

You might also like