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

Java Básico :: Introdução

Embed Size (px)

DESCRIPTION

Material do curso de Java Básico da WBezerra Uma introdução ao Java e suas estruturas de controle de fluxo, tipos e etc.

Citation preview

Page 1: Java Básico :: Introdução

Java BásicoIntrodução

Prof. Wesley R. Bezerra

Page 2: Java Básico :: Introdução

Roteiro

• O que é Java?

• Tipos.

• Declaração de variáveis.

• Fluxo condicional.

• Estrutura de repetição

Page 3: Java Básico :: Introdução

Objetivo

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

Page 4: Java Básico :: Introdução

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 :: Introdução

• 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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

• 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 :: Introdução

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 :: Introdução

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 :: Introdução

Booleano

• São variáveis que podem guardar valores de dois tipos: Falso e Verdadeiro;

• 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 :: Introdução

Representação

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

Page 17: Java Básico :: Introdução

Convertendo para

booleano

• Para convertermos de string para booleano devemos utilizar o função Boolean.parseBoolean(String string)

Page 18: Java Básico :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

Declaração de variáveis

• Sintaxe: <tipo> <variavel>;

• Exemplo: int idade;

Page 22: Java Básico :: Introdução

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 :: Introdução

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 :: Introdução

Exercício

• Implemente uma classe que represente uma calculadora, esta classe deve implementar os métodos:

Adicionar Subtrair Multiplicar Dividir

• Para os tipos numéricos: int long float double

Page 25: Java Básico :: Introdução

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 :: Introdução

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 :: Introdução

• 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,n4 dados de saída: media

Page 28: Java Básico :: Introdução

• 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 reais cada lata contém 5 litros cada 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 :: Introdução

• 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 :: Introdução

• 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 :: Introdução

• 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 :: Introdução

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 :: Introdução

• 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 :: Introdução

• 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 fixa Digite 2 para telefonia móvel Etc.

Page 35: Java Básico :: Introdução

• 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 :: Introdução

Fluxo condicional

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

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

Page 37: Java Básico :: Introdução

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 :: Introdução

• Sintaxe: if (<condicao>){

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

• //bloco de código }else{

• //bloco de código }

Page 39: Java Básico :: Introdução

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 :: Introdução

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 :: Introdução

• Sintaxe: switch (<var1>){

• case <val1>: //bloco código

• break;

• case <var2>: //bloco código

• break;

• otherwise : //bloco código }

Page 42: Java Básico :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

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 :: Introdução

Exemplo de for

for(int i=0;i<10;i++){

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

}

Page 49: Java Básico :: Introdução

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 :: Introdução

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 :: Introdução

Exemplo de while

i=0;

while(i<10){

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

}

Page 52: Java Básico :: Introdução

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 :: Introdução

Exemplo de do..while

i=0;

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

}while(i<10);

Page 54: Java Básico :: Introdução

Exercício

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

Page 55: Java Básico :: Introdução

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

Page 56: Java Básico :: Introdução

• 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 :: Introdução

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

Page 58: Java Básico :: Introdução

• 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 :: Introdução

• 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 :: Introdução

• 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 :: Introdução

• 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 :: Introdução

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

Page 63: Java Básico :: Introdução

• 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 :: Introdução

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 :: Introdução

Obrigado

Perguntas e sugestões

[email protected]