Java Básico
-
Upload
wesley-r-bezerra -
Category
Technology
-
view
113 -
download
1
Transcript of Java Básico
![Page 1: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/1.jpg)
Java BásicoJava BásicoIntroduçãoIntrodução
Prof. Wesley R. Bezerra
![Page 2: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/2.jpg)
Roteiro
• O que é Java?• Tipos.• Declaração de variáveis.• Fluxo condicional.• Estrutura de repetição
![Page 3: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/3.jpg)
Objetivo
• Ter uma revisão geral dos fundamentos da programação em Java como estruturas de controles e tipos.
![Page 4: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/4.jpg)
O que é Java?
• Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems.
![Page 5: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/5.jpg)
• Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um "bytecode" que é executado por uma máquina virtual. (Wikipedia 2008)
![Page 6: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/6.jpg)
Tipos
• Em java os tipos podem ser primitivos ou classes, sendo que para cada tipo primitivo existe uma classe que o encapsula, de forma a permitir a criação de objetos do tipo primitivo.
![Page 7: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/7.jpg)
Tipos
• Tipos básicos: int – inteiro; float – ponto flutuante; double – ponto flutuante maior; short – inteiro pequeno; byte – representa um byte; char – representa um caracter;
![Page 8: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/8.jpg)
Inteiros
• São os tipos de dados que representam números do conjunto dos números naturais.
• Exemplo:Pedro possui 5 laranjas;João tem 3 pêssegos;
• Exemplo errado:Franciele tem 1 e ½ melancia;
![Page 9: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/9.jpg)
Representação
• Em java o tipo inteiro é int e seu wrapper é o Integer por default;
• Existe outros dois tipos para representação de inteiros em java, short para inteiros curtos, seu wrapper é Short; e long para inteiros maiores, sendo seu wrapper a classe Long;
![Page 10: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/10.jpg)
Convertendo para inteiro• A função Integer.parseInt(String str) converte
de String para inteiro.• A conversão entre números pode causar perda
de precisão.• O mesmo se aplica para os outros tipos de
interios: • long -> Long.parseLong();
![Page 11: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/11.jpg)
Ponto flutuante
• São os números que representam os números do conjunto dos números reais.
• Exemplos:João tem o salario de 3,34 reais por hora;O preço do kilo do pão é 4,12 reais;Tomei 1 e ½ refrigerantes;
![Page 12: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/12.jpg)
• Exemplos errados;X = i +1 (número irracional)Temos 1 gato (obs: apesar dos números naturais
estarem incluidos nos números reais, para java é necessário explicitar que um número é real, sendo assim o certo seria falarmos 1.0 gato)
![Page 13: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/13.jpg)
Representação
• O tipo default para java para representarmos é o tipo float e seu wrapper é Float.
• Para tipo maiores de pontos flutuantes devemos utilizar o tipo double, com o seu wrapper Double.
![Page 14: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/14.jpg)
Convertendo para ponto flutuante• Para convertermos de string para ponto
flutuante devemos utilizar a função Float.parseFloat(String str).
• O mesmo se aplica para o tipo double, a função Double.parseDouble(String str) é que deve ser utilizada.
![Page 15: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/15.jpg)
Booleano
• São variáveis que podem guardar valores de dois tipos:Falso eVerdadeiro;
• Exemplo:É verdadeiro que as mulheres tem filhos;É falso que as mulheres tenham paciência;
• Exemplo errado:A esposa teve 3 filhos;
![Page 16: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/16.jpg)
Representação
• O tipo java para representação de valores booleanos em java é o boolean e seu wrapper é Boolean.
![Page 17: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/17.jpg)
Convertendo para booleano• Para convertermos de string para booleano
devemos utilizar o função Boolean.parseBoolean(String string)
![Page 18: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/18.jpg)
String
• String representa uma cadeia de caracteres, esta pode ser um nome, uma frase ou ainda um texto completo.
• Exemplo:“João”;“Pedro é pai de João”;
• Exemplo errado:5.2
![Page 19: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/19.jpg)
Representação
• O tipo string é representado em java pelo tipo String (em maiúsculo). Em java as strings deve ser representadas circundadas por aspas duplas (“exemplo”).
![Page 20: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/20.jpg)
Tipos – cont.
• Tipo Classe e Wrappers: String – representa uma cadeia de caracteres; Float – wrapper de float; Integer – wrapper de int; Double – wrapper de double; Etc.
![Page 21: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/21.jpg)
Declaração de variáveis• Sintaxe:
<tipo> <variavel>;
• Exemplo: int idade;
![Page 22: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/22.jpg)
Operações matemáticas• São operações envolvendo números, são elas:
Adição : +Subtração: -Multiplicação: *Divisão: /Resto da divisão: %
![Page 23: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/23.jpg)
Operações relacionais• As operações relacionais envolvem as relações
entre dois termos (variáveis, constantes ou funções). São elas:Maior que : >Menor que: <Maior igual que: >=Menor igual que: <=Igual: ==Diferente: !=
![Page 24: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/24.jpg)
Exercício
• Implemente uma classe que represente uma calculadora, esta classe deve implementar os métodos:AdicionarSubtrairMultiplicarDividir
• Para os tipos numéricos:intlongfloatdouble
![Page 25: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/25.jpg)
Exercício
• Implemente um algoritmo que calcule o fatorial de um número. Observação: este numero é uma constante, não precisando então ser lido através do teclado.
![Page 26: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/26.jpg)
Exercício
• Faça um algoritmo que faça conversão de graus. Observação:C= 5*( (F-32)/9 )
![Page 27: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/27.jpg)
• 1.construa um algoritmo que calcule a média aritmética entre quatro notas bimestrais quaisquer fornecidas por um aluno (usuário).dados de entrada: n1,n2,n3,n4dados de saída: media
![Page 28: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/28.jpg)
• Construa um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio desse cilindro.
• Sabendo que:a lata de inta custa 50 reaiscada lata contém 5 litroscada litro de tinta pinta 3 metros quadrados
• dados entrada: altura e raio da lata• dados saida: custo e quantidade de latas
![Page 29: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/29.jpg)
• Construa um algoritmo para calcular as raízes de uma equação do 2.0 grau (Ax2 + Bx + C), sendo que os valores A, B e C sõ fornecidos pelo usuário (considere que a equação possui duas raízes reais).
![Page 30: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/30.jpg)
• Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer do plano, p(x1,y1) e Q(x2,y2), imprima a distância entre eles. raiz_quadrada(quad(x2-x1)+quad(y2-y1))
![Page 31: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/31.jpg)
• Faça um algoritmo que calcule o volume de uma esfera de raio R, em que R é um dado fornecido pelo usuário.O volume de uma esfera é dado por v=4/3.pi.cubo(R);
![Page 32: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/32.jpg)
Estrutura condicional• É a estrutura em algoritmos que permite ao
programa ocasionar desvios em sua execução, sendo estes desvios associados a uma condição específica.
![Page 33: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/33.jpg)
• Por exemplo:Em um questionário, somente convêm perguntarmos
dos nomes dos filhos se o usuário respondeu positivamente a pergunta: Tem filhos?
![Page 34: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/34.jpg)
• Em alguns casos este desvio pode estar associado a um valor, como se fossem opções. Um exemplo é o atendimento por voz que acontece ao telefone:Digite 1 para telefonia fixaDigite 2 para telefonia móvelEtc.
![Page 35: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/35.jpg)
• Isto faz com que os programas atendam aos problemas dos seus usuários de maneira mais assertiva, sem a necessidade de um processamento não necessário.
![Page 36: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/36.jpg)
Fluxo condicional
• if / else if / else Compara condições;
• switch / case Compara a um painel de opções;
![Page 37: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/37.jpg)
If...else
• Estrutura condicional a ser utilizada quando existe a necessidade de uma operação relacional.
• Por exemplo:se idade maior que 16 então pode votar
![Page 38: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/38.jpg)
• Sintaxe:if (<condicao>){
• //bloco de código}else if (condicao2){
• //bloco de código}else{
• //bloco de código}
![Page 39: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/39.jpg)
Exemplo if
if(i==0){System.out.println("i é igual a zero!");
}else if(i==1){System.out.println("i é igual a um!");
}else{System.out.println("i é diferente de zero e um!");
}
![Page 40: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/40.jpg)
Switch..case
• Para esta estrutura é a mais indicada para os casos onde se tem opções que causarão desvios no código.
• Neste caso específico o desvio se dará baseado no valor da variável e não em uma operação lógica como no caso do if..else
![Page 41: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/41.jpg)
• Sintaxe:switch (<var1>){
• case <val1>: //bloco código• break;• case <var2>: //bloco código• break;• otherwise : //bloco código
}
![Page 42: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/42.jpg)
Exemplo switch
switch (i){case 0:
System.out.println("i é igual a zero!");break;
case 1:System.out.println("i é igual a um!");break;
case 2:System.out.println("i é igual a dois!");break;
default:System.out.println("i é diferente!");break;
}
![Page 43: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/43.jpg)
Exercício
• Implemente um algoritmo que através de uma variável numérica escreva o nome do mês. Observação: caso o mês esteja fora do intervalo de 1 a 12, o algoritmo deve escrever a mensagem – “valor inválido”
![Page 44: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/44.jpg)
Estrutura de repetição• É a estrutura em algoritmos que permite
executar mais de uma vez um conjunto de comandos, ou, bloco de comandos, de acordo com uma condição ou com um contador.
![Page 45: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/45.jpg)
Estrutura de repetição• for
Melhor aplicado quando necessitamos de um contador;
• for (tipo foreach) Melhor aplicado para iterações em lista, muito
parecido com o o PHP;
![Page 46: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/46.jpg)
Estrutura de repetição – cont.• while
Laço atrelado a uma condição, se não atender a condição nem entra no laço;
• do...while Laço atrelado a uma condição, executa pelo menos
uma vez o laço, pois a condição esta somente no fim;
![Page 47: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/47.jpg)
for
• Este laço de repetição esta associado a um contador. Seu uso é mais indicado para situações onde o numero de iterações de um laço é bem definido. Por exemplo, escrever os números de 0 a 10
![Page 48: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/48.jpg)
Exemplo de for
for(int i=0;i<10;i++){System.out.println("o valor de i é :"+i);
}
![Page 49: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/49.jpg)
Exemplo de for (each)List<String> lista = new ArrayList();for(String str: lista){
System.out.println("a string atual é :"+str);
}
![Page 50: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/50.jpg)
while
• Efetua laço de repetição associado a uma condição, este tipo de laço de repetição sempre faz o teste no inicio sendo que a primeira repetição só ocorrerá se a condição for atendida.
![Page 51: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/51.jpg)
Exemplo de while
i=0;while(i<10){
System.out.println("o valor de i é :"+i);i++;
}
![Page 52: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/52.jpg)
Do..while
• Efetua o laço de repetição enquanto uma condição não seja atendida. Este tipo de laço de repetição faz com que o teste seja feito somente ao final da iteração, ou seja, o bloco de código será executado no mínimo uma vez.
![Page 53: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/53.jpg)
Exemplo de do..whilei=0;do{
System.out.println("o valor de i é :"+i);i++;
}while(i<10);
![Page 54: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/54.jpg)
Exercício
• Implemente um algoritmo que escreva os números primos de 2 a 100.
![Page 55: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/55.jpg)
• Implemente um algoritmo que escreva os primeiros 50 números da serie de Fibonacci.
![Page 56: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/56.jpg)
• Construa um algoritmo que calcule a média ponderada entre 5 números quaisquer, sendo que os pesos a serem aplicados são respectivamente 1,2,3,4 e 5.
![Page 57: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/57.jpg)
• Elabore um algoritmo que calcula a área de um círculo qualquer de raio fornecido.
![Page 58: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/58.jpg)
• Prepare um algoritmo capaz de inverter um número, de 3 dígitos, fornecido, ou seja, apresentar primeiro a unidade e, depois, a dezena e a centena
![Page 59: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/59.jpg)
• Ao completar o tanque de combustível de um automóvel, faça um algoritmo que calcule o consumo efetuado, assim como a autonomia que o carro ainda teria antes do abastecimento.
• Considere que o veículo sempre seja abastecido até encher o tanque e que são fornecidas apenas a capacidade do tanque, a quantidade de litros abastecidos e a quilometragem percorrida desde o último abastecimento.
![Page 60: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/60.jpg)
• Dada uma determinada data de aniversário (dia, mês, ano separadamente), elabora um algoritmo que solicite a data atual (dia, mês, ano separadamente) e calcule a idade em ano, em meses e em dias
![Page 61: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/61.jpg)
• Um dado comerciante maluco cobra 10% de acréscimo para cada prestação em atraso e depois da um desconto de 10% sobre esse valor. Faça um algoritmo que solicite o valor da prestação em atraso e apresente o valor final a pagar, assim como o prejuízo do comerciante na operação
![Page 62: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/62.jpg)
• Escreva o signo do zodíaco correspondente ao dia e mês informado.
![Page 63: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/63.jpg)
• A partir da idade informada de uma pessoa, elabore um algoritmo que informe a sua classe eleitoral, sabendo que menores de 16 não votam (não votante), que o voto é obrigatório para adultos entre 18 e 65 anos (eleitor obrigatório) e que o voto é opcional para eleitores entre 16 e 18 anos, ou maiores de 65 anos (eleitor facultativo)
![Page 64: Java Básico](https://reader035.fdocumentos.tips/reader035/viewer/2022062407/55d3973fbb61eb50478b467d/html5/thumbnails/64.jpg)
Conclusão
• Através do conhecimento dos fundamentos de uma linguagem podemos construir um solido alicerce para nossa aprendizagem, por isso, é sempre válido retomarmos os conceito mais básicos de cada linguagem e aprende-los em seus detalhes, solidificando este conhecimento através de exercícios.