SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
PROGRAMAÇÃOORIENTADAAPROGRAMAÇÃOORIENTADAA
OBJETOS-JAVAOBJETOS-JAVA
Prof. Renato Filho
SENAC
2014
VARIÁVEISETIPOSPRIMITIVOSVARIÁVEISETIPOSPRIMITIVOS
VARIÁVEISVARIÁVEIS
Servem para armazenar valores que usaremos em nosso
programa.
int idade = 28;
boolean solteiro = true;
char sexo = 'M';
double salarioMinimo = 625.00;
String nome = "Fulano"; // não é variável, e sim um o
COMODECLARARUMAVARIÁVELCOMODECLARARUMAVARIÁVEL
<tipo_da_variavel> <nome_da_variavel>;
<tipo_da_variavel> <nome_da_variavel> = <valor>;
PALAVRASRESERVADASPALAVRASRESERVADAS
abstract 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
NOMENCLATURANOMENCLATURA
Primeiro caracter: A-Z, a-z, _, &
Demais caracteres: A-Z, a-z, _, &, 0-9
Case sensitive
Boas práticas: CamelCase
TIPOSPRIMITIVOSTIPOSPRIMITIVOS
Tipos Inteiros
Tipos Ponto flutuante
Tipos Boolean
Tipos Char
TIPOSINTEIROSTIPOSINTEIROS
Nome Bytes Extensão
byte 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 a
9223372036854775807
TIPOSINTEIROSTIPOSINTEIROS
byte idadeDeUmaPessoa = 12;
short numeroDeMunicipiosBrasileiros = 5.561;
int populacaoDeTeresina= 767.559;
long populacaoMuncial = 7.000.000.000;
TIPOSPONTOFLUTUANTETIPOSPONTOFLUTUANTE
Nome Quantidade de bits
float 32
double 64
TIPOSPONTOFLUTUANTETIPOSPONTOFLUTUANTE
float precoDoPao = 2.50f;
double precoDaCarne = 12.50;
TIPOSBOOLEANTIPOSBOOLEAN
Utilizada para armazenar valores lógicos.
Recebem os valores literais true ou false ou o retorno
de operações relacionais.
boolean solteiro = true;
boolean maiorDeIdade = (idade>18);
TIPOSCHARTIPOSCHAR
Recebe um caracter ou índice da tabela ASCII.
http://pt.wikipedia.org/wiki/ASCII
char letraA = 'a';
char pontoDeExclamacao = 33;
OPERADORESARITIMÉTICOSOPERADORESARITIMÉTICOS
Operação Operador Expressão
Soma + a+b
Subtração - a-b
Multiplicação * a*b
Divisão interia / a/b
Resto da divisão % a%b
Incremento += a+=5
Decremento -= a-=5
EARAIZQUADRADAEPOTÊNCIA?EARAIZQUADRADAEPOTÊNCIA?
Não temos operadores padrões, mas temos a classe Math.
Math.pow(numero, potencia) ;
e
Math.sqrt(numero);
OPERADORESDEAUTOOPERADORESDEAUTO
INCREMENTOINCREMENTO
Pré-fixado
Incremente primeiro, atribua depois.
++a; --a;
Pós-fixado
Atribua primeiro, incremente depois.
a++; a--;
OPERADORESRELACIONAISOPERADORESRELACIONAIS
Operação Operador Exemplo
Igual == a==b
Diferente != a!=b
Maior que > a>b
Menor que < a<b
Maior ou igual a >= a>=b
Menor ou igual a <= a<=b
OPERADORESLÓGICOSOPERADORESLÓGICOS
&& (AND/E)
A expressão só é verdade quando tudo é verdade.
(5*4==20) && (3>2) // true
true && (8/2!=4) // false
(5%2>2)&&(9*2<=18) // false
(2+2==5) && (4-3!=1) // false
OPERADORESLÓGICOOPERADORESLÓ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
COMPARANDOSTRINGSCOMPARANDOSTRINGS
class ComparaString {
public static void main(String args[]){
String nome = "fulano"
System.out.println(nome == "fulano");
}
}
OPERADORESDECOMPARAÇÃOOPERADORESDECOMPARAÇÃO
String é um objeto de uma classe, não um tipo primitivo.
Jeito certo:
nome.equals("fulano")
ESTRUTURASCONDICIONAISEESTRUTURASCONDICIONAISE
LAÇOSDEREPETIÇÃOLAÇOSDEREPETIÇÃO
ESTRUTURACONDICIONAISESTRUTURACONDICIONAIS
Estruturas para controlar o fluxo da execução do código
de acordo com uma condição.
ESTRUTURASCONDICIONAISESTRUTURASCONDICIONAIS
If
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");
}
ESTRUTURASCONDICIONAISESTRUTURASCONDICIONAIS
switch...case: serve para fazer uma escolha entre várias
opçõ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");
}
ESTRUTURASCONDICIONAISESTRUTURASCONDICIONAIS
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.
LAÇOSDEREPETIÇÃOLAÇOSDEREPETIÇÃO
Gerar rotinas para ser repetir a execução de um código
um determinado número de vezes ou de acordo com
uma condição.
FORFOR
Laço baseado em um índice numérico incremental
for(int i=0;i<10;i++){
System.out.println(i);
}
FORFOR
Loop infinito.
for (int i=0;i<=10;i--){
System.out.println(i);
}
WHILEWHILE
Laço baseado em uma condição.
int i = 1;
while (i<=10) {
System.out.println(i);
i++;
}
DO..WHILEDO..WHILE
Similar ao while, mas sua estrutura garante que o laço
será 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);
LAÇOSENCADEADOSLAÇOSENCADEADOS
É 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);
}
}
}
}
LET'SCODE!LET'SCODE!
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.
DESAFIODESAFIO
Imprima 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 é 1
O fatorial de 1 é (0!) * 1 = 1
O fatorial de 2 é (1!) * 2 = 2
O fatorial de 3 é (2!) * 3 = 6
O fatorial de 4 é (3!) * 4 = 24

Mais conteúdo relacionado

Mais procurados

Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao phpTiago Davi
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3guestd6da1cd
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de RepetiçãoProfessor Samuel Ribeiro
 
Javascript Avançado
Javascript AvançadoJavascript Avançado
Javascript AvançadoBruno Tavares
 
Testes Unitários e fUnit - Felipe Nascimento
Testes Unitários e fUnit -  Felipe NascimentoTestes Unitários e fUnit -  Felipe Nascimento
Testes Unitários e fUnit - Felipe NascimentoTchelinux
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basicorobinhoct
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosRegis Magalhães
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem Capolllorj
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04thomasdacosta
 

Mais procurados (18)

Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao php
 
Algoritmos Aula 11
Algoritmos Aula 11Algoritmos Aula 11
Algoritmos Aula 11
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Apostila c
Apostila cApostila c
Apostila c
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Aula 3
Aula 3Aula 3
Aula 3
 
Java
JavaJava
Java
 
Javascript Avançado
Javascript AvançadoJavascript Avançado
Javascript Avançado
 
Testes Unitários e fUnit - Felipe Nascimento
Testes Unitários e fUnit -  Felipe NascimentoTestes Unitários e fUnit -  Felipe Nascimento
Testes Unitários e fUnit - Felipe Nascimento
 
Java 05
Java 05Java 05
Java 05
 
Migrando para PHP7 - Novidades
Migrando para PHP7 - NovidadesMigrando para PHP7 - Novidades
Migrando para PHP7 - Novidades
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basico
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 
Simulador Funcional
Simulador FuncionalSimulador Funcional
Simulador Funcional
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem C
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04Algoritmos e Estrutura de Dados - Aula 04
Algoritmos e Estrutura de Dados - Aula 04
 

Semelhante a Curso Java #02 - Variáveis, Tipos e Estruturas de Controle

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
Introdução a programação I
Introdução a programação IIntrodução a programação I
Introdução a programação IClerton Leal
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Curso De Algoritmo Aula 7
Curso De Algoritmo   Aula 7Curso De Algoritmo   Aula 7
Curso De Algoritmo Aula 7Felipe Santos
 
Programação "Estruturada" com Java
Programação "Estruturada" com JavaProgramação "Estruturada" com Java
Programação "Estruturada" com JavaLuiz Ricardo Silva
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Tipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxoTipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxoDenis L Presciliano
 
Tipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxoTipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxoDenis L Presciliano
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Groovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessGroovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessRafael Farias Silva
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAfonso Gomes
 
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)Carlos Santos
 

Semelhante a Curso Java #02 - Variáveis, Tipos e Estruturas de Controle (20)

0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Introdução a programação I
Introdução a programação IIntrodução a programação I
Introdução a programação I
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Curso De Algoritmo Aula 7
Curso De Algoritmo   Aula 7Curso De Algoritmo   Aula 7
Curso De Algoritmo Aula 7
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Programação "Estruturada" com Java
Programação "Estruturada" com JavaProgramação "Estruturada" com Java
Programação "Estruturada" com Java
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
Javascript
JavascriptJavascript
Javascript
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
modulo1.pdf
modulo1.pdfmodulo1.pdf
modulo1.pdf
 
Tipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxoTipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxo
 
Tipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxoTipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxo
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Java - Aula 08
Java - Aula 08Java - Aula 08
Java - Aula 08
 
Java script2
Java script2Java script2
Java script2
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Groovy para javeiros - Migração Painless
Groovy para javeiros - Migração PainlessGroovy para javeiros - Migração Painless
Groovy para javeiros - Migração Painless
 
Aprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCDAprender Javascript e jQuery (UFCD
Aprender Javascript e jQuery (UFCD
 
T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)T08_T09_LM3: Estruturas de repetição (2013-2014)
T08_T09_LM3: Estruturas de repetição (2013-2014)
 

Mais de Renato Sousa

Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03Renato Sousa
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Renato Sousa
 
Curso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao AndroidCurso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao AndroidRenato Sousa
 
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasRenato Sousa
 
Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Renato Sousa
 
Curso Java #03 - Arrays
Curso Java #03 - ArraysCurso Java #03 - Arrays
Curso Java #03 - ArraysRenato Sousa
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaRenato Sousa
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - IntroduçãoRenato Sousa
 

Mais de Renato Sousa (20)

Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03Curso Programação Web com Ruby on Rails - Aula 03
Curso Programação Web com Ruby on Rails - Aula 03
 
Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01Curso Programação Web com Ruby on Rails - Aula 01
Curso Programação Web com Ruby on Rails - Aula 01
 
Javascript
JavascriptJavascript
Javascript
 
Devise
DeviseDevise
Devise
 
Virada Geek
Virada GeekVirada Geek
Virada Geek
 
Rails
RailsRails
Rails
 
Aula03
Aula03Aula03
Aula03
 
Aula02
Aula02Aula02
Aula02
 
Git
GitGit
Git
 
Aula00
Aula00Aula00
Aula00
 
PHP - Aula #01
PHP - Aula #01PHP - Aula #01
PHP - Aula #01
 
Curso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao AndroidCurso de Android - Aula #01: Introdução ao Android
Curso de Android - Aula #01: Introdução ao Android
 
Ruby (1)
Ruby (1)Ruby (1)
Ruby (1)
 
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratasCurso Java #05 - Heranca, Polimorfismo e Classe abstratas
Curso Java #05 - Heranca, Polimorfismo e Classe abstratas
 
Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos Curso Java #04 - Programação Orientada a Objetos
Curso Java #04 - Programação Orientada a Objetos
 
Curso Java #03 - Arrays
Curso Java #03 - ArraysCurso Java #03 - Arrays
Curso Java #03 - Arrays
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-java
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - Introdução
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
NodeJS
NodeJSNodeJS
NodeJS
 

Curso Java #02 - Variáveis, Tipos e Estruturas de Controle