POO – Estrutura de Controle e Repetição

surprised-1184889_640Antes de entramos de fato na orientação a objeto é necessário compreender/revisar os conceitos de estrutura de controle e repetição. A estrutura de controle em sua essência serve para tomada de decisão. Na tomada de decisão são utilizados testes lógicos. Tanto a decisão e o teste lógico retornam apenas dois valores possíveis verdadeiro ou falso. Geralmente é feito o uso de condição na tomada de decisão. A condição é um teste lógico que compara dois valores ou variáveis utilizando operadores relacionais. Na tabela abaixo é listado os operadores relacionais.

oepradoresrelacionaisSobre estrutura de controle é importante ressaltar os desvios condicionais simples e o composto. O desvio condicional compreende em tomar uma decisão a qual resulta em um valor lógico (verdadeiro ou falso) e logo após essa decisão executar (ou não) um bloco de comandos. No desvio condicional simples é executado um bloco de comandos caso a decisão seja verdadeira e caso seja falsa não será executado nada, ou seja, passa para a próxima instrução (linha de comando) após a estrutura de decisão.  No desvio condicional composto existe um bloco de comandos para os dois resultados. O primeiro bloco será executado caso a decisão resulte em verdadeiro e o segundo bloco de comandos será executado caso a decisão seja falsa.

desviocondicionalNo exemplo acima temos a declaração da variável salto do tipo double. Logo após é atribuído o valor 2.25 para a variável salto. Temos também um desvio condicional composto. O primeiro bloco de comandos será executado caso a decisão (salto>1.75) seja verdadeira mostrando a mensagem “Pulou a cerca” na tela e o segundo bloco de comandos caso a decisão seja falsa mostrando a mensagem “Não pulou a cerca”.

Caso uma decisão possua mais de uma condição será necessário fazer uso de operadores lógicos. Temos os operadores “E” (&&) e “OU” (||). Ao utilizar o operador lógico && basta apenas que uma das condições seja falsa para que o resultado seja falso e portando só será verdadeiro se todas as condições forem verdadeiras. Ex.: (condicao01 && condicao02). O operador || atua de forma contrária ao operador &&, basta que apenas uma das condições seja verdadeira para que o resultado seja verdadeiro e portando só será falso se todas as condições forem falsas.

Estrtura de RepetiçãoAs estruturas de repetição ou laços de repetição são utilizadas quando existe a necessidade de executar um determinado bloco de comandos mais de uma vez. Iremos abordar as estruturas enquanto e para. Quando não se sabe a quantidade de vezes que o código deve repetir geralmente é utilizado a estrutura de repetição enquanto (while). A estrutura de repetição enquanto é caracterizada por possuir um teste lógico no início do laço. Enquanto o teste lógico no início do laço for verdadeiro deve-se repetir o bloco de comandos.

A estrutura de repetição para é usualmente utilizada quando já se sabe quantas vezes o bloco de comandos vai repetir. Faz uso de uma variável de controle onde a mesma a cada laço incrementa ou decrementa auxiliando na implementação do bloco de comandos. Para ter acesso a exemplos confira a vídeo aula e apresentação abaixo.

[slideshare id=59798404&doc=poo4-160321002646]

POO – Um pouco mais sobre variáveis

Programador

Basicamente, tudo que acontece nos algoritmos/programas/aplicações é resultado de alguma forma de manipulação de dados  e esses dados são guardados na memória, seja ela principal ou não. Para fazer acesso a esses dados são utilizados as variáveis. Portanto, as variáveis representam os dados que estão armazenados na memória. Para facilitar, as variáveis podem possuir tipos. Os tipos servem para representar o conjunto de dados que a mesma pode armazenar.

Java é uma linguagem que utiliza variáveis estaticamente e fortemente tipadas. Variável estaticamente tipada é quando uma linguagem de programação exige que o tipo da variável seja explicitada antes que o código fonte seja compilado. Variável fortemente tipada é quando a linguagem de programação exige que os valores atribuídos as variáveis sejam do mesmo tipo que foi declarado para a variável.

Variáveis PrimitivasEm uma linguagem de programação orientada a objeto pura, tudo é objeto. Essa afirmação inclui, obviamente, as variáveis. Apesar de ser uma linguagem de programação orientada a objeto, o Java faz uso de tipos primitivos. Ao declarar int i = 3, a variável i está recebendo uma cópia do valor 3 e não uma referência a um objeto. Abaixo uma tabela relacionando os tipos primitivos.

Tabela Tipos Primitivos JavaAo trabalhar com valores e variáveis pode ser feito o uso de operadores. Temos os operadores aritméticos +, -, * e % que correspondem respectivamente a mais, menos, vezes e modulo. O operador modular corresponde ao resto de uma divisão. Por exemplo.: i = 8 % 3. A variável i vai receber o valor 2, pois o resto da divisão de 8 por 3 é 2. Também temos, os operadores de atribuição =, -=, *=, /= e %=. O operador =(igual) atribui a variável que está a esquerda do operador o resultado de tudo que estiver a direita. Os operadores -=, *=, /=, %= resulta no valor a direita mais o operador anterior ao sinal de =(igual) como valor inicial da variável. Observe o exemplo abaixo:

  • int i = 10; // inicializando a variável i com o valor 10
  • int -= 2; // i resulta em 8, pois i inicialmente vale 10 então i = i – 8, ou seja, i = 10 -8

Para finalizar, a atribuição de um valor de tipo diferente à variável que o recebe pode provocar erro. Para que isso não ocorra deve ser feito o uso de Casting. Por exemplo, ao tentar atribuir um valor real a uma variável do tipo inteiro o mesmo não deve ser feito de forma direta e sim utilizar o Casting. Exemplo: int i = (int) 8.12. No exemplo i irá valer 8 desconsiderando a parte fracionária. Isso se dá ao fato que a linguagem de programação Java é fortemente tipada. Para avisar ao compilador, para que o mesmo resolva o problema, é explicitado que o valor que está sendo atribuído deve ser moldado.

Logo abaixo a vídeo aula e a apresentação.

[slideshare id=59165707&doc=poo3-160306210016]