65
Java Básico Java Básico Introdução Introdução Prof. Wesley R. Bezerra

Java Básico

Embed Size (px)

Citation preview

Page 1: Java Básico

Java BásicoJava BásicoIntroduçãoIntrodução

Prof. Wesley R. Bezerra

Page 2: Java Básico

Roteiro

• O que é Java?• Tipos.• Declaração de variáveis.• Fluxo condicional.• Estrutura de repetição

Page 3: Java Básico

Objetivo

• Ter uma revisão geral dos fundamentos da programação em Java como estruturas de controles e tipos.

Page 4: Java Básico

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

• 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

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

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

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

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

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

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

• 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

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

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

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

Representação

• O tipo java para representação de valores booleanos em java é o boolean e seu wrapper é Boolean.

Page 17: Java Básico

Convertendo para booleano• Para convertermos de string para booleano

devemos utilizar o função Boolean.parseBoolean(String string)

Page 18: Java Básico

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

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

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

Declaração de variáveis• Sintaxe:

<tipo> <variavel>;

• Exemplo: int idade;

Page 22: Java Básico

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

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

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

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

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

• 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

• 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

• 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

• 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

• 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

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

• 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

• 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

• 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

Fluxo condicional

• if / else if / else Compara condições;

• switch / case Compara a um painel de opções;

Page 37: Java Básico

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

• Sintaxe:if (<condicao>){

• //bloco de código}else if (condicao2){

• //bloco de código}else{

• //bloco de código}

Page 39: Java Básico

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

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

• Sintaxe:switch (<var1>){

• case <val1>: //bloco código• break;• case <var2>: //bloco código• break;• otherwise : //bloco código

}

Page 42: Java Básico

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

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

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

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

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

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

Exemplo de for

for(int i=0;i<10;i++){System.out.println("o valor de i é :"+i);

}

Page 49: Java Básico

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

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

Exemplo de while

i=0;while(i<10){

System.out.println("o valor de i é :"+i);i++;

}

Page 52: Java Básico

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

Exemplo de do..whilei=0;do{

System.out.println("o valor de i é :"+i);i++;

}while(i<10);

Page 54: Java Básico

Exercício

• Implemente um algoritmo que escreva os números primos de 2 a 100.

Page 55: Java Básico

• Implemente um algoritmo que escreva os primeiros 50 números da serie de Fibonacci.

Page 56: Java Básico

• 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

• Elabore um algoritmo que calcula a área de um círculo qualquer de raio fornecido.

Page 58: Java Básico

• 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

• 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

• 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

• 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

• Escreva o signo do zodíaco correspondente ao dia e mês informado.

Page 63: Java Básico

• 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

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.

Page 65: Java Básico

ObrigadoObrigado

Perguntas e sugestõ[email protected]