Você está na página 1de 14

Prof.

Martinele

Algoritmos
de
Programação II
Nesta aula será apresentada uma revisão a respeito de estruturas condicionais (para tomada de
decisão), estruturas de repetição (laços), bem como casting e Locale (para definição de
regionalidade)
Sumário

1 Revisão de Casting ..........................................................................................................................3


1.1 Outros tipos de conversões ....................................................................................................5
2 Locale, o que é? ..............................................................................................................................6
3 Revisão das estruturas condicionais ...............................................................................................8
3.1 Estrutura condicional “If” .......................................................................................................8
3.2 Estrutura condicional “if...else” ..............................................................................................8
3.3 Estrutura condicional “if...else if...else” ..................................................................................9
3.4 Estrutura condicional - de múltipla escolha – “switch...case” ..............................................10
4 Revisão das estruturas de repetição (laços) .................................................................................11
4.1 Estrutura de repetição “while” .............................................................................................11
4.2 Estrutura de repetição “do...while” ......................................................................................11
4.3 Estrutura de repetição “for” .................................................................................................12
5 Exercícios: .....................................................................................................................................13
6 Referências Bibliográficas .............................................................................................................14

2
1 Revisão de Casting

Agora será abordada uma revisão de Casting de tipos primitivos

Em Java, se pode atribuir o valor de um tipo de variável a outro tipo de variável, entretanto, para tal é
necessário que esta operação seja apontada ao compilador. A este apontamento damos o nome de
“casting”.

Observação: Atente para o tipo de dado boolean, pois é o único tipo primitivo que não suporta casting.

Pode-se fazer conversões de tipos de ponto flutuante para inteiros, e inclusive entre o tipo caractere,
porém estas conversões podem ocasionar a perda de valores, quando se molda um tipo de maior
tamanho, como um double dentro de um int.

Figura 1 – Tabela com todos os tipos de casting possíveis.

Fonte: adaptado de Universidade Java (2011).

Como fazer casting?


Basta apontar o tipo para o qual se deseja converter entre parênteses, da seguinte forma a seguir:

3
Figura 2 – Exemplos de conversões implícitas e explícitas.

Fonte: o autor (2022).

O casting ocorre implicitamente quando adiciona uma variável de um tipo menor que o tipo que
receberá esse valor.

Veja a seguir um código completo com a presença de casting, tanto implícito, quanto explícito.

Figura 3 - Programa com demonstrações de casting implícito e explícito.

Fonte: adaptado de Universidade Java (2011).


4
1.1 Outros tipos de conversões

Outras conversões podem ser necessárias e essas são feitas a partir de métodos presentes na
linguagem. Veja exemplos no código do programa a seguir. O site Devmedia (2006), – que pode ser
encontrado nas referências ao final deste arquivo – cita uma série conversões exemplos em Java. Vale
a pena consultar.

Figura 4 – Código exemplo, com outros tipos de conversões.

Fonte: o autor (2022).

Outros modos de conversões podem ser vistos no link a seguir: < http://gg.gg/yemku >.
Confira!

5
2 Locale, o que é?

De acordo com o blog Cod3r (2021), a linguagem Java dá suporte à internacionalização de suas
aplicações, disponibilizando diversos recursos que facilitam o desenvolvimento de programas (sejam
eles com interfaces CLIs ou GUIs), adaptando-as conforme cada região.

Isso ocorre quando a JVM é iniciada, elegendo um conjunto de configurações baseadas no sistema em
que ela está sendo executada, chamado “locale”, que define uma linguagem, uma região e quaisquer
variações na maneira de exibir e interpretar certos tipos de dados.

Segundo Cod3r (2021), tais parâmetros ficam armazenados em um objeto Locale que possui um “Enum
Category” que contém duas constantes, DISPLAY e FORMAT, responsáveis por armazenar os códigos
de línguas, que são consultadas por métodos de outras classes para determinar o tratamento de alguns
tipos de dados. Esses métodos pertencem a objetos sensíveis ao locale.

Veja a seguir um código com exemplo de Locale.

Figura 5 – Código com a Classe Locale

Fonte: o autor (2022).

6
Podemos descobrir o locale padrão da JVM que se está utilizando, escreva o seguinte código:

Figura 6 – Teste para se descobrir o Locale da JVM

Fonte: o autor (2022).

7
3 Revisão das estruturas condicionais

Serão vistas algumas estruturas de dados: estruturas condicionais – estruturas de decisão, como
forma de revisão e fixação, para que não haja dúvidas quanto ao seu funcionamento. Atente a cada
uma delas e exercite para que fixe em seu aprendizado, pois estes tipos de estruturas são
comumente utilizados.

3.1 Estrutura condicional “If”

A seguir, um exemplo de código com a presença da estrutura condicional “If”, para ser estudado e
debatido. Note que o bloco de comando dessa estrutura condicional simples ocorre se a condição for
verdadeira, ou seja, se verdadeira os comandos são executados, terminando o bloco e indo para a
próxima instrução, da linha 11. Caso contrário, se a condição for falsa, apenas será ignorado o bloco
de instruções da estrutura, indo diretamente para a execução da linha 11.

Figura 7 – Exemplo de estrutura condicional if (simples)

Fonte: o autor (2022).

3.2 Estrutura condicional “if...else”

A seguir, um exemplo de código com a presença da estrutura condicional “if...else”, para ser estudado
e debatido. Note que o bloco de comando dessa estrutura condicional possui instruções a serem
executadas, caso a condição seja verdadeira ou falsa. Ao final, tanto para verdadeiro ou falso, após
terem sido executadas as instruções de seus respectivos blocos, o programa segue para a linha: 12

8
Figura 8 – Exemplo de estrutura condicional If...else (composta)

Fonte: o autor (2022).

3.3 Estrutura condicional “if...else if...else”

A seguir, um exemplo de código com a presença da estrutura condicional “if...else if...else”, para ser
estudado e debatido. Note que o bloco de comando dessa estrutura condicional possui instruções a
serem executadas, caso qualquer uma das condições seja verdadeira ou falsa. Trata-se de uma
estrutura com várias escolhas a serem feitas. Ao final, tanto para uma das condições sendo verdadeira
ou falso (else), após terem sido executadas as instruções de seus respectivos blocos, o programa segue
para a linha: 16.

Figura 9 – Exemplo de uma estrutura condicional if...else if...else (if aninhado)

Fonte: o autor (2022).

9
3.4 Estrutura condicional - de múltipla escolha – “switch...case”

A seguir, um exemplo de código com a presença da estrutura de múltipla escolha “switch...case”, para
ser estudado e debatido. Perceba atentamente a sintaxe dessa estrutura, que pode substituir a
estrutura “if...else if...else”, deixando o código mais limpo e mais fácil de ser entendido.

Figura 10 – Exemplo de estrutura de múltipla escolha switch...case

Fonte: o autor (2022).

10
4 Revisão das estruturas de repetição (laços)

Serão vistas algumas estruturas de dados de estruturas de repetição – laços de repetição, como
forma de revisão e fixação, para que não haja dúvidas quanto ao seu funcionamento. Atente a cada
uma delas e exercite para que fixe em seu aprendizado, pois estes tipos de estruturas são
comumente utilizados.

4.1 Estrutura de repetição “while”

A seguir, um exemplo de código com a presença de laço de repetição “while”, para ser estudado e
debatido. Esse código pode ser interessante quando se quer repetir um bloco.

Figura 11 – Exemplo da estrutura de repetição while

Fonte: o autor (2022).

4.2 Estrutura de repetição “do...while”

A seguir, um exemplo de código com a presença de laço de repetição “do...while”, para ser estudado
e debatido. Esse código pode ser interessante quando se quer repetir um bloco, apresentando uma
interface ao usuário, caso seja a necessária a decisão do mesmo. As diferenças da estrutura de
repetição do...while em relação a estrutura while são listadas a seguir:

• Na estrutura do...while a condição é testada ao final;

• Executa o bloco de instruções ao menos uma vez, mesmo sendo a condição falsa.

11
Figura 12 – Exemplo da estrutura de repetição do...while

Fonte: o autor (2022).

4.3 Estrutura de repetição “for”

A seguir, um exemplo de código com a presença de laço de repetição “for”, para ser estudado e
debatido.

Figura 13 – Exemplo de estrutura de repetição for

Fonte: o autor (2022).

12
5 Exercícios:

1. Escreva um programa em Java que resolva o problema a seguir.

Em uma rodovia, há a determinação da velocidade dessa via em 100 Km/h. Dada a distância e o
tempo de percurso, calcule a velocidade média do veículo e informe se o mesmo está passível de
cometer uma infração de trânsito ou não. Observação: necessária uma pesquisa para se obter a
fórmula para cálculo da velocidade média.

2. Com base no programa acima, faça um novo projeto e utilizando-se do mesmo código, faça
alterações que permitam efetuar o cálculo mais de uma vez.

3. Escreva um programa em de calculadora com as 4 operações básicas em que constem os


conceitos de estrutura de decisão (condicional if), bem como de múltipla escolha (switch...case) e
de repetição (while ou do...while ou for)

Critérios:

a. Deve existir um menu para a escolha da operação;

b. Deve-se permitir a entrada de 2 números inteiros;

c. Para a operação de divisão, o divisor não pode ser zero (0);

d. O usuário deve ser questionado se deseja continuar. Pode-se perguntar se o usuário quer
continuar na mesma operação ou então na execução do programa como um todo; fica a seu
critério.

Observação: Não existe divisão por zero, então pode ser tratado esse erro.

13
6 Referências Bibliográficas

Cod3r. O que é locale? Disponível em: <http://gg.gg/yemnt>. Acesso em: 28 de março de 2022.

Devmedia. Conversões em Java. Disponível em: <http://gg.gg/yemku>. Acesso em 29 de março de


2022.

JavaTpoint. Declarações if-else em java. Disponível em: < http://gg.gg/y7u5v >. Acesso em 13 de
março de 2022.

JavaTpoint. Declaração Switch no Java. Disponível em: < http://gg.gg/y7u1b >. Acesso em 14 de
março de 2022.

Universidade Java. Java - Casting de tipos primitivos. Disponível em: <http://gg.gg/yemcz>. Acesso
em 28 de março de 2022.

14

Você também pode gostar