You are on page 1of 12

Ficha 2

FUNDAMENTOS DA LINGUAGEM JAVA

Conteúdo
ESTRUTURA DE PROGRAMAS JAVA
COMPILAÇÃO E EXECUÇÃO DE PROGRAMAS
TIPOS DE DADOS PRIMITIVOS
DECLARAÇÃO DE VARIÁVEIS E CONSTANTES
Castings

ESTRUTURA DE PROGRAMAS JAVA


Os programas (simples) java obedecem a seguinte estrutura:

Fig 1. Estrutura de programa

 A primeira linha é a linha da declaração do programa. As duas primeiras palavras ( public e class) são
palavras reservadas da linguagem e servem para iniciar o programa; a terceira palavra
(NomeDoPrograma) é o identificador do programa; corresponde ao nome pelo qual o programa será
identificado. A definição do nome é feita de acordo com o fim a que o programa se destina; este nome
pode ser qualquer combinação de caracteres alfanumérico obedecendo as seguintes regras:

a) Não pode iniciar por um dígito;


Page | 1 Ficha 5
b) Não pode conter nenhum carácter especial (ex: &, %, +, -, ?, “, ‘, {, }, [, ], :, *, ^, #, =, <, >, :, /,
|, \, etc.)

c) Embora não sejam permitidos caracteres especiais, existe uma excepção para os caracteres
‘$’ e ‘_’;

d) Não pode coincidir com nenhuma palavra reservada da linguagem JAVA (ex. int, long,
boolean, public, static, private, class, void, return, byte, char, if, else, switch, catch, case, do,
while, ect.)

Boas Práticas
O nome do programa deve ser significativo, e ele deve ser definido de acordo com o fim a que o
mesmo se destina. Por exemplo: se o programa se destina à impressão de pauta duma turma
seria ideal identificar o programa com um nome que faça alusão à impressão de pauta. Alguns
nomes sugestivos para esse programa seriam: ImprimePauta, ImprimirPauta, ImprimeUmaPauta,
etc. Nomes como Pauta, Imprimir, Impressao, seriam nomes ambíguos que não explicitam o que o
programa realmente faz.

 Na linha dois, temos a abertura de chaveta; a indicação deste caracter é obrigatória e ele indica o inicio do
bloco principal do programa; este bloco é obrigatoriamente terminado por uma chaveta (linha 8). Tudo o
que for escrito dentro deste bloco corresponde ao conjunto de instruções do programa e qualquer
instrução feita fora deste bloco é considerada como inválida caso ela não esteja incorporada em um bloco
de um outro programa;

 Na linha quatro temos a declaração do “main”. O main é o ponto de partida para a execução de qualquer
programa JAVA simples. Sempre que um programa for executado, o compilador procura por este método
e executa as instruções do mesmo; a declaração do “main” obedece a estrutura apresentada nesta linha;

 Na linha cinco encontramos o caracter de iniciação o bloco do “main” o qual termina na linha sete com o
fechamento da chaveta; dentro deste bloco é onde são colocadas as instruções que serão executadas
durante a execução do programa.

Boas Práticas
Quando estamos a escrever um programa seria interessante abrir e fechar (imediatamente) as
chavetas toda vez que iniciássemos um novo bloco de instruções (de programa, métodos ou
outros blocos). Isso evitaria o esquecimento de fechar as chavetas a que muitos programadores
iniciantes têm.

Exemplo

Page | 2 Ficha 5
Fig 2.

Nesta figura, temos um exemplo de programa JAVA, ele é iniciado com a declaração do programa (public class
Exemplo1). “Exemplo1” é o nome do programa; dentro do bloco “main” temos três instruções a serem executadas.

NOTA: As instruções devem ser sempre separadas por ponto e vírgula.

INSTRUÇÕES
Um programa é composto de instruções. Uma instrução é o menor fragmento do programa o qual é tratado duma
única vez. Em java as instruções são separadas por ponto-e-vírgula. No exemplo apresentado na figura 2 temos
três instruções e três ponto-e-vírgulas demarcando o fim de cada uma.

COMPILAÇÃO E EXECUÇÃO DO PROGRAMA


Para compilar e executar programas JAVA usam-se respectivamente os comandos “javac” e “java”.

 O comando javac, recebe como parâmetro o nome do ficheiro java que se pretende compilar; este nome
deve incluir a extensão “.java”;

 O comando java recebe como parâmetro o nome do ficheiro (.class) gerado no momento da execução da
instrução de compilação (javac); normalmente este nome coincide com o nome do ficheiro executado
com o comando javac mas excluindo a extensão.

COMO TUDO OCORRE


Após escrever um programa é necessário que o mesmo seja gravado em um ficheiro com extensão java; o nome
do ficheiro deve coincidir com o nome do programa sempre que o programa for iniciado com a palavra public 1; no
caso em que o programa não for iniciado com a palavra public, ele pode ser gravado com qualquer nome que não
viole os princípios de nomenclatura do sistema operativo.

Exemplo 1

Vamos supor que tivéssemos o texto apresentado na figura abaixo em um editor de textos.

1
A iniciação do programa com a palavra public não é obrigatória, isto é, é possível iniciar um programa sem a
indicação da palavra public;
Page | 3 Ficha 5
Para transformar este texto em um programa JAVA seria necessário gravá-lo em um ficheiro com nome
MeuPrimeiroPrograma.java; depois disso, ele devia ser compilado usando a instrução:

Para executar este programa (após a sua compilação) bastaria executar a instrução:

Nota: Ao compilar um programa, o compilador JAVA cria um ficheiro com extensão “class”; o nome deste ficheiro
coincide com o nome do programa. No exemplo acima, após a execução do comando javac, é criado um ficheiro
com nome “MeuPrimeiroPrograma.class”

FICHEIROS JAVA COM MAIS DE UM PROGRAMA


É possível criar mais de um programa (classe) dentro do mesmo ficheiro java. Neste caso, cada programa deve
possuir o seu próprio bloco, isto é, deve iniciar com abrir chaveta “{” e terminar com fechar chaveta “}”. O próximo
programa só pode iniciar após o fecho do programa anterior.

Em situações em que temos mais de um programa num único ficheiro, ao compilar o ficheiro são gerados tantos
ficheiros “class” quanto o número de programas definidos no ficheiro java.

Exemplo 2

O código apresentado na figura abaixo, representa um ficheiro contendo três programas, nomeadamente,
ProgramaA, ProgramaB, e ProgramaC.

Page | 4 Ficha 5
Ao compilar este programa, serão gerados três ficheiros com extensão “class”, nomeadamente: ProgramaA.class,
ProgramaB.class e ProgramaC.class.

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 Conjunto


Int Conjunto de todos os número inteiros que estejam no
intervalo [-2.147.483.648, 2.147.483.647]
Float Conjunto de todos os número inteiros que estejam no
intervalo [-1.40239846e-46, 3.40282347e+38]
Char Caractere pertencente ao conjunto caracteres
alfanumérico;
boolean Conjunto composto apenas por dois valores: true e
false;
Byte Conjunto de todos os números inteiros no conjunto [-
128, 127]
Long [-263, 263-1]
Double Conjunto de todos os números de vírgula flutuante
pertencentes ao intervalo [4.94065645841246544e-
324, 1.7976931348623157e+308]
Short Conjunto de todos os número inteiros que estejam no
intervalo [-32.768, 32.767]

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

Page | 5 Ficha 5
informações dos nossos programas. Esses dados podem ser definidos pelos programadores ou gerados pelos
próprios programas quando estes estiverem em 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.

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.

 As variáveis declaradas no bloco principal podem ser acedidas (usadas) em qualquer método do
programa; as declaradas dentro de um método ou bloco de um método, só podem ser usadas no bloco
onde foram definidas;

 Dentro de um bloco só se pode definir uma e única variável com um determinado nome;

 O nome da variável deve obedecer as seguintes regras:

o Não pode iniciar por um dígito;

o Não pode conter nenhum carácter especial (ex: &, %, +, -, ?, “, ‘, {, }, [, ], :, *, ^, #, =, <, >, :, /, |, \,
etc.

o Embora não sejam permitidos caracteres especiais, existe uma excepção para os caracteres ‘$’ e
‘_’

o Não pode coincidir com nenhuma palavra reservada da linguagem JAVA (ex. int, long, boolean,
public, static, private, class, void, return, byte, char, if, else, switch, catch, case, do, while, ect.)

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. A uma variável pode-se atribuir um valor constante ou um valor de uma outra variável, esta deve ser
sempre do mesmo tipo da variável a que se atribui ou de tipos de dados compatíveis.

Adicionalmente, o java permite que as variáveis sejam inicializadas no momento da sua declaração, para isso,
basta atribuir à variável declarada o valor de inicialização logo após a declaração da mesma:

Page | 6 Ficha 5
Onde: valor é o valor inicial que se pretende atribuir à variável.

Exemplo 1

No programa apresentado na figura seguinte podemos ver a declaração de várias variáveis.

Neste exemplo estão declaradas 10 variáveis;

Na linha 2, declara-se uma variável “numero1” e a ela atribui-se a ela o valor 1;

Na linha 3, temos uma declaração de três variáveis do tipo byte;

Na linha 4 temos uma declaração simples de uma variável de nome “numero” do tipo inteiro; note que no início
aparece a palavra reservada static. Esta palavra indica que esta variável poderá ser usada em contexto estático 2.
Sempre que uma variáveis declarada no bloco principal for invocada dentro de um método static, ela deve
obrigatoriamente ser declarada indicando a palavra static no início.

As variáveis declaradas nas linhas 2, 3 e 4, foram declaradas no bloco principal do programa, logo, elas podem ser
acedidas em qualquer bloco do programa “DeclaracaoDeVariavaeis”.

Na linha 7, temos uma declaração de uma variável de tipo boolean que é identificada por “b”;

Na linha 8 declara-se duas variáveis (d1, d2) do tipo double; a segunda variável atribui-se o valor inicial 1.5;

Na linha 10 declaram-se duas variáveis do tipo “char”, a primeira atribui-se o valor ‘a’. Note que, 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.

2
Mais tarde iremos abordar com mais profundidade o que significa contexto estático.
Page | 7 Ficha 5
Na linha 12, temos uma atribuição do valor “false” à variável “b” do tipo boolean;

Na linha 13, atribui-se à variável numero (declarada na linha 4) o valor 127;

Na linha 14, atribui-se à variável char2 (declarada na linha 11) o valor ‘e’;

Finalmente, na linha 16 temos uma declaração de uma variável do tipo float a qual se atribui 2.125 como valor.
Note a presença da letra f após o valor! A indicação desta letra é obrigatória sempre que se atribui um numero de
virgula flutuante a uma variável do tipo float.

Exemplo 2

No código seguinte identifique as violações cometidas na declaração e atribuição de valores a variáveis.

Resposta:

O código apresentado possui as seguintes violações:

Na linha 3, declara-se a variável “i” e não se especificou o ponto e vírgula para indicar o fim da declaração;

Na linha 11, atribui-se um valor errado a uma variável do tipo char. A um char só se pode atribuir um caracter
entre apóstrofos.

Linha 13, usou-se uma palavra reservada como nome duma variável;

Linha 15, 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).
Page | 8 Ficha 5
Na linha 16 declara-se uma variável com um nome já usado neste bloco.

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. Tal como acontece com as variáveis, 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 duma constante pode ser feira de várias formas dependendo do contexto em que ele for definido.

A definição da constante na sua forma mais simples é apresentada abaixo:

Onde TIPO_DE_DADO : É o tipo de dados da constante


nome_constante : É o nome da constante
valor_da_constante : É o valor da constante

EXERCÍCIOS
1. Crie um programa simples no qual deverás declarar as seguintes variáveis:

a. 3 variáveis do tipo char;

b. Duas variáveis capazes de guardar notas de um estudante;

c. Um Variável capaz de guardar o sexo de um indivíduo. (Nota: suponha que o sexo só pode ser F
ou M)

d. Um variável para guardar o número de olhos de todos os estudantes de uma turma;

2. 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 obtidos nos testes 1 e teste2
c) O seu sexo e do seu parceiro
d) O número de teus olhos
3. 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:

Page | 9 Ficha 5
CASTINGS
Casting é o mecanismo pelo qual se extrai uma parte de um valor de um determinado tipo de dados. 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. O casting é feito com a especificação do tipo de dados, da parte que se pretende extrair, entre parentes. Esta
especificação é feita imediatamente anterior ao valor (ou à variável) do qual se faz a extracção. A sintaxe do
casting é apresentada a seguir.

Onde

 TIPO_DE_DADOS é o tipo de dados da parte que se pretende extrair;

 Valor é o valor (específico ou variável) do qual se pretende fazer a extracção.

Conforme referido antes, o casting só é possível se o valor for convertível ao tipo de dados extraído. Abaixo
encontra-se a tabela de convertibilidade entre os diversos tipos de dados primitivos.

Tipo de dados de origem Tipo de dados destino


Double int, char, byte, float, long
Float long, char, byte
Long int, char, byte
Int char, byte
Char int, byte

Page | 10 Ficha 5
Nota !
1. O casting de valores de vírgula flutuante (double e float) em valores do inteiro(int, long, byte) resultará na
extracção da parte inteira do valor inicial;

Exemplo  (int) 2.5 resulta em 2;


 (int) 4.75 resulta em 4.

2. O casting de valores inteiros em caracteres resultará no carácter correspondente ao valor ASCII do valor
especificado pelo número.
Exemplo  (char) 48: resulta no carácter 0, pois o valor ASCII do 0 é 48;
 (char) 50: resulta no carácter 2, pois o valor ASCII do 2 é 50

3. O casting de caracteres (char) para valores inteiros, resultará no valor ASCII correspondente ao carácter
convertido.
Exemplo  (int) ‘a’: resulta no inteiro 97, pois o valor ASCII do a é 97;
 (int) ‘1’: resulta no inteiro 49, pois o valor ASCII do 1 é 49;
.
4. Alguns castings acontecem automaticamente, isto é, sem que o programador precise de especificar o
comando de casting. Estes castings acontecem naquelas situações em que efectuamos uma divisão entre
valores inteiros. Nesta situação, independentemente do resultado da divisão, o valor será sempre inteiro.
Exemplo  int x = 3/2; o resultado será a parte inteira da divisão de 3 por 2, portanto 1;
 byte b = 12/5; o resultado será a parte inteira da divisão de 12 por 5, portanto 2;
 short sh = 9/2; o resultado será a parte inteira da divisão de 9 por 2, portanto 4;

EXERCÍCIOS
Considere a declaração de variáveis ilustrada na figura abaixo.

Fig1.

Agora diga, que resultado se obtém em cada casting apresentado abaixo:

Page | 11 Ficha 5
Page | 12 Ficha 5

You might also like