Professional Documents
Culture Documents
Ficha 2 Java
Ficha 2 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
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:
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.
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.
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.
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”
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.
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.
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.
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 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.)
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
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 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
Resposta:
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.
EXERCÍCIOS
1. Crie um programa simples no qual deverás declarar as seguintes variáveis:
c. Um Variável capaz de guardar o sexo de um indivíduo. (Nota: suponha que o sexo só pode ser F
ou M)
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:
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
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.
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;
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.
Page | 11 Ficha 5
Page | 12 Ficha 5