Java Básico

Preview:

Citation preview

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

Prof. Wesley R. Bezerra

Roteiro

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

Objetivo

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

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.

• 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)

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.

Tipos

• Tipos básicos: int – inteiro; float – ponto flutuante; double – ponto flutuante maior; short – inteiro pequeno; byte – representa um byte; char – representa um caracter;

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;

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;

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();

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;

• 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)

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.

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.

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;

Representação

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

Convertendo para booleano• Para convertermos de string para booleano

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

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

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”).

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.

Declaração de variáveis• Sintaxe:

<tipo> <variavel>;

• Exemplo: int idade;

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: %

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: !=

Exercício

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

• Para os tipos numéricos:intlongfloatdouble

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.

Exercício

• Faça um algoritmo que faça conversão de graus. Observação:C= 5*( (F-32)/9 )

• 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

• 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

• 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).

• 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))

• 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);

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.

• Por exemplo:Em um questionário, somente convêm perguntarmos

dos nomes dos filhos se o usuário respondeu positivamente a pergunta: Tem filhos?

• 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.

• 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.

Fluxo condicional

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

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

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

• Sintaxe:if (<condicao>){

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

• //bloco de código}else{

• //bloco de código}

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!");

}

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

• Sintaxe:switch (<var1>){

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

}

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;

}

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”

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.

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;

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;

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

Exemplo de for

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

}

Exemplo de for (each)List<String> lista = new ArrayList();for(String str: lista){

System.out.println("a string atual é :"+str);

}

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.

Exemplo de while

i=0;while(i<10){

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

}

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.

Exemplo de do..whilei=0;do{

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

}while(i<10);

Exercício

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

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

• 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.

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

• 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

• 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.

• 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

• 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

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

• 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)

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.

ObrigadoObrigado

Perguntas e sugestõeswesleybez@yahoo.com.br

Recommended