Você está na página 1de 109

Linguagem de Programação II

Estrutura Condicional

Alex Machado

ETEJK

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 1 / 65


Objetivos

OBJETIVOS

Levar o aluno a:
entender e saber como e quando utilizar as expressões comparativas;
entender e saber como e quando utilizar as expressões lógicas;
entender e saber como e quando utilizar uma estrutura condicional;
entender e saber como e quando utilizar estruturas condicionais simples
e compostas;
entender e saber como e quando utilizar uma estrutura switch-case.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 2 / 65


Expressões Comparativas

Expressões Comparativas

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 3 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:


maior: >

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:


maior: >
menor: <

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:


maior: >
menor: <
maior ou igual: >=

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:


maior: >
menor: <
maior ou igual: >=
menor ou igual: <=

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:


maior: >
menor: <
maior ou igual: >=
menor ou igual: <=
igual: ==

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Expressões comparativas são aquelas que comparam valores. O resultado


de uma expressão relacional é um valor booleano (true ou false).

Os operadores relacionais são os seguintes:


maior: >
menor: <
maior ou igual: >=
menor ou igual: <=
igual: ==
diferente: ! =

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 4 / 65


Expressões comparativas

Supondo que o valor da variável x seja 10. Classifique como verdadeiro ou


falso cada um dos itens abaixo:

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 5 / 65


Expressões comparativas

Supondo que o valor da variável x seja 10. Classifique como verdadeiro ou


falso cada um dos itens abaixo:
a x > 0

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 5 / 65


Expressões comparativas

Supondo que o valor da variável x seja 10. Classifique como verdadeiro ou


falso cada um dos itens abaixo:
a x > 0
b x == 3

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 5 / 65


Expressões comparativas

Supondo que o valor da variável x seja 10. Classifique como verdadeiro ou


falso cada um dos itens abaixo:
a x > 0
b x == 3
c x <= 10

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 5 / 65


Expressões comparativas

Supondo que o valor da variável x seja 10. Classifique como verdadeiro ou


falso cada um dos itens abaixo:
a x > 0
b x == 3
c x <= 10
d x != 20

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 5 / 65


Expressões comparativas

Supondo que o valor da variável x seja 10. Classifique como verdadeiro ou


falso cada um dos itens abaixo:
a x > 0
b x == 3
c x <= 10
d x != 20
e x < -10

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 5 / 65


Expressões comparativas

Exemplo 1: Escreva um programa em java que compare dois números


inteiros informados pelo usuário. A saı́da do seu programa deve ser a que
segue abaixo.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 6 / 65


Expressões comparativas

Solução.

public class Exemplo01 {


public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;

int num1 , num2 ;

System . out . print ( " Insira um n ú mero inteiro : " ) ;


num1 = entrada . nextInt () ;
System . out . print ( " Insira outro n ú mero inteiro :
");
num2 = entrada . nextInt () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 7 / 65


Expressões comparativas

System . out . println ( " \ nCompara ç ~ o es : " ) ;


System . out . println ( " n1 == n2 : " +( num1 == num2 ) ) ;
System . out . println ( " n1 != n2 : " +( num1 != num2 ) ) ;
System . out . println ( " n1 > n2 : " +( num1 > num2 ) ) ;
System . out . println ( " n1 < n2 : " +( num1 < num2 ) ) ;
System . out . println ( " n1 >= n2 : " +( num1 >= num2 ) ) ;
System . out . println ( " n1 <= n2 : " +( num1 <= num2 ) ) ;

entrada . close () ;
} // fim m é todo main
} // fim O p e r a d o r e s R e l a c i o n a i s

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 8 / 65


Expressões lógicas

Expressões lógicas

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 9 / 65


Expressões lógicas

Expressões lógicas são expessões que quando avaliadas retornam um valor


verdade verdadeiro (true) ou falso (false).

Os operadores lógicos são os seguintes:

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 10 / 65


Expressões lógicas

Expressões lógicas são expessões que quando avaliadas retornam um valor


verdade verdadeiro (true) ou falso (false).

Os operadores lógicos são os seguintes:


e: &&

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 10 / 65


Expressões lógicas

Expressões lógicas são expessões que quando avaliadas retornam um valor


verdade verdadeiro (true) ou falso (false).

Os operadores lógicos são os seguintes:


e: &&
ou: ||

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 10 / 65


Expressões lógicas

Expressões lógicas são expessões que quando avaliadas retornam um valor


verdade verdadeiro (true) ou falso (false).

Os operadores lógicos são os seguintes:


e: &&
ou: ||
n~
ao: !

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 10 / 65


Expressões lógicas

Expressões lógicas são expessões que quando avaliadas retornam um valor


verdade verdadeiro (true) ou falso (false).

Os operadores lógicos são os seguintes:


e: &&
ou: ||
n~
ao: !

Vamos ver o que siginifica cada um deles.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 10 / 65


Expressões lógicas

Operador: e (&&)

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 11 / 65


Expressões lógicas

Operador: e (&&)

O operador && devolve verdadeiro se ambas as condições forem verdadeiras.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 11 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 12 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 x <= 20 && x == 10

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 12 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 x <= 20 && x == 10
2 x > 0 && x != 1

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 12 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 x <= 20 && x == 10
2 x > 0 && x != 1
3 x <= 20 && x != 3

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 12 / 65


Expressões lógicas

Operador: ou (||)

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 13 / 65


Expressões lógicas

Operador: ou (||)

O operador || devolve verdadeiro se uma das condições for verdadeira.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 13 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 14 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 x == 20 || x <= 8

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 14 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 x == 20 || x <= 8
2 x > 0 || x != 1

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 14 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 x == 20 || x <= 8
2 x > 0 || x != 1
3 x <= 0 || x != 3 || x != 5

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 14 / 65


Expressões lógicas

Operador: n~
ao (!)

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 15 / 65


Expressões lógicas

Operador: n~
ao (!)

O operador ! troca o valor verdade de uma expressão lógica, ou seja, se a


expressão for verdadeira ela passará a ser falsa, se ela for falsa passará a
ser verdadeira.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 15 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 16 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 !(x == 20 || x <= 8)

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 16 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 !(x == 20 || x <= 8)
2 !(x > 0) || !(x != 1)

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 16 / 65


Expressões lógicas

Suponhamos que o valor de x seja 10. Ou seja, x = 10.

1 !(x == 20 || x <= 8)
2 !(x > 0) || !(x != 1)
3 !(x <= 0 || x != 3 || x != 5)

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 16 / 65


Estrutura Condicional

Estrutura Condicional

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 17 / 65


Estrutura Condicional

Uma estutura condicional é uma estrutura de controle que permite definir


que um certo bloco de comandos somente seja executado dependendo de
uma determinada condição.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 18 / 65


Estrutura Condicional

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 19 / 65


Estrutura Condicional

Simples

Sintaxe
if ( < condi ç ~
a o >) {
comando 1
comando 2
...
comnado n
}

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 20 / 65


Estrutura Condicional

Simples

Sintaxe
if ( < condi ç ~
a o >) {
comando 1
comando 2
...
comnado n
}

Regra: Se <condiç~
ao> for V executa o bloco de comandos se for F pula o
bloco de comandos. Vamos ver alguns exemplos a seguir do comando if
simples.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 20 / 65


Estrutura Condicional

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 21 / 65


Estrutura Condicional

Exemplo 2: Elaborar um programa que recebe dois números inteiros do


teclado e exibe o maior deles.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 22 / 65


Estrutura Condicional

Exemplo 2: Elaborar um programa que recebe dois números inteiros do


teclado e exibe o maior deles.

public class Exemplo02 {


public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;

int num1 , num2 ;

System . out . print ( " N ú mero 1: " ) ;


num1 = entrada . nextInt () ;
System . out . print ( " N ú mero 2: " ) ;
num2 = entrada . nextInt () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 22 / 65


Estrutura Condicional

if ( num1 > num2 ) {


System . out . println ( num1 + " é maior do que
" + num2 ) ;
}
if ( num2 > num1 ) {
System . out . println ( num2 + " é maior do que
" + num1 ) ;
}
entrada . close () ;
} // fim m é todo main
} // fim Exemplo02

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 23 / 65


Estrutura Condicional

Exemplo 3: Desenvolva um programa qe receba três notas de um aluno,


calcule e mostre a média aritmética considerando o seguinte critério:

Reprovado: média menor do que 3 e maior ou igual do que 0;


Recuperação: média maior ou igual a 3 e menor do 6;
Aprovado: média maior ou igual do que 6 e menor do que 10.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 24 / 65


Estrutura Condicional

Solução
public class Exemplo03 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;
double nota1 , nota2 , nota3 , media ;

System . out . print ( " Nota 1: " ) ;


nota1 = entrada . nextDouble () ;
System . out . print ( " Nota 2: " ) ;
nota2 = entrada . nextDouble () ;
System . out . print ( " Nota 3: " ) ;
nota3 = entrada . nextDouble () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 25 / 65


Estrutura Condicional

System . out . println ( " M é dia : " + media ) ;

if ( media > 0.0 && media < 3.0) {


System . out . println ( " Reprovado " ) ;
}
if ( media > 3.0 && media < 6.0) {
System . out . println ( " Recupera ç ~
ao");
}
if ( media > 6.0 && media < 10.0) {
System . out . println ( " Aprovado " ) ;
}
entrada . close () ;
} // fim m é todo main
} // fim Exemplo03

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 26 / 65


Estrutura Condicional

Exemplo 4: Faça um programa para resolver uma equação do segundo


grau ax 2 + bx + c = 0. Leve em consideração:

a variável a deve ser diferente de zero;


se ∆ < 0 não existe raiz real;
b
se ∆ = 0 existe apenas uma raiz real: x = −
2a
se ∆ > 0 existem duas raı́zes reais

√ √
−b + ∆ −b − ∆
x1 = e x2 =
2a 2a

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 27 / 65


Estrutura Condicional

Solução
public class Exemplo04 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;

double a , b , c ; // coeficientes
double delta ;
double x_1 , x_2 ; // ra ı́ zes da equa ç ~
ao

System . out . println ( " Entre com os coeficientes :


");
System . out . print ( " a (!=0) = " ) ;
a = entrada . nextDouble () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 28 / 65


Estrutura Condicional

System . out . print ( " b = " ) ;


b = entrada . nextDouble () ;

System . out . print ( " c = " ) ;


c = entrada . nextDouble () ;

delta = Math . pow (b , 2) - 4 * a * c ;

if ( delta < 0) {
System . out . println ( " N ~
a o possui ra ı́ zes
reais . " ) ;
}
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 29 / 65


Estrutura Condicional

if ( delta == 0) {
x_1 = -b / 2 * a ;
System . out . println ( " Possui 1 raiz real . " ) ;
System . out . println ( " x = " + x_1 ) ;
}
if ( delta > 0) {
x_1 = ( - b + Math . sqrt ( delta ) ) / (2 * a ) ;
x_2 = ( - b - Math . sqrt ( delta ) ) / (2 * a ) ;
System . out . println ( " x_1 = " + x_1 ) ;
System . out . println ( " x_2 = " + x_2 ) ;
}
entrada . close () ;
} // fim m é todo main
} // fim Exemplo04

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 30 / 65


Estrutura Condicional

Composta
Sintaxe
if ( < condi ç ~
a o >) {
bloco _d e _ co m a n do s _ 1
} else {
bloco _d e _ co m a n do s _ 2
}

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 31 / 65


Estrutura Condicional

Composta
Sintaxe
if ( < condi ç ~
a o >) {
bloco _d e _ co m a n do s _ 1
} else {
bloco _d e _ co m a n do s _ 2
}

Regra: Se <condiç~ao> for if executa o bloco de comandos 1 se for F


executa o bloco de comandos 2 do else. Vamos ver alguns exemplos a
seguir do comando if composto.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 31 / 65


Estrutura Condicional

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 32 / 65


Estrutura Condicional

Exemplo 5: Refazer o exemplo 2 utilizando o comando else: Elaborar um


programa que recebe dois números inteiros do teclado e exibe o maior deles.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 33 / 65


Estrutura Condicional

Exemplo 5: Refazer o exemplo 2 utilizando o comando else: Elaborar um


programa que recebe dois números inteiros do teclado e exibe o maior deles.
Solução
public class Exemplo05 {
public static void main ( String [] args ) {

Scanner entrada = new Scanner ( System . in ) ;


int num1 , num2 ;

System . out . print ( " N ú mero 1: " ) ;


num1 = entrada . nextInt () ;
System . out . print ( " N ú mero 2: " ) ;
num2 = entrada . nextInt () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 33 / 65


Estrutura Condicional

if ( num1 > num2 ) {


System . out . println ( num1 + " é maior do que
" + num2 ) ;
} else {
System . out . println ( num2 + " é maior do que
" + num1 ) ;
}
entrada . close () ;
} // fim m é todo main
} // fim Exemplo05

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 34 / 65


Estrutura Condicional

Exemplo 6: Fazer um programa para ler um número inteiro diferente de


zero, e depois dizer se este número é positivo ou negativo.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 35 / 65


Estrutura Condicional

Exemplo 6: Fazer um programa para ler um número inteiro diferente de


zero, e depois dizer se este número é positivo ou negativo.
Solução
public class Exemplo06 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;
int num ;

System . out . println ( " Posivito ou negativo ? " ) ;


System . out . print ( " N ú mero : " ) ;
num = entrada . nextInt () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 35 / 65


Estrutura Condicional

if ( num > 0) {
System . out . print ( " N ú mero positivo " ) ;
} else {
System . out . print ( " N ú mero negativo " ) ;
}
} // fim m é todo main
} // fim Exercicio06

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 36 / 65


Estrutura Condicional

Exemplo 7. Fazer um programa para ler um número inteiro e dizer se este


número é par ou ı́mpar.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 37 / 65


Estrutura Condicional

Exemplo 7. Fazer um programa para ler um número inteiro e dizer se este


número é par ou ı́mpar.
Solução
public class Exemplo07 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;
int num ;

System . out . println ( " Par ou ı́ mpar ? " ) ;


System . out . print ( " N ú mero : " ) ;
num = entrada . nextInt () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 37 / 65


Estrutura Condicional

if ( num % 2 == 0) {
System . out . print ( " N ú mero par . " ) ;
} else {
System . out . print ( " N ú mero ı́ mpar . " ) ;
}
} // fim m é todo main
} // fim Exercicio07

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 38 / 65


Estrutura Condicional

Encadeamento de ifs
Sintaxe
if ( < condi ç ~a o1 >) {
b lo c o _d e _ co m a nd o s _1

} else if ( < condicao2 ) {


b lo c o _d e _ co m a nd o s _2

} else if ( < condicao3 > {


b lo c o _d e _ co m a nd o s _3

} else {
bloco_de_comandos_final
}

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 39 / 65


Estrutura Condicional

Exemplo 8. Refazer o exemplo 3 usando encadeamento de ifs. Resolver


uma equação do segundo grau ax 2 + bx + c = 0. Leve em consideração:
a variável a deve ser diferente de zero;
se ∆ < 0 não existe raiz real;
b
se ∆ = 0 existe apenas uma raiz real: x = −
2a
se ∆ > 0 existem duas raı́zes reais

√ √
−b + ∆ −b − ∆
x1 = e x2 =
2a 2a

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 40 / 65


Estrutura Condicional

Solução
public class Exemplo08 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;

double a , b , c ; // coeficientes
double delta ;
double x_1 , x_2 ; // ra ı́ zes da equa ç ~
ao

System . out . println ( " Entre com os


coeficientes : " ) ;
System . out . print ( " a (!=0) = " ) ;
a = entrada . nextDouble () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 41 / 65


Estrutura Condicional

Estrutura Condicional
Exemplos
8. Resolução
System . out . print ( " b = " ) ;
b = entrada . nextDouble () ;

System . out . print ( " c = " ) ;


c = entrada . nextDouble () ;

delta = Math . pow (b , 2) - 4 * a * c ;

if ( delta < 0) {
System . out . println ( " N ~
a o possui ra ı́ zes
reais . " ) ;
} else if ( delta == 0) {
Continua...
Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 42 / 65
Estrutura Condicional

x_1 = -b / 2 * a ;
System . out . println ( " Possui 1 raiz real . " ) ;
System . out . println ( " x = " + x_1 ) ;
} else {
x_1 = ( - b + Math . sqrt ( delta ) ) / (2 * a ) ;
x_2 = ( - b - Math . sqrt ( delta ) ) / (2 * a ) ;
System . out . println ( " x_1 = " + x_1 ) ;
System . out . println ( " x_2 = " + x_2 ) ;
}
entrada . close () ;
} // fim m é todo main
} // fim Exemplo08

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 43 / 65


Operadores de Atribuição Cumulativa

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 44 / 65


Operadores de Atribuição Cumulativa

São os seguintes:

Figura: Operadores de atribuição cumulativa

Vamos ver na prática...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 45 / 65


Operadores de Atribuição Cumulativa

Exemplo 9: Uma operadora de telefonia cobra R$ 50,00 por um plano


básico que dá direito a 100 minutos de telefone. Cada minuto que execeder
a franquia de 100 minutos custa R$ 2,00. Com base no exposto fazer um
programa para ler a quantidade de minuto que uma pessoa conumiu e, daı́,
mostrar o valor a ser pago.

Saida 1 Saida 2
Valor a pagar. Valor a pagar.
Minutos: 100 Minutos: 103
Valor da conta R$ 50,00 Valor da conta R$ 56,00

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 46 / 65


Operadores de Atribuição Cumulativa

public class Exemplo09 {


public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;

int minutos ;
double vlrConta = 50.0;

System . out . println ( " Valor a pagar . " ) ;


System . out . print ( " Quantidade de minutos : " ) ;
minutos = entrada . nextInt () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 47 / 65


Estrutura Condicional

if ( minuto > 100) {


// vlrPagar = vlrPagar + ( minutos - 100) *
2.0;
vlrPagar += ( minutos - 100) * 2.0;
}
System . out . printf ( " Valor da conta R$ %.2 f % n " ,
vlrPagar ) ;
entrada . close () ;
} // fim m é todo main
} // fim Exemplo09

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 48 / 65


Estrutura Switch-Case

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 49 / 65


Estrutura Switch-Case

Quando temos uma várias opções de fluxo a serem tratadas com base
no valor de uma variável, ao invés de usarmos várias estruturas if-else
encadeadas, muitos preferem utilizar a estrutura switch-case.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 50 / 65


Estrutura Switch-Case

Quando temos uma várias opções de fluxo a serem tratadas com base
no valor de uma variável, ao invés de usarmos várias estruturas if-else
encadeadas, muitos preferem utilizar a estrutura switch-case.

O switch vai funcionar como um interruptor, pois dependendo da en-


trada que você der a ele, ele vai acionar somente certo(s) comando(s)
dentre os que você disponibilizou.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 50 / 65


Estrutura Switch-Case

Estrutura Switch-Case

Figura: Switch-Case

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 51 / 65


Estrutura Switch-Case

Estrutura Switch-Case
Switch-Case
Sintaxe
switch ( opcao ) {
case opcao1 :
bloco_comandos_1 ;
break ;
case opcao2 :
bloco_comandos_2 ;
break ;
...

default :
bloco_comandos_N
}

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 52 / 65


Estrutura Switch-Case

Como funciona o Switch-Case?

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 53 / 65


Estrutura Switch-Case

Como funciona o Switch-Case?

o switch verifica se opcao é equivalente a opcao1

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 53 / 65


Estrutura Switch-Case

Como funciona o Switch-Case?

o switch verifica se opcao é equivalente a opcao1


caso seja, executa bloco comandos 1 até que encontre um break

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 53 / 65


Estrutura Switch-Case

Como funciona o Switch-Case?

o switch verifica se opcao é equivalente a opcao1


caso seja, executa bloco comandos 1 até que encontre um break
se opcao não for igual a opcao1, verifica a relação com valor2 e
assim sucessivamente.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 53 / 65


Estrutura Switch-Case

Como funciona o Switch-Case?

o switch verifica se opcao é equivalente a opcao1


caso seja, executa bloco comandos 1 até que encontre um break
se opcao não for igual a opcao1, verifica a relação com valor2 e
assim sucessivamente.
se opcao não foi nenhum dos valores bloco comandos n do caso
default é executado.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 53 / 65


Estrutura Switch-Case

Como funciona o Switch-Case?

o switch verifica se opcao é equivalente a opcao1


caso seja, executa bloco comandos 1 até que encontre um break
se opcao não for igual a opcao1, verifica a relação com valor2 e
assim sucessivamente.
se opcao não foi nenhum dos valores bloco comandos n do caso
default é executado.

Vamos ver alguns exemplos...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 53 / 65


Estrutura Switch-Case

Exemplo 10: Escreva um programa em Java, utilizando o switch-case,


para:
1 ler um valor do teclado;
2 ler um caractere de uma das quatro operações aritméticas (+, −, ∗, /)
do teclado;
3 ler outro inteiro do teclado;
4 imprimir o resultado da expressão digitada;

Número 1.: 10
Operç~
ao..: +
Número 2.: 10
Resultado: 10 + 10 = 20

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 54 / 65


Estrutura Switch-Case

Solução
public class Exemplo10 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;

double num1 , num2 , resultado ;


char operacao ;

System . out . print ( " N ú mero 1: " ) ;


num1 = entrada . nextDouble () ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 55 / 65


Estrutura Switch-Case

System . out . print ( " Opera ç ~


a o [+ , -, * , /]: " ) ;
operacao = entrada . next () . charAt (0) ;

System . out . print ( " N ú mero 2: " ) ;


num2 = entrada . nextDouble () ;

switch ( operacao ) {
case '+ ':
resultado = num1 + num2 ;
System . out . print ( " Resultado : " + num1 + "
+ " + num2 + " = " + resultado ) ;
break ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 56 / 65


Estrutura Switch-Case

case ' - ':


resultado = num1 - num2 ;
System . out . print ( " Resultado : " + num1 + " -
" + num2 + " = " + resultado ) ;
break ;

case '* ':


resultado = num1 * num2 ;
System . out . print ( " Resultado : " + num1 + " *
" + num2 + " = " + resultado ) ;
break ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 57 / 65


Estrutura Switch-Case

case '/ ':


resultado = num1 / num2 ;
System . out . print ( " Resultado : " + num1 + " /
" + num2 + " = " + resultado ) ;
break ;
default :
System . out . println ( " Opera ç ~
a o inv á lida . " ) ;
} // fim switch - case
entrada . close () ;

} // fim Exemplo10
} // fim m é todo main

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 58 / 65


Estrutura Switch-Case

Exemplo 11: Escreva um programa que leia o código de um determinado


produto e mostre a sua classificação. Utilize a tabela abaixo como
referência:

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 59 / 65


Estrutura Switch-Case

Estrutura Switch-Case
Solução
public class Exemplo11 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;
int codigo ;
switch ( codigo ) {
case 1:
System . out . println ( " Alimento n ~
a o - perec
ı́ vel " ) ;
break ;
case 2:
System . out . println ( " Alimento perec ı́ vel
");
break ;
Continua...
Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 60 / 65
Estrutura Switch-Case

case 3:
System . out . println ( " Vestu á rio " ) ;
break ;
case 4:
System . out . println ( " Limpeza " ) ;
break ;
default :
System . out . println ( " Produto n ~ ao
cadastrado " ) ;
break ;
} // fim switch - case
entrada . close () ;
} // fim m é todo main
} // fim Exemplo11

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 61 / 65


Estrutura Switch-Case

Exemplo 12: Dada uma letra, escreva na tela se essa letra é uma vogal
ou consoante.

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 62 / 65


Estrutura Switch-Case

Exemplo 12: Dada uma letra, escreva na tela se essa letra é uma vogal
ou consoante.
public class Exemplo12 {
public static void main ( String [] args ) {
Scanner entrada = new Scanner ( System . in ) ;
char letra ;

System . out . print ( " Informe uma letra : " ) ;


letra = entrada . next () . charAt (0) ;

switch ( letra ) {
case 'a ': case 'A ':
System . out . println ( " Digitou 'a ' ou 'A '" ) ;
break ;
Continua...

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 62 / 65


Estrutura Switch-Case

case 'e ': case 'E ':


System . out . println ( " Digitou 'e ' ou 'E '" ) ;
break ;

case 'i ': case 'I ':


System . out . println ( " Digitou 'i ' ou 'I '" ) ;
break ;

case 'o ': case 'O ':


System . out . println ( " Digitou 'o ' ou 'O '" ) ;
break ;

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 63 / 65


Estrutura Switch-Case

case 'u ': case 'U ':


System . out . println ( " Digitou 'u ' ou 'U '" ) ;
break ;

default :
System . out . println ( " Consante " ) ;
break ;
} // fim switch - case
entrada . close () ;
} // fim m é todo main
} // fim Exemplo12

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 64 / 65


Estrutura Condicional

Expressão Condicional Ternária


Estutura opcional ao if-else quando se deseja decidir um valor com
base em uma condição.

Sintaxe
( condi ç ~
a o ) ? v a l or _ s e_ v e rd a d ei r o : valor_se_falso ;

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 65 / 65


Estrutura Condicional

Expressão Condicional Ternária


Estutura opcional ao if-else quando se deseja decidir um valor com
base em uma condição.

Sintaxe
( condi ç ~
a o ) ? v a l or _ s e_ v e rd a d ei r o : valor_se_falso ;
Indique a respos em cada um dos itens abaixo:
1 (20 > 10) ? 50 : 80

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 65 / 65


Estrutura Condicional

Expressão Condicional Ternária


Estutura opcional ao if-else quando se deseja decidir um valor com
base em uma condição.

Sintaxe
( condi ç ~
a o ) ? v a l or _ s e_ v e rd a d ei r o : valor_se_falso ;
Indique a respos em cada um dos itens abaixo:
1 (20 > 10) ? 50 : 80 Reposta: 50
2 (4 < 2) ? ”Zebedeu” : ”Ariovaldo”

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 65 / 65


Estrutura Condicional

Expressão Condicional Ternária


Estutura opcional ao if-else quando se deseja decidir um valor com
base em uma condição.

Sintaxe
( condi ç ~
a o ) ? v a l or _ s e_ v e rd a d ei r o : valor_se_falso ;
Indique a respos em cada um dos itens abaixo:
1 (20 > 10) ? 50 : 80 Reposta: 50
2 (4 < 2) ? ”Zebedeu” : ”Ariovaldo” Reposta: Ariovaldo

Alex Machado (ETEJK) Linguagem de Programação II Estrutura Condicional 65 / 65

Você também pode gostar