terça-feira, 13 de maio de 2014

Constantes, variáveis e operadores



Constantes, Variáveis e Tipos de Dados

Variáveis e constantes são os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado, é a representação dos elementos de um certo conjunto, cujo conteúdo pode ser alterado ao longo do tempo durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada vez. Variáveis devem receber nomes para poderem ser manipuladas e seu valor pode ser alterado a qualquer ponto no programa. E existem alguns tipos que podem ser por exemplo: inteiros, reais, caracteres, etc.
  • Regras para os nomes das variáveis
  1. Começar por uma letra (a - z, A - Z) ou (_).
  2. O resto do identificador deve conter apenas letras, (_) e números (0 - 9).
  3. Respeitar maiúsculas e minúsculas.
  4. Não pode usar palavras reservadas.
  • Recomendações para os nomes das variáveis
  1. Utilizar nomes que identifiquem o propósito da variável
  2. Não utilizar variáveis com o nome todo em letras maiúsculas, uma vez que esse é uma prática usada para constantes.Variáveis simples devem ser escritas todas com letras minúsculas.
  3. Variáveis compostas devem iniciar com maiúscula a partir da segunda palavra. 
  • Declaração de Variáveis
  1. Para usar uma variável em um programa, é necessário fazer sua declaração antes.
  2.  Informa ao processador quais são os nomes utilizados para armazenar dados variáveis e quais são os tipos usados.
  3. Deste modo o processador pode alocar (reservar) o espaço necessário na memória para a manipulação destas variáveis.
  4. É possível declarar mais de uma variável ao mesmo tempo, basta separá-las por vírgulas. Sintaxe para declaração de variáveis é: [modificador] tipo nome_var1[, nome_var2, . . .];
  •  Exemplos de declarações de variáveis
  1. int numInteiro;
  2. int i, j, k;
  3. char letra;
  4. float nota1, nota2, media;
  5. double numReal;
  6. unsigned int numInteiroSemSinal
  • Escopo
  1. Onde uma variável é definida.
  2. Determina a região em que ela poderá ser usada.
  • Tipos
·   Local
·   Parâmetro Formal
·   Global

Variáveis

Escopo Local

-Só podem ser utilizadas dentro do bloco que foram definidas.
-Criada no início do bloco e “destruída” no final.
-A memória só será alocada quando necessária.
-Evita problemas em outras partes do código.

Exemplo:
void atribui1()
{
int x;
x = 20;
}
void atribui2()
{

int y;
y = -50;
}

• Escopo de Parâmetro Formal

-Definidas depois do nome da função e entre parênteses.
-São os valores que serão passados para uma função.

Exemplo:
void calculaSoma(float nota1, nota2)
{
soma = nota1 + nota2;
}

Escopo Global

-São definidas nas declarações globais;
-Reconhecidas no código inteiro;
-Podem ser usadas em qualquer lugar do código, pois guardam os seus valores durante toda a execução do programa;
-Alocadas quando o programa inicia e “destruídas” quando o programa termina.
Ao contrário de outras linguagens, Java não possui variáveis globais, variáveis que podem ser usadas em todas as partes de um programa. As variáveis de instância e classe comunicam informações de um objeto para outro, e por isso substituem a necessidade das variáveis globais.

 Constantes

Se o valor armazenado nunca tiver que mudar durante a execução de um programa, você poderá usar um tipo especial de variável, chamado constante.
Uma constante, que também pode ser chamada de variável constante, é uma variável com um valor que nunca muda.
Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e literal.

Exemplo de constantes:

Constante Inteira:

-Número de valor inteiro
-Sequência de dígitos decimais

Exemplos:

  1. const int num1 = 0;
  2. const int num2 = -45;
  3. const int num3 = 1010;

Constante Ponto Flutuante:

  1. Número de valor real
  2. Parte inteira separada da fracionária por ponto (.)
Exemplos:


  1.  const float num1 = 0.123;
  2.  const float num2 = .76;
  3.  const float num3 = 1.2e3;
  4.  const float num4 = 10.6E2;
  5.  const float num5 = -1e-1;
  6.  const float num6 = 345.;
  7.  const float num7 = 67;
• Constante Caractere:

  1. Caractere delimitado por aspas simples (‘’)
  2. Número da tabela ASCII
  3. Caractere especial precedido da barra invertida
Exemplos:

  1.  const char caractere1 = ‘A’;
  2.  const char caractere2 = ‘1’;
  3.  const char caractere3 = 65;
  4.  const char caractere4 = ‘\n’;
  5.  const char caractere5 = ‘\’’;
  6.  const char caractere6 = ‘\\’;

Constante Cadeia de Caracteres:


  1. Sequência de caracteres delimitados por aspas duplas (“”)
  2. Caractere especial precedido da barra invertida

Exemplos:

  1.  const char *cadeia1 = “A”;
  2.  const char *cadeia2 = “1”;
  3.  const char *cadeia3 = “Linha 01”;
  4.  const char *cadeia4 = “Linha 01/nLinha 02”;

Atribuição e declaração

Atribuir um valor qualquer para uma constante ou uma variável requer o uso do sinal de “ß” ou “=”. Isso quer dizer que o valor na frente do sinal será armazenado no elemento anterior ao sinal de atribuição. Veja: nome ß “Joãozinho” idade ß 10 pi ß 3.14. Independentemente do tipo de dado adotado – caracteres variados (“Joãozinho”), números inteiros (10) ou flutuantes (3.14) –, o processo de atribuição é o mesmo. Mas a declaração requer cuidado. Por isso, procure escolher o nome da variável de acordo com o tipo de dado que será recepcionado, inicie sempre com letras.

Operadores

Os operadores são utilizados pelos pseudocódigos. O mesmo acontece com as linguagens de programação, cuja função é realizar as diferentes operações de aritmética e de lógica em um ambiente computacional. Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Cada operador utiliza dois comandos, um em cada lado do operador. O operador de subtração também pode ser usado para negar um único operando, o que é equivalente a multiplicar o operando por -1. Observe que muitas operações aritméticas envolvendo inteiros produzem um int, independente do tipo original dos operadores. Se você estiver trabalhando com outros números, como números de ponto flutuantes ou inteiros long, deverá certificar-se de que os operadores possuem o mesmo tipo ao qual está tentando chegar.

■ Operadores

• Responsáveis pelas operações elementares de uma linguagem.
• Aplicados a um ou mais valores.
• Podem ser de:

  1. Atribuição
  2. Aritméticos
  3. Atribuição aritmética
  4. Incrementais
  5. Relacionais

■ Operadores – Atribuição

• Usado para transferir o resultado de uma expressão para uma variável.

• Sintaxe
         identificador = expressao;

• Atribuições Múltiplas
        var_1 [= var_2] [= var_3 . . .] = expressao;

• Conversão de Tipo
       Automática: int num1 = 5.7;
       Explícita: float num2 = (int) (3.6 + 2.1);

Operadores Aritméticos

Os operadores aritméticos são os utilizados para obter resultados numéricos.
Além da adição, subtração, multiplicação e divisão, podem utilizar também o operador para exponenciação.

■ Operadores

• Responsáveis pelas operações elementares de uma linguagem.
• Aplicados a um ou mais valores.
• Sintaxe

  1.   operando operador operando (5 + 2)
  2. Operadores:

  • + : adição
  • - : subtração
  • * : multiplicação
  • / : divisão
  • % : módulo (resto da divisão inteira)
• Divisão

-É omitido a parte decimal do resultado quando aplicado a números inteiros:
5 / 2 == 2 . Caso se deseje o valor fracionário deve-se transformar pelo menos um número em ponto flutuante: 5 / 2.0 == 2.5 ou 5.0 / 2 == 2.5

Caso as variáveis sejam inteiras, usa-se o casting.
Exemplo:

  1. float x;
  2. int y = 5, z = 2;
  3. x = y / (float) z;
Operadores – Aritméticos

• Resto
-Não pode ser usado ser float

• Precedência
-Multiplicação (*), divisão (/) e módulo (%) têm precedência sobre os operadores de adição. Entre operadores de mesma precedência as operações são efetuadas da esquerda para a direita.

■ Operadores – Incrementais

• No exemplo 1, y = ++x, significa que primeiro x terá seu valor incrementado depois y receberá o valor de x. Portanto, ao fim do programa, x será 11 e y será 11.

• No exemplo 2, y = x++, significa que primeiro y receberá o valor de x, depois x terá seu valor incrementado. Portanto, ao fim do programa, y será 10 e x será 11.

Exemplo1:
int x, y;
x = 10;
y = ++x;

Exemplo2:
int x, y;
x = 10;
y = x++;

Operadores – Relacionais

• Verificam a relação de magnitude e igualdade entre dois valores.

• Operadores

  1. > : maior que
  2. < : menor que
  3. >= : maior ou igual a
  4. <= : menor ou igual a
  5. == : igual a
  6. != : diferente de
Operadores – Relacionais

• Sintaxe
- expressao_1 operador expressao_2

• O resultado de uma expressão lógica é um valor numérico:
- expressão verdadeira recebe o valor 1 expressão falsa recebe o valor 0.

• Precedência
Os operadores relacionais de igualdade tem precedência menor que os de magnitude que tem precedência menor que os operadores aritméticos.
- Operadores relacionais de mesma precedência são avaliados da esquerda para a direita.

Operadores – Lógicos

• Definem as maneiras como as relações podem ser conectadas.

• Operadores
&& (AND) : expressao_1 && expressao_2
|| (OR) : expressao_1 || expressao_2
! (NOT) : ! expressao_1

• O resultado de uma expressão lógica é um valor numérico:
-expressão verdadeira recebe o valor 1
-expressão falsa recebe o valor 0.

• Precedência
-O operador && tem precedência sobre o operador
||. Estes dois têm precedência menor que os operadores relacionais.
-O operador ! tem a mesma precedência que os operadores incrementais.

Operadores – Precedências

Categoria Operadores
Parênteses.................... ( )
Função........................... nome( )
Incremental, Lógico...... ++ , -- , !
Aritmético..................... * , / , %
Aritmético..................... + , -
Relacional..................... < , > , <= , >=
Relacional..................... == , !=
Lógico........................... &&
Lógico........................... ||
Atribuição..................... = , += , -= , *= , /= , % =

Operadores – Funções aritméticas

• Usados para alterar uma variável realizando operação aritmética com ela.

• Operadores

  1. var += exp; (var = var + exp;)
  2. var -= exp; (var = var - exp;)
  3. var *= exp; (var = var * exp;)
  4. var /= exp; (var = var / exp;)
  5. var %= exp; (var = var % exp;)
Operadores – Incrementais

• Se o operador for colocado á esquerda da variável, o valor da variável será incrementado (ou decrementado) antes que a variável seja usada em alguma outra operação.

• Caso o operador seja colocado à direita da variável, o valor da variável será incrementado (ou decrementado) depois que a variável for usada em alguma outra operação.

• Instruções chamadas de incremento e decremento.

• Operadores

  1. ++var (var = var + 1;)
  2. var++ (var = var + 1;)
  3. - -var (var = var - 1;)
  4. var-- (var = var - 1;)
Fontes autorais
Laboratório de Programação I Prof. Frederico Viana
Livro Aprenda Java em 21 dias – JAVA


Abaixo segue um link de um material sobre o tema apresentado da faculdade de UESB.


Conseguimos também um vídeo que aborda o tema.



Abaixo seguem algumas partes dos textos do livro que utilizamos para pesquisa.

Livro Aprenda Java em 21 dias – JAVA 2 Professional Reference, da Editora Campus, escritores Rogers Cadenhead e Laura Lemay


1.    Variáveis pg.22 ß Uma variável é um lugar onde as informações podem ser armazenadas enquanto um programa está sendo executado. O valor pode ser alterado a qualquer ponto no programa – daí o nome. Ao contrário de outras linguagens, Java não possui variáveis globais, variáveis que podem ser usadas em todas as partes de um programa. As variáveis de instância e classe comunicam informações de um objeto para outro, e por isso substituem a necessidade das variáveis globais.
2.    Constantes pg.25 ß Variáveis são úteis quando você precisa armazenar informações que podem ser alteradas enquanto um programa é executado.
Se o valor armazenado nunca tiver que mudar durante a execução de um programa, você poderá usar um tipo especial de variável, chamado constante.
Uma constante, que também pode ser chamada de variável constante, é uma variável com um valor que nunca muda. Isso pode parecer um paradoxo, dado o significado da palavra variável.
Operadores e funções aritméticas pg.30 ß Cada operador utiliza dois comandos, um em cada lado do operador. O Operador de subtração também pode ser usado para negar um único operando, o que é equivalente a multiplicar o operando por -1. Observe que muitas operações aritméticas envolvendo inteiros produzem um int, independente do tipo original dos operadores. Se você estiver trabalhando com outros números, como números de ponto flutuantes ou inteiros long, deverá certificar-se de que os operadores possuem o mesmo tipo ao qual está tentando chegar.
  
Segue um exemplo abaixo com a solução detalhada.

Implementar programa que realize uma das 4 operações (+), (-), (/) e (*) entre duas variáveis, através da escolha do usuário

1.  import javax.swing.JOptionPane;  
2.    
3.  public class Operacoes{  
4.    
5.  public static void main( String args[] )  
6.  {  
7.  //APRESENTAÇÃO DAS VARIAVEIS  
8.    
9.      String a, b, escolha;  
10.     int es;   
11.     float c, d, e;  
12.   
13.   
14. //DEFINIÇÃO DAS VARIAVEIS  
15.       
16.     escolha = JOptionPane.showInputDialog ("Digite 0 para soma, \n Digite 1 para subtraçao, \n Digite 2 para divisao, \n Digite 3 para multiplicacao");  
17.     es = Integer.parseInt(escolha);  
18.     a = JOptionPane.showInputDialog ("Digite o primeiro numero");  
19.     c = Float.parseFloat(a);  
20.     b = JOptionPane.showInputDialog ("Digite o segundo numero");  
21.     d = Float.parseFloat(b);  
22.       
23.       
24.       
25. //SWITCH CASE  
26.           
27.     switch (es)   
28.        {  
29.     case 0:   
30.       e = c + d;  
31.      JOptionPane.showMessageDialog(null"Resultado da soma: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
32.   
33.     case 1:   
34.       e = c - d;  
35.       JOptionPane.showMessageDialog(null"Resultado da subtracao: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
36.   
37.     case 2:   
38.       e = c / d;  
39.      JOptionPane.showMessageDialog(null"Resultado da divisao: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
40.   
41.     case 3:   
42.       e = c * d;  
43.      JOptionPane.showMessageDialog(null"Resultado da multiplicacao: " + e, "Feito", JOptionPane.PLAIN_MESSAGE );break;  
44.   
45.     }  
46.    System.exit(0);  
47.   }  
}

Aqui temos um exercício proposto para proporcionar um treino para todos, e assim testar os conhecimentos se realmente foi compreendido o conteúdo.

O primeiro exercício foi testado na aula de algoritmo mas aqui será em java aplicando os conceitos. E o segundo será teórico com base também no tema.


  •            1.  Criar um programa para cálculo do salário líquido em que três valores devem ser informados pelo usuário em janelas de entrada: a quantidade de horas trabalhadas, o salário hora e o número de dependentes. O programa deve mostrar em janela de saída as informações contidas no lado esquerdo da tabela seguinte: 
              Informação Cálculos 
                    Salário bruto Horas trabalhadas * salário hora + (50 * número de dependentes)

              Desconto INSS Se salário bruto <= 1000 INSS=salário bruto * 8.5/100
              Se salário bruto > 1000 INSS=salário bruto * 9/100

              Desconto IR Se salário bruto <= 500 IR=0
              Se salário bruto > 500 e <= 1000 IR=salário bruto*5/100
              Se salário bruto > 1000 IR=salário bruto*7/100

              Salário líquido Salário bruto - INSS - IR 


  •        2. Cite quais os tipos de variáveis.


Qualquer dúvida fiquem à vontade para acrescentar nos comentários que responderemos o mais rápido possível.

Autores
Fátima Carvalho Borges
Marcelo Augusto da Cruz


2 comentários:

  1. Ok, um pouco longo... mas muito bom!!!! Gostei muito da sequência e da distribuição do assunto. Parabéns!!!

    ResponderExcluir