Programação I - Ficha 03

FUNDAMENTOS DA LINGUAGEM JAVA
Conteúdo
TIPOS DE DADOS PRIMITIVOS DECLARAÇÃO DE VARIÁVEIS E CONSTANTES Castings

TIPOS DE DADOS PRIMITIVOS
Um tipo de dados representa um conjunto de valores com características semelhantes. Em java, temos dois grupos de tipos de dados, os primitivos e os complexos. A tabela seguinte apresenta os tipos de dados primitivos usados em java.

Tipo de dados int float char boolean byte long double short

Conjunto Conjunto de todos os número inteiros no intervalo [-2.147.483.648, 2.147.483.647] Conjunto de todos os número com vírgula flutuante no intervalo [-1.40239846e-46, 3.40282347e+38] Carácter pertencente ao conjunto caracteres alfanumérico; Conjunto composto apenas por dois valores: true e false; Conjunto de todos os números inteiros no conjunto [-128, 127] 63 63 [-2 , 2 -1] Conjunto de todos os números de vírgula flutuante pertencentes ao intervalo [4.94065645841246544e-324, 1.7976931348623157e+308] Conjunto de todos os número inteiros no intervalo [-32.768, 32.767]

Tabela 1: Tipos de dados primitivos

DECLARAÇÃO DE VARIÁVEIS
Uma variável é uma referência a um valor alojado na memória do computador, ela está sempre associada a um nome o qual é designado por “identificador”. As variáveis destinam-se ao armazenamento temporário de dados ou informações dos programas. Esses dados podem ser definidos pelo programador ou gerados pelos próprios programas em momento de execução. A declaração simples de variáveis em java obedece a seguinte sintaxe:

Onde, “tipo_de_dados” é o tipo de dados armazenado pela variável, nome_variavel é o identificador da variável. Quando duas ou mais variáveis são do mesmo tipo, elas podem partilhar a definição do tipo de dados, bastando para isso separá-las por vírgula.

A declaração acima define n variáveis do mesmo tipo. 1

=. switch. %. >. byte. case. -. private. Aconselha-se a iniciar os nomes de variáveis com letras minúsculas e é uma boa prática capitalizar as iniciais de cada palavra (diferente da inicial) presente no nome da variável. \. esta deve ser sempre do mesmo tipo da variável a que se atribui ou de tipos de dados compatíveis. o Embora não sejam permitidos caracteres especiais. <. ?. /. if. 2 . Visibilidade de variáveis: Variáveis declaradas no bloco principal podem ser acedidas (usadas) em qualquer método do programa. return. O nome da variável deve obedecer às seguintes regras: o Não pode iniciar por um dígito. [. o java permite que as variáveis sejam inicializadas no momento da sua declaração. :. ‘. o Não pode conter nenhum carácter especial (ex: &.     ATRIBUIÇÃO DE VALORES A VARIÁVEIS A atribuição de um valor a uma variável é feita através do sinal igual seguido pelo valor que se pretender atribuir [à variável]. }. boolean. basta atribuir à variável declarada o valor de inicialização logo após a declaração da mesma: Onde: valor é o valor inicial que se pretende atribuir à variável. public. char. A uma variável pode-se atribuir um valor constante ou um valor de uma outra variável. {. Dentro de um bloco só se pode definir uma e única variável com um determinado nome. existe uma excepção para os caracteres ‘$’ e ‘_’ o Não pode coincidir com nenhuma palavra reservada da linguagem JAVA (ex. para isso. ]. #. “. +. Exemplo 1 No programa apresentado na figura seguinte podemos ver a declaração de várias variáveis. Trata-se apenas de uma boa prática e não regra do JAVA. class. static. int. catch. etc. só podem ser usadas no bloco onde foram definidas. Adicionalmente. else. *. |. long.ALGUMAS OBSERVAÇÕES IMPORTANTES SOBRE DECLARAÇÃO DE VARIÁVEIS   As variáveis podem ser declaradas dentro do bloco principal do programa/classe ou dentro de um método.) Uma variável não pode ser usada antes de declarada. ^. as declaradas dentro de um método ou bloco de um método. do. while. :. ect. void.

atribui-se à variável char2 (declarada na linha 11) o valor ‘e’. a segunda variável atribui-se o valor inicial 1. 3 . 3 e 4. temos uma atribuição do valor “false” à variável “b” do tipo boolean. atribui-se à variável numero (declarada na linha 4) o valor 127. Na linha 3. foram declaradas no bloco principal do programa. Na linha 2. Na linha 14. temos uma declaração de uma variável de tipo boolean que é identificada por “b”. Na linha 7.5. As variáveis declaradas nas linhas 2. Esta palavra indica que esta variável poderá ser usada em contexto estático . d2) do tipo double. Na linha 13. Sempre que uma variáveis declarada no bloco principal for invocada dentro de um método static. Note que. Na linha 12. note que no início 1 aparece a palavra reservada static. a primeira atribui-se o valor ‘a’.Neste exemplo estão declaradas 10 variáveis. ela deve. obrigatoriamente ser declarada indicando a palavra static no início. Na linha 8 declara-se duas variáveis (d1. declara-se uma variável “numero1” e a ela atribui-se a ela o valor 1. a variáveis do tipo char só se pode atribuir um único carácter entre apóstrofos ou uma outra variável do tipo char. Na linha 4 temos uma declaração simples de uma variável de nome “numero” do tipo inteiro. logo. temos uma declaração de três variáveis do tipo byte. 1 Mais tarde iremos abordar com mais profundidade o que significa contexto estático. elas podem ser acedidas em qualquer bloco do programa “DeclaracaoDeVariavaeis”. Na linha 10 declaram-se duas variáveis do tipo “char”.

declara-se a variável “o” e não foi especificado o ponto e vírgula para indicar o fim da declaração. atribui-se um valor errado a uma variável do tipo char. Resposta: O código apresentado possui as seguintes violações: Na linha 3. a palavra 1_short não pode ser nome de uma variável pois ele viola as regras de definição de nome (Começa com um dígito). Note a presença da letra f após o valor! A indicação desta letra é obrigatória sempre que se atribui um número de vírgula flutuante a uma variável do tipo float. usou-se uma palavra reservada como nome duma variável.125 como valor. Linha 13. 4 .Finalmente. na linha 16 temos uma declaração de uma variável do tipo floata qual se atribui 2. Linha 15. Na linha 16 declara-se uma variável com um nome já usado neste bloco. A um char só se pode atribuir um carácter entre apóstrofos. Exemplo 2 No código seguinte identifique as violações cometidas na declaração e atribuição de valores a variáveis. Na linha 11.

b. 3. Duas variáveis capazes de guardar notas de um estudante. o valor da constante pode ser definido pelo programador no momento da codificação ou ser definido no momento da execução mas uma vez definido o mesmo na pode ser alterado. A definição da constante na sua forma mais simples éapresentada abaixo: Onde TIPO_DE_DADO nome_constante valor_da_constante : : : É o tipo de dados da constante É o nome da constante É o valor da constante EXERCÍCIOS 1. 2 Variáveis capazes de guardar o sexo de um indivíduo. Duas variáveis para guardar a quantidade de olhos de todos os estudantes de uma turma. 4. Tal como acontece com as variáveis. (Nota: suponha que os possíveis valores para sexo são F e M) d. c.CONSTANTES Uma constante é uma referência a um valor guardado na memória o qual matem-se constante logo após a sua definição. 5 . Para as variáveis definidas no exercício anterior escreva instruções para atribuir valores as mesmas segundo os valores apresentado na tabela abaixo: a) As iniciais dos teus três nomes b) Os valores que te propões a tirar nos testes 1 e teste2 c) O seu sexo e do seu parceiro/parceira d) A quantidade dos teus olhos Mencione uma diferença entre variável e constante. Tendo em conta as regras de declaração e atribuição de valores a variáveis. identifique e descreva os erros presentes no código seguinte: 2. Crie um programa simples no qual deverás declarar as seguintes variáveis: a. 3 variáveis do tipo char. A definição duma constante pode ser feira de várias formas dependendo do contexto em que ele for definido.

entre parentes. byte int. Onde   TIPO_DE_DADOS é o tipo de dados da parte que se pretende extrair. O casting é feito com a especificação do tipo de dados. o casting só é possível se o valor for convertível ao tipo de dados extraído. long long. char. Abaixo encontra-se a tabela de convertibilidade entre os diversos tipos de dados primitivos.Essa extracção só é possível se o valor do qual se pretende fazer a extracção for convertível ao tipo de dados do valor final. Valor é o valor (específico ou variável) do qual se pretende fazer a extracção. byte. char. char. A sintaxe do casting é apresentada a seguir. Conforme referido antes. Tipo de dados de origem double float long int char Tipo de dados destino int.CASTINGS Casting é o mecanismo que permite extrairde um valor a parte correspondente a um determinado tipo de dados. float. da parte que se pretende extrair. byte char. Esta especificação é feita imediatamente anterior ao valor (ou à variável) do qual se faz a extracção. byte 6 . byte int.

Exemplo  int x = 3/2. EXERCÍCIOS Considere a declaração de variáveis ilustrada na figura abaixo. pois o valor ASCII do 0 é 48. Nesta situação.  (int) ‘1’: resulta no inteiro49. (int) 4. . Exemplo  (char) 48: resulta no carácter 0.Nota ! O casting de valores de vírgula flutuante (double e float) em valores do inteiro(int. 2. O casting de valores inteiros em caracteres resultará no carácter correspondente ao valor ASCII do valor especificado pelo número. long. que resultado se obtém em cada casting apresentado abaixo: 7 . byte) resultará na extracção da parte inteira do valor inicial. Exemplo   (int) 2.75 resulta em 4. portanto 1. o resultado será a parte inteira da divisão de 3 por 2. o valor será sempre inteiro. portanto 2.  (char) 50: resulta no carácter 2. resultará no valor ASCII correspondente ao carácter convertido. Agora diga. isto é.  byte b = 12/5. Estes castings acontecem naquelas situações em que efectuamos uma divisão entre valores inteiros. o resultado será a parte inteira da divisão de 12 por 5.  short sh = 9/2. 1. pois o valor ASCII do 2 é 50 O casting de caracteres (char) para valores inteiros. independentemente do resultado da divisão. pois o valor ASCII do a é 97. Alguns castings acontecem automaticamente.5 resulta em 2. 4. sem que o programador precise de especificar o comando de casting. portanto 4. Exemplo  (int) ‘a’: resulta no inteiro 97. pois o valor ASCII do 1 é 49. 3. o resultado será a parte inteira da divisão de 9 por 2.