AULA TEÓRICA 4
Tema 3. Linguagem de programação de alto nível Java
LP Java. Estrutura de um programa em Java.
Identificadores. Variáveis e constantes.
Tipos de dados básicos (primitivos):
representação de números inteiros e decimais;
representação de valores lógicos.
representação de caracteres.
Classe String.
Expressões.
Operadores de incrementação e de decrementação unária de
variáveis.
Classe Math.
Conversões do tipo
Expressões lógicas
1
Linguagem de programação
Java
foi criada nos anos 90 com por uma equipe de programadores
chefiada por James Gosling, na empresa Sun Microsystems
com objectivo de criar uma nova LP que pudesse ser
executada em qualquer tipo do computador;
foi considerado um computador virtual que se imagina capaz
de executar um código constituído por instruções simples. Este
código é chamado por bytecode, pois é usado 1 byte para
representar cada instrução;
compilador de Java, ao contrário dos compiladores tradicionais,
não vai gerar código executável, mas sim bytecode;
é necessário que cada computador tenha um programa que
possa interpretar e executar bytecode. Ao conjunto de todos
os intérpretes disponíveis dá-se o nome de máquina virtual
Java (JVM- Java Virtual Machine). 2
1
3/5/2019
2
3/5/2019
Identificadores
Um identificador é um nome que é dado a um elemento do
programa, tal como uma constante, variável, subprograma ou
classe.
Os identificadores são compostos de letras (somente da língua
inglesa), dígitos, caracteres _ e $ em qualquer ordem, desde
que o primeiro caracter não seja um digito.
O Java distingue entre maiúsculas e minúsculas, ou seja, Max,
max e MAX são considerados identificadores diferentes.
É comum usar certas convenções para os identificadores:
• o nome de uma classe começa por maiúscula (Poligono);
• o nome de um subprograma(método) começa por minúscula
(por ex. main());
• o nome de uma variável começa por minúscula (cateto1);
• o nome de uma constante é todo em maiúsculas (TAXA). 6
3
3/5/2019
Variáveis
Uma variavel representa uma localização em memória do
computador que tem um nome atribuído pelo programador e
que vai servir para guardar informação de um determinado tipo.
O valor de uma variável pode variar durante a execução de um
programa.
A declaração de variáveis é obrigatória. A sintaxe da declaração
de variáveis é a seguinte:
tipo_dado nome_da_variavel;
ou tipo_dado nome_da_variavel=valor_inicial;
Segunda forma, alem de declarar, inicializa a variável com valor
fornecido.
7
Constantes
Constantes são os dados cujos valores se mantém inalterados
ao longo do programa.
A sintaxe de declaração de uma constante é a seguinte:
final tipo_de_dado NOME_DE_CONSTANTE = valor;
4
3/5/2019
5
3/5/2019
Instrução de atribuição
A atribuição permite armazenar um valor numa variável. Esse valor
pode ser fornecido directamente ou resultar do cálculo de uma
expressão.
6
3/5/2019
Representação de caracteres
O tipo char é usado para guardar caracteres individuais que
são representados internamente no computador pelos seus
códigos ASCII. A declaração de variáveis deste tipo é feita da
seguinte forma:
char letra; ou char letra = 'a';
O uso de caracteres é feito entre apóstrofos ' '. Por exemplo:
letra = 'M';
Uma vez que as variáveis do tipo char armazenam códigos, que
são números, é possível fazer algum tipo de aritmética com
estes variáveis, nomeadamente incrementações e
decrementações.
Tipo Memória ocupada Valores
char 16 bits Qualquer caracter pertencente ao Unicode
13
14
7
3/5/2019
Classe String
A classe String é uma das classes predefinidas da Java e serve para
manipular cadeias de caracteres.
Para criar declarar uma variável da classe String pode usar uma instrução
na forma abreviada:
15
Expressões
Uma expressão é uma sequência de operadores e de valores.
A linguagem Java tem definido um conjunto de operadores,
aritméticos e lógicos, que permitem a construção de
expressões.
Operador Prioridade Operação
* 1 Multiplicação
/ 1 Divisão
% 1 Resto da divisão
+ 2 Adição
- 2 Subtração
Operador divisão apresenta comportamentos diferentes em
função do tipo de operandos a que é aplicado. No caso de
algum dos operandos ser real (float ou double), o
resultado será também um número real. Por exemplo:
double x = 10/4.0; //x 2.5 16
8
3/5/2019
Exemplo:
conta++; //pós-incremento
conta--; //pós-decremento
ou ainda:
++conta; //pré-incremento
--conta; //pre-decrimento
A distinção entre as duas formas destes operadores, antes ou
depois do operando, só é relevante quando fazem parte de uma
expressão maior.
Por exemplo, supondo que a variável num tem o valor 7, a
expressão x = ++num; incrementa o valor de num (para 8)
e depois atribui-o a x (por isso x passa a ter o valor 8).
Se for x = num++; primeiro é feita a atribuição de num a x
(x fica com o valor 7) e só depois é que é feita a incrementação
de num.
18
9
3/5/2019
19
Classe Math
O JDK (Java Development Kit) inclui um largo conjunto de
classes e métodos que podem ser utilizados para variados fins.
10
3/5/2019
Conversões de tipo
O tipo do resultado de uma expressão aritmética depende do
tipo dos seus operandos. Se todos eles forem do mesmo tipo, o
resultado será também desse tipo. No caso contrário devem ser
feitas as conversões de tipo.
Algumas são feitas automaticamente e de modo a que não haja
perda de informação, pelo que nem todas as transformações
são possíveis.
A cadeia de conversão automática do compilador é a seguinte:
byte > short > int > long > float > double
Expressões lógicas
Existem tambem operadores relacionais e operadores lógicos.
Estes operadores permitem a construção de expressões que têm
como resultado um valor lógico, true ou false.
Operadores relacionais: >, <, >=, <=, == (igual a), != (diferente de)
Operadores lógicos: && (conjunção), || (disjunção), ! (negação)
O operador && tem dois operandos e devolve true apenas se ambos
os operadores forem true, caso contrário devolve false.
A B A && B A||B
F F F F
F T F T
T F F T
T T T T
11
3/5/2019
Referência bibliográfica:
António José Mendes; Maria José Marcelino.
“Fundamentos de programação em Java 2”. FCA. 2002.
Carriço, José; Carriço, António.
"Computadores, Tecnologias e sistemas de Informação- O Núcleo de Sistema“.
Centro de Tecnologias de Informação Ltd. Lisboa. 1997
Carriço, José; Carriço, António.
"Computadores, Tecnologias e sistemas de Informação- Periféricos, Internet e multimédia“.
Centro de Tecnologias de Informação Ltd. Lisboa. 1997.
Carriço, José; Carriço, António.
"Computadores, Tecnologias e sistemas de Informação- Tecnologias de Software“.
Centro de Tecnologias de Informação Ltd. Lisboa.1997.
Elliot Koffman; Ursula Wolz.
“Problem Solving with Java”. 1999.
John R. Hubbard.
“Theory and problems of programming with Java”. Schaum’s Outline series. McGraw-Hill.
H. Deitel; P. Deitel.
“Java, como programar”. 4 edição. 2003. Bookman.
Rui Rossi dos Santos.
“Programando em Java 2– Teoria e aplicações”. Axcel Books. 2004
23
12