Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
-
Upload
renato-sousa -
Category
Software
-
view
106 -
download
0
Transcript of Curso Java #02 - Variáveis, Tipos e Estruturas de Controle
![Page 1: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/1.jpg)
PROGRAMAÇÃO ORIENTADA APROGRAMAÇÃO ORIENTADA AOBJETOS -JAVAOBJETOS -JAVA
Prof. Renato Filho SENAC2014
![Page 2: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/2.jpg)
VARIÁVEIS E TIPOS PRIMITIVOSVARIÁVEIS E TIPOS PRIMITIVOS
![Page 3: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/3.jpg)
VARIÁVEISVARIÁVEISServem para armazenar valores que usaremos em nossoprograma.int idade = 28;boolean solteiro = true;char sexo = 'M';double salarioMinimo = 625.00;
String nome = "Fulano"; // não é variável, e sim um objeto.
![Page 4: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/4.jpg)
COMO DECLARAR UMA VARIÁVELCOMO DECLARAR UMA VARIÁVEL
<tipo_da_variavel> <nome_da_variavel>;
<tipo_da_variavel> <nome_da_variavel> = <valor>;
![Page 5: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/5.jpg)
PALAVRAS RESERVADASPALAVRAS RESERVADASabstract continues for new switch
assert default goto package synchronyzed
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while
![Page 6: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/6.jpg)
NOMENCLATURANOMENCLATURA
Primeiro caracter: A-Z, a-z, _, &Demais caracteres: A-Z, a-z, _, &, 0-9Case sensitiveBoas práticas: CamelCase
![Page 7: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/7.jpg)
TIPOS PRIMITIVOSTIPOS PRIMITIVOS
Tipos InteirosTipos Ponto flutuanteTipos BooleanTipos Char
![Page 8: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/8.jpg)
TIPOS INTEIROSTIPOS INTEIROS
Nome Bytes Extensãobyte 1 -128 a 127
short 2 -32.768 a 32.767
int 3 2.147.483.648 a 2.147.483.647
long 4 -9223372036854775808 a9223372036854775807
![Page 9: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/9.jpg)
TIPOS INTEIROSTIPOS INTEIROS
byte idadeDeUmaPessoa = 12; short numeroDeMunicipiosBrasileiros = 5.561; int populacaoDeTeresina= 767.559; long populacaoMuncial = 7.000.000.000;
![Page 10: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/10.jpg)
TIPOS PONTO FLUTUANTETIPOS PONTO FLUTUANTE
Nome Quantidade de bitsfloat 32double 64
![Page 11: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/11.jpg)
TIPOS PONTO FLUTUANTETIPOS PONTO FLUTUANTE
float precoDoPao = 2.50f; double precoDaCarne = 12.50;
![Page 12: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/12.jpg)
TIPOS BOOLEANTIPOS BOOLEAN
Utilizada para armazenar valores lógicos. Recebem os valores literais true ou false ou o retornode operações relacionais.
boolean solteiro = true; boolean maiorDeIdade = (idade>18);
![Page 13: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/13.jpg)
TIPOS CHARTIPOS CHAR
Recebe um caracter ou índice da tabela ASCII.
http://pt.wikipedia.org/wiki/ASCII
char letraA = 'a'; char pontoDeExclamacao = 33;
![Page 14: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/14.jpg)
OPERADORES ARITIMÉTICOSOPERADORES ARITIMÉTICOSOperação Operador ExpressãoSoma + a+bSubtração - a-bMultiplicação * a*bDivisão interia / a/bResto da divisão % a%bIncremento += a+=5Decremento -= a-=5
![Page 15: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/15.jpg)
E A RAIZ QUADRADA E POTÊNCIA?E A RAIZ QUADRADA E POTÊNCIA?
Não temos operadores padrões, mas temos a classe Math.
Math.pow(numero, potencia) ;e
Math.sqrt(numero);
![Page 16: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/16.jpg)
OPERADORES DE AUTOOPERADORES DE AUTOINCREMENTOINCREMENTO
Pré-fixado
Incremente primeiro, atribua depois.++a; --a;
Pós-fixado
Atribua primeiro, incremente depois.a++; a--;
![Page 17: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/17.jpg)
OPERADORES RELACIONAISOPERADORES RELACIONAISOperação Operador ExemploIgual == a==bDiferente != a!=bMaior que > a>bMenor que < a<bMaior ou igual a >= a>=bMenor ou igual a <= a<=b
![Page 18: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/18.jpg)
OPERADORES LÓGICOSOPERADORES LÓGICOS&& (AND/E)
A expressão só é verdade quando tudo é verdade.
(5*4==20) && (3>2) // truetrue && (8/2!=4) // false(5%2>2)&&(9*2<=18) // false(2+2==5) && (4-3!=1) // false
![Page 19: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/19.jpg)
OPERADORES LÓGICOOPERADORES LÓGICO|| (OU)
É verdade quando pelo menos uma das operações éverdade.
(5==10/2) || (4*4==16) // true (18==9*2) || (3!=4-1) // true (5>3*2) || ((2+2==5) && (4-3!=1)) // true (3*2>6) || (7*5==45) // false
![Page 20: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/20.jpg)
COMPARANDO STRINGSCOMPARANDO STRINGS
class ComparaString { public static void main(String args[]){ String nome = "fulano" System.out.println(nome == "fulano"); }}
![Page 21: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/21.jpg)
OPERADORES DE COMPARAÇÃOOPERADORES DE COMPARAÇÃO
String é um objeto de uma classe, não um tipo primitivo.
Jeito certo:
nome.equals("fulano")
![Page 22: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/22.jpg)
ESTRUTURAS CONDICIONAIS EESTRUTURAS CONDICIONAIS ELAÇOS DE REPETIÇÃOLAÇOS DE REPETIÇÃO
![Page 23: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/23.jpg)
ESTRUTURA CONDICIONAISESTRUTURA CONDICIONAIS
Estruturas para controlar o fluxo da execução do códigode acordo com uma condição.
![Page 24: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/24.jpg)
ESTRUTURAS CONDICIONAISESTRUTURAS CONDICIONAISIf
int num = 4;
if (num%2==0){
System.out.println("Número par");
}
If...else int num = 4;
if (num%2==0){
System.out.println("Número par");
} else {
System.out.println("Número ímpar");
}
![Page 25: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/25.jpg)
ESTRUTURAS CONDICIONAISESTRUTURAS CONDICIONAIS
switch...case: serve para fazer uma escolha entre váriasopções.
switch (diaDaSemana) {
case 1: System.out.println("Segunda-feira"); break;
case 2: System.out.println("Terça-feira"); break;
case 3: System.out.println("Quarta-feira"); break;
case 4: System.out.println("Quinta-feira"); break;
case 5: System.out.println("Sexta-feira"); break;
case 6: System.out.println("Sábado"); break;
case 7: System.out.println("Domingo"); break;
default: System.out.println("Dia da semana inválido");
}
![Page 26: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/26.jpg)
ESTRUTURAS CONDICIONAISESTRUTURAS CONDICIONAIS
break: serve para sair do escopo do switch.default: rotina de execução padrão para a seleção, ou seja,se o valor não correspondeu a nenhuma das expressões.
Novidade do JDK7: Switch com Strings.
![Page 27: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/27.jpg)
LAÇOS DE REPETIÇÃOLAÇOS DE REPETIÇÃO
Gerar rotinas para ser repetir a execução de um códigoum determinado número de vezes ou de acordo comuma condição.
![Page 28: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/28.jpg)
FORFOR
Laço baseado em um índice numérico incremental for(int i=0;i<10;i++){ System.out.println(i); }
![Page 29: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/29.jpg)
FORFOR
Loop infinito. for (int i=0;i<=10;i--){ System.out.println(i); }
![Page 30: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/30.jpg)
WHILEWHILELaço baseado em uma condição.
int i = 1; while (i<=10) { System.out.println(i); i++; }
![Page 31: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/31.jpg)
DO..WHILEDO..WHILESimilar ao while, mas sua estrutura garante que o laçoserá executado pelo menos uma vez.A condição é validada apenas no final da iteração no laço.
int i = 1; do { System.out.println(i); i++; } while(i<=10);
![Page 32: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/32.jpg)
LAÇOS ENCADEADOSLAÇOS ENCADEADOS
É possível aninhar laços de repetição. class Tabuada { public static void main(String args[]) { for (int i=0; i<=10; i++) { for (int j=0; j<=10; j++) { int soma = i+j; System.out.println(i+"+"+j+"="+soma); } } } }
![Page 33: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/33.jpg)
LET'S CODE!LET'S CODE!
1. Imprima todos os números de 150 a 300.
2. Imprima a soma de 1 até 1000.
3. Imprima todos os números pares entre 1 e 100.
4. Imprima todos os múltiplos de 3, entre 1 e 100.
5. Imprima todos os números primos entre 1 e 100.
![Page 34: Curso Java #02 - Variáveis, Tipos e Estruturas de Controle](https://reader034.fdocuments.net/reader034/viewer/2022042518/55aca4071a28abb51f8b46a8/html5/thumbnails/34.jpg)
DESAFIODESAFIOImprima os fatoriais de 1 a 10.
O fatorial de um número n é n * n-1 * n-2 ... até n = 1.Lembre-se de utilizar os parênteses.
O fatorial de 0 é 1O fatorial de 1 é (0!) * 1 = 1O fatorial de 2 é (1!) * 2 = 2O fatorial de 3 é (2!) * 3 = 6
O fatorial de 4 é (3!) * 4 = 24