Linguagem Java
1 Formador João Fragoso
Estrutura da Programação JAVA
Implica sempre a definição de uma classe.
Implica sempre um método (função) que contém as
instruções a executar.
2 Formador João Fragoso
Vantagem em Desenvolver em Java
Portabilidade: É possível correr aplicações Java em
plataformas distintas sem necessidade de haver nova
compilação.
Orientação a Objectos: Permite uma ordenação lógica
dos programas e também a reutilização do código.
Facilidade de Aprendizagem: Foi objectivo, desde a
sua criação, que fosse fácil de aprender.
Segurança: O Java não efetua nenhum tipo de gestão ou
de alocação de memória ao nível da compilação.
3 Formador João Fragoso
Cometários
A informação entre os caracteres de comentário será
ignorada pelo programa:
Linha:
//isto é um comentário e inicia com duas barras.
int valor; // e pode estar no final da linha
Bloco:
/* Comentário em bloco
Aceita múltiplas linhas
*/
4 Formador João Fragoso
Convenções
Variáveis e métodos começam com letra minúscula:
variável
Classes e interfaces começam com letra maiúscula:
Classe
Se for um nome composto por mais de uma palavra,
cada nova palavra começa com letra maiúscula:
variávelComNomeComposto
ClasseComNomeComposto
5 Formador João Fragoso
Tipos Principais de Variáveis
Uma variável é um espaço que reservamos em memória
onde guardamos informação para usar mais tarde.
Cada variável só aceita um tipo de dados.
6 Formador João Fragoso
Constantes
São valores que não mudam durante a execução do programa.
public: torna a constante acessível fora da classe.
static: permite que a constante pertença à classe e não a uma instância.
final: impede que o valor seja alterado após ser atribuído.
int: tipo da constante (pode ser String, double, etc.).
LIMITE_IDADE: por convenção, constantes usam letras maiúsculas com _ para
separar palavras.
7 Formador João Fragoso
Operadores
Atribuição:
Feita através do operador “=”:
<identificador> = <valor>;
Aritméticos: Efetuam operações aritméticas em um ou
mais tipos primitivos.
Operador Nome Exemplo
+ Adição 7+10
- Subtração 8-2
* Multiplicação 0.27*3
/ Divisão 100/40
% Módulo 57%5
8 Formador João Fragoso
Operadores
Incremento e Decremento:
Incremento é dado pelo operador ++ e o decremento pelo
operador --;
9 Formador João Fragoso
Tipos de Dados - Conversões
As conversões podem ser:
Implícitas: Converte automaticamente de um tipo
menor para um tipo maior (sem perder informação).
Explícitas: Não converte automaticamente, e o
programador tem de forçar a conversão (com perda de dados
possível).
10 Formador João Fragoso
Saída de Dados – Método println()
A sigla "println" significa "print line", ou seja, imprime
uma linha de texto e, no final, adiciona automaticamente
uma quebra de linha. É possível combinar texto com
variáveis usando o operador +, que serve para
concatenar (juntar) diferentes partes da mensagem.
11 Formador João Fragoso
Saída de Dados – Método printf()
A sequência entre aspas corresponde à informação que é
mostrada, onde pode existir texto comum e códigos de
controle. Os códigos de controle, são precedidos por um
% e são aplicados aos argumentos, na mesma ordem em
que aparecem. Cada código de controle tem um
argumento correspondente.
12 Formador João Fragoso
Códigos de Controlo
13 Formador João Fragoso
printf() Vs println()
14 Formador João Fragoso
Receber dados do utilizador
Feito através da classe Scanner, disponibilizado pelo pacote
de classes [Link]
Métodos da classe Scanner para diferentes tipos de entradas:
next() Usado para receber cadeias de caracteres sem
espaços em branco
nextDouble() Usado para receber valores reais
nextInt() Usado para receber valores inteiros
nextLine() Usado para receber cadeias de caracteres
15 Formador João Fragoso
Receber dados - Exemplo
Criar um objeto do tipo Scanner para receber informação:
Lendo valor inteiro:
Lendo valor real:
Lendo strings:
16 Formador João Fragoso
Receber dados do tipo Char
A classe Scanner não oferece um método para a leitura de dados
do tipo caractere (char).
Podemos utilizar o método charAt(int index) que retorna o
caractere localizado numa posição específica (índice) da
string.
Ajuda a transformar um caracter introduzido em char.
17 Formador João Fragoso
Limpeza buffer
Um buffer é uma área de memória que é utilizada para o
armazenamento temporário de dados que deve ser sempre
limpa entre a leitura dum valor numérico e antes da leitura
de um valor do tipo String:
18 Formador João Fragoso
Exercício
➢ Crie um programa em Java que calcule a área e o
perímetro de um retângulo. As dimensões da altura e da
largura são pedidas ao utilizador.
19 Formador: João Fragoso
Operadores
Relacionais: Testes e condições de entrada no fluxo do
programa.
Operador Nome Exemplo
== Igual 10==10
!= Diferente 8!=2
< Menor 4<6
> Maior 10>9
<= Menor ou Igual 3<=3
>= Maior ou Igual 5>=3
20 Formador João Fragoso
Estruturas de Seleção
Uma estrutura de seleção permite a escolha de um grupo de
ações (ou bloco de ações) a ser executado quando
determinadas condições, representadas por expressões
lógicas ou relacionais, são ou não satisfeitas.
As estruturas de seleção são:
if/else (seleção simples)
switch (seleção múltipla)
21 Formador João Fragoso
Estruturas de Seleção – If…else
Uma via - IF Duas vias – IF…ELSE
22 Formador João Fragoso
IF Encadeados
23 Formador João Fragoso
Operadores
Lógicos: Testes e condições de entrada no fluxo do
programa.
Operador Nome Exemplo
&& E (0 < 2) && ( 10 > 5)
|| OU ( 10 >11 ) || (10 < 12 )
! Negação !( 1= = 4 )
?: Condicional (condição)? Se_verdadeiro : se_falso
Atribuição Composta:
a += b; // Equivalente a: a = a + b;
a *= 3; // Equivalente a: a = a * 3;
24 Formador João Fragoso
Operadores Lógicos - Exemplo
25 Formador João Fragoso
Operador Ternário
Recurso com objetivo similar ao do if/else, mas que é
codificado em apenas uma linha.
Ao avaliar a expressão booleana, caso ela seja verdadeira, o
código 1 será executado, caso contrário é o código 2 a ser
executado.
26 Formador João Fragoso
Estruturas de Seleção – Switch
27 Formador João Fragoso
Estrutura de Repetição
Estrutura de controle de fluxo e execução que permite
repetir diversas vezes o mesmo código.
Repetem um bloco de código enquanto uma determinada
condição for verdadeira.
As estruturas de repetição são:
while
do/while
for
28 Formador João Fragoso
Estrutura de Repetição - While
Primeiro testa, depois executa:
29 Formador João Fragoso
Estrutura de Repetição – do…While
Primeiro executa, depois testa. Executa pelo menos 1 vez.
30 Formador João Fragoso
Estrutura de Repetição – For
Primeiro testa, depois executa.
Normalmente utilizado em situações onde há contagem.
31 Formador João Fragoso
Comando break
O comando break termina imediatamente o ciclo atual (for,
while, do-while) ou um bloco switch.
Usado quando é necessário parar a execução de um ciclo
assim que uma condição é satisfeita.
Nota: Após o break, a execução continua após o bloco do ciclo.
32 Formador João Fragoso
Comando continue
O comando continue interrompe apenas a iteração atual,
avançando para a próxima.
Usado quando se quer ignorar parte do ciclo com base numa
condição, mas continuar a repetir.
Nota: continue não termina o ciclo, apenas salta a iteração atual.
33 Formador João Fragoso
Funções – Declaração e Chamada
▪ Uma função é um bloco de código que só é executado quando é
chamada e se pretende obter um resultado.
▪ Pode ser chamado várias vezes durante a execução do programa.
▪ Uma função pode receber dados (parâmetros) quando é chamada.
▪ Uma função pode retornar dados como resultado.
Função
Chamada de Função
34 Formador João Fragoso
Passagem de Argumentos
▪ As funções podem receber dados para serem trabalhados dentro delas
▪ Os argumentos são inseridos após o nome da função entre () e caso se
pretenda adicionar mais, basta separá-los por vírgulas.
▪ Uma função deve ser chamada com o número correto de argumentos,
caso contrário dá erro.
35 Formador João Fragoso
Retornar Valores
Permite que a função devolva algo para a execução do
programa
36 Formador João Fragoso
Funções com Múltiplos Retornos
Na chamada da função, os valores são armazenados num
array e são exibidos separadamente com base no seu
índice.
37 Formador João Fragoso
Variáveis Locais e Globais
Maneira como as variáveis são vistas dentro da Classe
38 Formador João Fragoso
Comparação
39 Formador João Fragoso
Arrays (Vetores)
Sequência de vários valores do mesmo tipo armazenados
sequencialmente na memória
Cada elemento desta sequência pode ser acedido individualmente
através de um índice dado por um número inteiro
O vetor tem tamanho fixo durante a execução do programa,
definido na declaração.
Elemento do
Índice um índice oito
Vetor de tamanho 10
40 Formador: João Fragoso
Arrays – Declaração e Inicialização
Nota: Caso o número de valores introduzidos seja menor do que n, os restantes
elementos serão inicializados a zero.
41 Formador: João Fragoso
Array - Acesso aos Elementos
Atribuir o valor 19 à primeira posição do vetor:
Imprimir para o terminal o primeiro elemento do vetor:
Guardar valor inserido pelo utilizador na segunda posição:
42 Formador: João Fragoso
Array – Como Percorrer
Percorrer um array:
Nota: O método length retorna o tamanho do array.
43 Formador: João Fragoso
Matrizes
Arrays Multidimensionais
Declaração da Matriz:
Tabela de inteiros positivos de duas dimensão (2 linhas, 3 colunas )
44 Formador: João Fragoso
Matrizes
Inicialização de matriz:
Percorrer uma matriz:
[Link]: número de linhas
matriz[i].length: número de colunas da linha i
45 Formador: João Fragoso