FATEC ADS 2 LP 01 Apostila Linguagem de Programação Java
FATEC ADS 2 LP 01 Apostila Linguagem de Programação Java
FATEC ADS 2 LP 01 Apostila Linguagem de Programação Java
Java
1
Linguagem de Programao JAVA
Contedo
Contedo
Apresentao
Definio das atividades
Formas de Avaliao
Regras de Horrios
Tipos de Atividades
Apresentao do Plano de Ensino;
4Learn Ambiente Virtual de Aprendizagem
2
Linguagem de Programao JAVA
definies iniciais
A linguagem Java
Case sensitive
umaVariavel DIFERENTE DE umavariavel (aplicado para nome de classes,
objetos, mtodos, variveis e constantes.
O uso incorreto de algum nome gerar um erro de compilao
Blocos de cdigos so colocados entre chaves { } representando o begin e o end
de outras linguagens.
No final de cada instruo obrigatrio o uso do ponto e vrgula ;
A classe dever ser salva em formato texto em um arquivo com o mesmo nome
da classe com extenso .java, ou seja, OlaMundo.java respeitando maisculas e
minsculas.
Todo programa em Java representado por uma ou mais classes.
Normalmente trabalhamos com apenas uma classe por arquivo.
3
Linguagem de Programao JAVA
definies iniciais
4
Linguagem de Programao JAVA
definies iniciais
class OlaMundo {
// variveis
// atributos
// mtodos
}
5
Linguagem de Programao JAVA
definies iniciais
Palavras reservadas
6
Linguagem de Programao JAVA
definies iniciais
Convenes do cdigo
Convenes do cdigo
8
Linguagem de Programao JAVA
definies iniciais
Convenes do cdigo
Comentrios: Servem para realizar comentrios durante o
desenvolvimento dos programas. Podem ser para uma linha ou para
mltiplas linhas.
Comentrios para uma linha: representados pelas barras paralelas
//
Exemplo: // Esta linha calcula a rea
Comentrios de mltiplas linhas: representados por /* e */.
Inicia-se colocando /* e, aps o bloco de comentrio, finaliza-se
com */.
Exemplo:
/* mltiplas linhas para os comentrios, utilizado para textos
longos
9 */
Linguagem de Programao JAVA
definies iniciais
Variveis
10
Linguagem de Programao JAVA
definies iniciais
Sintaxe:
11
Linguagem de Programao JAVA
definies iniciais
Tipo: byte
Valor Mnimo: -128
Valor Mximo: 127
Bytes consumidos: 1
Tipo: short
Valor Mnimo: -32.768
Valor Mximo: 32.767
Bytes consumidos: 2
12
Linguagem de Programao JAVA
definies iniciais
Tipo: int
Valor Mnimo: -2.147.483.648
Valor Mximo: 2.147.483.647
Bytes consumidos: 4
Tipo: long
Valor Mnimo: -922.337.203.685.475.808
Valor Mximo: 922.337.203.685.475.807
Bytes consumidos: 8
13
Linguagem de Programao JAVA
definies iniciais
Tipo: float
Valor Mnimo: -1.4e -45
Valor Mximo: 3.4e 38
Bytes consumidos: 4
Tipo: double
Valor Mnimo: -4.9e -324
Valor Mximo: 1.7e 308
Bytes consumidos: 8
14
Linguagem de Programao JAVA
definies iniciais
Exemplo:
char meuChar = x;
15
Linguagem de Programao JAVA
definies iniciais
A barra invertida indica que um caracter especial deve ser enviado para a
sada quando o prximo caracter combinado com ela, formando uma
sequncia de escape.
16
Linguagem de Programao JAVA
definies iniciais
\n nova linha
\f nova pgina
\r para retorno
\ para aspas simples
\t para tabulao
\ para aspas duplas
\b para backspace
\\ - para barra invertida
17
Linguagem de Programao JAVA
definies iniciais
Variveis Reference
Sintaxe:
<tipo varivel> <nome varivel> = new <tipo varivel>();
18
Linguagem de Programao JAVA
definies iniciais
Variveis Reference
Exemplos:
19
Linguagem de Programao JAVA
definies iniciais
Variveis locais
20
Linguagem de Programao JAVA
Operadores em Java
Exemplo
TesteVariaveisLocais.java
21
Linguagem de Programao JAVA
Operadores em Java
Escopo
Exemplo:
TesteEscopo.java
22
Linguagem de Programao JAVA
Operadores em Java
Exerccio:
Crie a classe DeclaracaoVariaveis.java e dentro do mtodo main declare, inicialize e
utilize as variveis como definido abaixo:
- Declare uma varivel do tipo String para armazenar o nome de uma pessoa;
- Declare uma varivel do tipo String para armazenar a data de nascimento de uma pessoa;
- Declare uma varivel do tipo String para armazenar o rg de uma pessoa;
- Declare uma varivel do tipo String para armazenar o sexo da pessoa utilizando a seguinte
regra: MASCULINO (M) e FEMININO (F)
- Declare uma varivel do tipo double para armazenar o salrio da pessoa;
- Imprima todos os valores de maneira a obter a seguinte sada:
23
Linguagem de Programao JAVA
Operadores em Java
Lembre-se:
\n : pular linha
\t : tab
\\ : \
\ :
24
Linguagem de Programao JAVA
Operadores em Java
Exerccio de Certificao:
Qual a sada do seguinte cdigo quando compilado e executado? Selecione
a(s) alternativa(s) correta(s).
1. class Questao1 {
2. public static void main (String args[]) {
3. int y = 0;
4. int x = z = 1;
5. System.out.println(y + , + x + , + z);
6. }
7. }
25
Linguagem de Programao JAVA
Operadores em Java
Alternativas:
a) Imprime 0,1,1
b) Erro durante a compilao na linha 1
c) Imprime 0,0,1
d) Erro durante a compilao na linha 4
e) Erro durante a compilao na linha 5
26
Linguagem de Programao JAVA
Operadores em Java
Operadores Unrios:
Negao !
Pr e Ps incremento ++
Pr e Ps decremento --
Sinal Positivo +
Sinal Negativo -
Cast ()
27
Linguagem de Programao JAVA
Operadores em Java
Operadores de negao:
Exemplo:
TesteOperadorNot.java
28
Linguagem de Programao JAVA
Operadores em Java
29
Linguagem de Programao JAVA
Operadores em Java
int x = -3;
int z = +3; // z = 3 seria exatamente igual
30
Linguagem de Programao JAVA
Operadores em Java
Operadores de inverso: ~
int x = -3;
int z = +3; // z = 3 seria exatamente igual
31
Linguagem de Programao JAVA
Operadores em Java
Operadores de inverso: ~
Exemplo:
32
Linguagem de Programao JAVA
Operadores em Java
O cast pode ser aplicado para trocar tipos de valores primitivos e tambm pode
ser aplicado em referncia para objeto.
33
Linguagem de Programao JAVA
Operadores em Java
float
34 double
Linguagem de Programao JAVA
Operadores em Java
long
float
35 double
Linguagem de Programao JAVA
Operadores em Java
Operadores aritmticos: +, -, *, / e %
36
Linguagem de Programao JAVA
Operadores em Java
& (e burro) -> avalia todos os operandos, mesmo que o resultado da expresso j
seja falso.
&& (e inteligente) -> avalia a expresso enquanto os seus operandos forem
verdadeiros
| (ou burro) -> avalia todos os operandos, mesmo que o resultado da expresso
j seja verdadeiro
|| (ou inteligente) -> Avalia a expresso enquanto seus operandos forem falsos.
37
Linguagem de Programao JAVA
Operadores em Java
38
Linguagem de Programao JAVA
Operadores em Java
Operador ternrio
39
Linguagem de Programao JAVA
Operadores em Java
TesteOperadorTernario.java
40
Linguagem de Programao JAVA
Operadores em Java
Class Questao49 {
public static void main (String args [ ]) {
boolean b = false;
String s = (b = !b) ? (b = !b) ? Oi : oi : (b = !b) ? world : World;
System.out.println(s);
}
}
41
Linguagem de Programao JAVA
Operadores em Java
Precedncia de operadores
10 * 2 4 * 2 + 2 / 2 = ???
42
Linguagem de Programao JAVA
Operadores em Java
43
Linguagem de Programao JAVA
Operadores em Java
Alm disso, deve se ter em mente que os operadores com a mesma procedncia
so avaliados da esquerda para a direita, na medida que forem sendo
encontrados. Uma boa prtica de programao priorizar a ordem de execuo
das operaes atravs da incluso de parntesis, tornando o cdigo mais
legvel.
(2 + 3 * (4 (8 / 4 + (5 + 3) ) ) + 1 )
| | | |--1--| | | |
| | |-------- 2 ------ | | |
| |--------- 3 --------------| |
|------------------ 4 -----------------------|
44
Linguagem de Programao JAVA
Operadores em Java
Resumo:
- (unrio) -3 O valor 3
- (binrio) 34 O valor 1
* 2*7 14
45
Linguagem de Programao JAVA
Operadores em Java
/ 11 / 5 2
% (resto) 11 % 5 1
46
Linguagem de Programao JAVA
Operadores em Java
Resumo:
Operador Exemplo Resultado
= x = 5; x vale 5
+= x = 1; x += 5; x vale 6
-= x = 1; x -= 5; x vale -4
*= x = 1; x *= 5; x vale 5
/= int x = 1; x vale 0
x /= 5;
%= x = 1; x %= 5; x vale 1
47
Linguagem de Programao JAVA
Operadores em Java
Resumo:
Operador Exemplo Resultado
== 5==7 false
!= 5 != 7 True
48
Linguagem de Programao JAVA
Operadores em Java
Resumo:
49
Linguagem de Programao JAVA
Operadores em Java
Exerccio:
1. Coloque aps cada linha o valor que ser impresso ou diga se a linha ser
impressa. (Operadores.java)
50
Linguagem de Programao JAVA
Operadores em Java
Resposta do Exerccio 1:
1. 30 / 2. 0 / 3. 31 / 4. 1 / 5. 31 / 6. 2 / 7. 27 / 8. 30 / 9. 57
/ 10. 28 / 11. Mostra a mensagem / 12. No mostra a mensagem / 13
Mostra a mensagem / 14. No mostra a mensagem / 15. No mostra a
mensagem / 16. Mostra a Mensagem / 17. Bom dia, fulano de tal, seja bem
vindo / 18. O tanque de gasolina est Cheio
51
Linguagem de Programao JAVA
Operadores em Java
a) x = a + b a b; f) x += 7;
b) x = ++ b; g) x -= 1;
c) x = a - -; h) x = a += 3;
d) x = a ++ * --b; i) false & true;
e) x = 31 % a; j) false | true;
52
Linguagem de Programao JAVA
Operadores em Java
2. Resposta:
a) 0
b) 21
c) 10
d) 190
e) 1
f) 7
g) 1
h) 13
i) false
j) true
53
Linguagem de Programao JAVA
Operadores em Java
3. Resolva as expresses:
a) X=2+3*48/2+5+3+1
b) X = (2 + 3) * (4 8) / (2 + 5 + 3) + 1
c) X = 2 + 3 * (4 8 / 2) + 5 + 3 + 1
54
Linguagem de Programao JAVA
Operadores em Java
3. Respostas:
a) 19
b) -1
c) 11
55
Linguagem de Programao JAVA
Operadores em Java
4. Assumindo que:
x = 5; y = 3; z = 7;
a) X = ++y z * z++ ( 4) / (3 1)
56
Linguagem de Programao JAVA
Operadores em Java
4. Resposta:
a) 4 7 * 7 + 4 / 2 = -43
57
Linguagem de Programao JAVA
Operadores em Java
5. Assumindo que:
y = 3;
58
Linguagem de Programao JAVA
Operadores em Java
5. Resposta:
a) X = 4 (4 * 5) + 4 = -12
59
Linguagem de Programao JAVA
palavras Reservadas em Java
Comandos de Entrada
Existem algumas formas de entrada de dados no Java. Uma delas e utilizando a classe
SCANNER. A classe SCANNER est disponvel no pacote java.util. Ou seja, para usar
essa classe devemos usar o comando import java.util.Scanner antes da criao da
classe.
61
Linguagem de Programao JAVA
palavras Reservadas em Java
Comandos de Entrada
62
Linguagem de Programao JAVA
palavras Reservadas em Java
63
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Simples:
If (condio lgica) {
// Comandos a serem executados caso condio lgica verdadeira;
64 exemploDesvioCondicionalSimples.java
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Composta:
If (condio lgica) {
// Comandos a serem executados caso condio lgica verdadeira;
} else {
// Comandos a serem executados caso condio lgica falsa;
}
65 exemploDesvioCondicionalComposto.java
Linguagem de Programao JAVA
Estrutura da Linguagem Java
66 exemploDesvioCondicionalEncadeado.java
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Exerccios de exemplo;
67
Linguagem de Programao JAVA
Estrutura da Linguagem Java
a. Escreva um programa em java que solicite ao usurio cinco nmeros inteiros e imprima
o maior e o menor do grupo.
b. Escreva um programa que solicite cinco nmeros e imprima quantos negativos, positivos
e zeros foram inseridos;
c. Efetuar a leitura de quatro nmeros inteiros e apresentar os nmeros que so divisiveis
por 2 e 3;
d. Efetuar a leitura de quatro nmeros inteiros e apresentar os nmeros que so divisiveis
por 2 ou 3;
e. Elaborar um programa que efetue a leitura de um nmero inteiro e apresentar uma
mensagem se este nmero digitado par ou impar.
68
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Atividade desafio;
69
Linguagem de Programao JAVA
Estrutura da Linguagem Java
70
Linguagem de Programao JAVA
Estrutura da Linguagem Java
71
Linguagem de Programao JAVA
Estrutura da Linguagem Java
switch ( expresso ) {
case 1 : instruo 1 ; break ;
case 2 : instruo 2 ; break ;
default : instruo_default ;
}
72
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Observe que, aps cada " case " existe uma instruo e depois
dela aparece um comando " break " que encerra o lao e leva
o processamento para a primeira instruo depois do "
switch...case ".
Perceba ainda que no fim das opes " case " existe a opo "
default " que executada se o valor de entrada no coincidir
com nenhuma das opes do " case ".
74
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Exerccios de exemplo;
Atividade desafio;
77
Linguagem de Programao JAVA
Estrutura da Linguagem Java
78
Linguagem de Programao JAVA
Estrutura da Linguagem Java
A instruo " while " avalia primeiro a condio, e se ela for verdadeira executa a ao.
79
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Exerccios de exemplo;
a. Apresentar os resultados de uma tabuada de um nmero qualquer, a qual deve ser
impressa no seguinte formato, considerando como exemplo o fornecimento do nmero
2:
2x0=0
2x1=2
2x2=4
.
.
b. Apresentar o total da soma dos cem primeiros nmeros inteiros. Ex: (1 + 2 + 3 + 4 + ... +
100)
c. Apresentar no final o somatrio dos valores pares existentes na faixa de 1 at 500.
d. Efetuar a leitura de 15 valores numricos inteiros e no final apresente o somatrio e a
mdia dos valores lidos;
80 e. Efetuar a leitura de n nmeros e exibir a quantidade de nmeros pares digitados. O
programa encerrar quando o usurio digitar 0 (Zero);
Linguagem de Programao JAVA
Estrutura da Linguagem Java
81
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Atividade desafio;
82
Linguagem de Programao JAVA
Estrutura da Linguagem Java
83
Linguagem de Programao JAVA
Estrutura da Linguagem Java
84
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Exerccios de exemplo;
85
Linguagem de Programao JAVA
Estrutura da Linguagem Java
86
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Atividade desafio;
88
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Exerccios de exemplo;
a. Elaborar um programa para imprimir os nmeros que esto entre 1 (inclusive) e 200
(inclusive);
b. Elaborar um programa para imprimir os nmeros de 1 a 10 em ordem decrescente;
c. Elaborar um programa para solicitar ao usurio 5 nmeros e imprimir o maior e o menor
dos nmeros digitados;
d. Elaborar um programa para imprimir os nmeros pares localizados entre 1 e 100
(inclusive);
e. Elabore um programa para ler a altura de 5 pessoas e imprimir a mdia das alturas das
pessoas digitadas;
90
Linguagem de Programao JAVA
Estrutura da Linguagem Java
a. Elabore um programa em java para imprimir o valor de H, sendo este determinado pela
srie H = 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50
b. Elabore um programa que calcule e escreva a soma dos dez primeiros termos da
seguinte srie: resultado = 2/500 5/450 +2/400 5/350 + ...
91
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Jogo Mecnico.doc
92
Linguagem de Programao JAVA
Estrutura da Linguagem Java
93
Linguagem de Programao JAVA
Estrutura da Linguagem Java
// o mesmo que
Int x = 0;
while ( x <= 10 ) {
System.out.println (x);
x ++;
94 }
Linguagem de Programao JAVA
Operaes Matemticas
Exerccios de exemplo;
96
Linguagem de Programao JAVA
Estrutura da Linguagem Java
97
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Atividade desafio;
98
Linguagem de Programao JAVA
Estrutura da Linguagem Java
99
Linguagem de Programao JAVA
Operaes com a classe String
100
Mtodos que manipulam contedos da classe String.doc
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Exerccios de exemplo;
metodoString.java
10
1
Linguagem de Programao JAVA
Estrutura da Linguagem Java
Atividade desafio;
10
3
Linguagem de Programao JAVA
Estrutura da Linguagem Java
10
4
Linguagem de Programao JAVA
Arrays Vetores
Uma array consiste em uma lista contendo dados do mesmo tipo. Arrays so
objetos de comprimento imutvel, ou seja, tm tamanho fixo.
Um array pode ser composto por elementos de tipo primitivo ou por referncias
cuja nica restrio , nesse sentido, a homogeneidade. Sendo objetos, os arrays
so considerados tipos por referncia.
O primeiro elemento de cada array tem sempre subscrito (ndice) zero. Por
exemplo, um array de inteiros que possui oito elementos, seu ndice inicia-se pelo
valor zero e tem o ltimo item com ndice sete.
10
5
Linguagem de Programao JAVA
Arrays Vetores
int [] x = new int [8] // tanto faz colocar os colchetes antes ou depois do
identificador.
10
int x [];
6 x = new int[8];
Linguagem de Programao JAVA
Arrays Vetores
Declarar mltiplas variveis de array em uma nica declarao pode levar a erros
sutis. Considere a declarao int [] a, b, c;. Se a , b e c devem ser declarados
como variveis array, ento essa declarao est correta colocar os colchetes
logo depois do tipo indica que todos os identificadores na declarao so variveis
de array. Entretanto, se apenas a destina-se a ser uma variveis array, e b e c
variveis int individuais, ento essa declarao incorreta a declarao int a [], b,
c; alcanaria o resultado desejado.
10
7
Exemplo_array1.java
Linguagem de Programao JAVA
Arrays Vetores
10
8 Exemplo_array2.java
Linguagem de Programao JAVA
Arrays Vetores
Exerccios de exemplo;
11
0
Linguagem de Programao JAVA
Arrays Vetores
11
1
Linguagem de Programao JAVA
Arrays Vetores
Atividade desafio;
11
2
Linguagem de Programao JAVA
Arrays Vetores
11
3
Linguagem de Programao JAVA
Arrays Matrizes
Arrays multimensionais.
So considerados em Java como arrays de arrays. Quando tratamos de arrays com somente duas
dimenses, eles so chamados de bidimensionais ou matrizes.
ou
int vendas [] [] = { {1000,1500,1800},{1000},{1400}};
ou
int exemplo [] [];
exemplo = new int [2][];
11
exemplo [0] = new int [4];
4 exemplo [1] = new int [7];
Linguagem de Programao JAVA
Arrays Matrizes
Arrays multimensionais.
Podemos perceber que os tamanhos das linhas dos vetores (colunas) so diferentes. Isto
demonstra que o Java pode trabalhar com matrizes com colunas de diferentes tamanhos. No
exemplo anterior podemos observar que o array possui duas linhas. Da primeira linha surge
um array de 4 elementos e da segunda linha surge um array de 7 elementos.
Para alimentar o array so utilizados dois loops utilizando for aninhados, um para percorrer a
linha e, para cada linha, percorrer a coluna correspondente.
Para verificar o tamanho de uma linha de uma matriz em Java podemos utilizar o comando
array.length. O argumento length retorna o tamanho da linha da matriz.
11 Para verificar o tamanho da coluna de uma matriz que possui colunas de tamanhos variveis,
utilizamos o comando array[].length. Desta forma, o length retornar o tamanho de cada
5 linha da matriz em questo.
Linguagem de Programao JAVA
Arrays Matrizes
Arrays multimensionais.
colunas
l
i
n
h
a
s
11
6
Linguagem de Programao JAVA
Arrays Matrizes
11
7
Linguagem de Programao JAVA
Arrays Vetores
Atividade desafio;
a. Desenvolver um programa em Java para ler uma matriz A de 4 x 3. Criar uma matriz B, tambm de
mesmo tamanho, onde este ser composto pelo fatorial dos valores digitados em A.
11
9
Linguagem de Programao JAVA
Modularizao de Programa em Java
exemploModular1.java
exemploModular2.java
exemploModular3.java
12
0 Modularizao de Programas em Java.docx
Linguagem de Programao JAVA
Modularizao de Programa em Java
1. Construa um programa para ler os lados de um tringulo e informar a sua rea. Para tal,
crie um mtodo tipo funo para calcular a rea. O resultado dever ser impresso no mdulo
principal.
2. Construa um programa em java utilizando mdulo que calcule o resto da diviso entre dois
nmeros (sem usar o %);
3. Construa um programa em java utilizando mdulo que identifique se um nmero divisvel
por 6 ou no;
4. Construa um programa em java utilizando mdulo que imprima todos os divisores de um
dado nmero;
5. Construa um programa em java utilizando mdulo que receba o salrio de um funcionrio
12 e retorne o salrio reajustado em 15%.
1
Linguagem de Programao JAVA
Modularizao de Programa em Java
Atividade Ludica:
Elabore um programa em java, utilizando o conceito de modularizao, para ler um dado nmero de
conta corrente com cinco dgitos e retornar seu dgito verificador, o qual calculado as seguinte
forma. Ex: 25678
12
2
Linguagem de Programao JAVA
Modularizao de Programa em Java
Atividade desafio;
Elabore um programa em Java para ler uma frase e imprimir as palavras que compem a
frase de maneira que aparea uma palavra por linha;
12
3
Linguagem de Programao JAVA
Modularizao de Programa em Java
1) (2 prova / 1 turma - 15062011) Um cinema que possui capacidade de 20 lugares est sempre lotado. Certo dia
cada espectador respondeu a um questionrio, onde constava:
sua idade;
sua opinio em relao ao filme, que podia ser: timo, bom, regular, ruim ou pssimo.
4) (2 prova / 1 turma - 15062011) Fazer um programa em Java para ler um vetor de 10 elementos e imprimir
apenas os valores que se repetem. EX:
a = [ 1, 2, 3, 4, 1, 5, 2, 6, 7, 3] => [1, 2, 3 ]
12
7