Java B sicoáJava B sicoá
Introdu oçãIntrodu 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 e
Verdadeiro;
• 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:
Adicionar
Subtrair
Multiplicar
Dividir
• Para os tipos numéricos:
int
long
float
double
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,n4
dados 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 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
• 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 fixa
Digite 2 para telefonia móvel
Etc.
• 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..while
i=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ões
wesleybez@yahoo.com.br

Java Básico

  • 1.
    Java B sicoáJavaB sicoá Introdu oçãIntrodu oçã Prof. Wesley R. Bezerra
  • 2.
    Roteiro • O queé Java? • Tipos. • Declaração de variáveis. • Fluxo condicional. • Estrutura de repetição
  • 3.
    Objetivo • Ter umarevisão geral dos fundamentos da programação em Java como estruturas de controles e tipos.
  • 4.
    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.
  • 5.
    • Diferentemente daslinguagens 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)
  • 6.
    Tipos • Em javaos 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.
  • 7.
    Tipos • Tipos básicos: int – inteiro;  float – ponto flutuante;  double – ponto flutuante maior;  short – inteiro pequeno;  byte – representa um byte;  char – representa um caracter;
  • 8.
    Inteiros • São ostipos 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;
  • 9.
    Representa oçã • Emjava 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;
  • 10.
    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();
  • 11.
    Ponto flutuante • Sãoos 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;
  • 12.
    • 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)
  • 13.
    Representa oçã • Otipo 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.
  • 14.
    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.
  • 15.
    Booleano • São variáveisque 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;
  • 16.
    Representa oçã • Otipo java para representação de valores booleanos em java é o boolean e seu wrapper é Boolean.
  • 17.
    Convertendo para booleano • Paraconvertermos de string para booleano devemos utilizar o função Boolean.parseBoolean(String string)
  • 18.
    String • String representauma 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
  • 19.
    Representa oçã • Otipo string é representado em java pelo tipo String (em maiúsculo). Em java as strings deve ser representadas circundadas por aspas duplas (“exemplo”).
  • 20.
    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.
  • 21.
    Declara o devari veisçã á • Sintaxe:  <tipo> <variavel>; • Exemplo:  int idade;
  • 22.
    Opera es matemticasçõ á • São operações envolvendo números, são elas: Adição : + Subtração: - Multiplicação: * Divisão: / Resto da divisão: %
  • 23.
    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: !=
  • 24.
    Exerc cioí • Implementeuma 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
  • 25.
    Exerc cioí • Implementeum 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.
  • 26.
    Exerc cioí • Façaum algoritmo que faça conversão de graus. Observação:C= 5*( (F-32)/9 )
  • 27.
    • 1.construa umalgoritmo 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
  • 28.
    • Construa umalgoritmo 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
  • 29.
    • Construa umalgoritmo 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).
  • 30.
    • Construa umalgoritmo 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))
  • 31.
    • Faça umalgoritmo 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);
  • 32.
    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.
  • 33.
    • Por exemplo: Emum questionário, somente convêm perguntarmos dos nomes dos filhos se o usuário respondeu positivamente a pergunta: Tem filhos?
  • 34.
    • Em algunscasos 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.
  • 35.
    • Isto fazcom que os programas atendam aos problemas dos seus usuários de maneira mais assertiva, sem a necessidade de um processamento não necessário.
  • 36.
    Fluxo condicional • if/ else if / else  Compara condições; • switch / case  Compara a um painel de opções;
  • 37.
    If...else • Estrutura condicionala ser utilizada quando existe a necessidade de uma operação relacional. • Por exemplo: se idade maior que 16 então pode votar
  • 38.
    • Sintaxe: if (<condicao>){ •//bloco de código }else if (condicao2){ • //bloco de código }else{ • //bloco de código }
  • 39.
    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!"); }
  • 40.
    Switch..case • Para estaestrutura é 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
  • 41.
    • Sintaxe: switch (<var1>){ •case <val1>: //bloco código • break; • case <var2>: //bloco código • break; • otherwise : //bloco código }
  • 42.
    Exemplo switch switch (i){ case0: 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; }
  • 43.
    Exerc cioí • Implementeum 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”
  • 44.
    Estrutura de repetioçã • É 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.
  • 45.
    Estrutura de repetioçã • for  Melhor aplicado quando necessitamos de um contador; • for (tipo foreach)  Melhor aplicado para iterações em lista, muito parecido com o o PHP;
  • 46.
    Estrutura de repetio –çã 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;
  • 47.
    for • Este laçode 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
  • 48.
    Exemplo de for for(inti=0;i<10;i++){ System.out.println("o valor de i é :"+i); }
  • 49.
    Exemplo de for(each) List<String> lista = new ArrayList(); for(String str: lista){ System.out.println("a string atual é :"+str); }
  • 50.
    while • Efetua laçode 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.
  • 51.
  • 52.
    Do..while • Efetua olaç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.
  • 53.
    Exemplo de do..while i=0; do{ System.out.println("ovalor de i é :"+i); i++; }while(i<10);
  • 54.
    Exerc cioí • Implementeum algoritmo que escreva os números primos de 2 a 100.
  • 55.
    • Implemente umalgoritmo que escreva os primeiros 50 números da serie de Fibonacci.
  • 56.
    • Construa umalgoritmo 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.
  • 57.
    • Elabore umalgoritmo que calcula a área de um círculo qualquer de raio fornecido.
  • 58.
    • Prepare umalgoritmo capaz de inverter um número, de 3 dígitos, fornecido, ou seja, apresentar primeiro a unidade e, depois, a dezena e a centena
  • 59.
    • Ao completaro 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.
  • 60.
    • Dada umadeterminada 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
  • 61.
    • Um dadocomerciante 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
  • 62.
    • Escreva osigno do zodíaco correspondente ao dia e mês informado.
  • 63.
    • A partirda 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)
  • 64.
    Conclus oã • Atravésdo 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.
  • 65.