Funções e parâmetros
Introdução à Programação
André L. Santos
Funções
Em matemática, uma função f(x) associa um argumento x um
valor. Por exemplo:
f(x) = x2
f(3) = 9
Em programação, o conceito de função relaciona-se com o
conceito matemático.
static int square(int x) {
return x * x;
}
Funções: declaração
De modo a que possamos utilizar uma função, esta tem que ter
um nome. O nome da função deve indicar aquilo que a função
calcula.
static int square(int x) {
...
}
● Uma função é declarada numa assinatura onde é definido o
nome, o tipo de retorno, e os parâmetros da função.
○ A definição da função (corpo) é dada entre as chavetas.
Funções: parâmetros e argumentos
static int square(int x) {
...
}
● x é um parâmetro de tipo inteiro (int)
○ Em termos matemáticos, diriamos que o domínio da
função é o conjunto dos inteiros.
○ 0, 2, 3, -1 são possíveis argumentos para a função.
Tipos primitivos
int
Inteiros
1, 2, -1, 0, 70000
double
char
boolean
Decimais
3.14, 0.0, -1.2
Carateres
'a', '?', '5', '_'
Booleanos
true, false
...
...
...
Conversão entre tipos numéricos
● int para double
(double) 8
→ 8.0
● double para int
Esta conversão não corresponde a um arredondamento. O
número decimal é truncado.
(int) 7.4 → 7
(int) 7.8 → 7
Funções: parâmetros e argumentos
Uma função pode ter vários parâmetros, por exemplo:
static int sum(int a, int b) {
...
}
● (2, 3), (-1, -3), (10, 20) são pares de possíveis argumentos
para a função.
Operadores aritméticos
+
*
Multiplicação
/
Divisão
%
Resto da divisão inteira
Adição
Subtracção
O operador de divisão, ao ser utilizado com dois valores
inteiros, efectua uma divisão inteira (p.e. 7 / 3 = 2).
Funções: retorno
static int square(int x) {
return x * x;
}
● A assinatura da função define que o tipo de retorno é um
inteiro (int).
○ Em termos matemáticos, diriamos que o contradomínio da
função é o conjunto dos inteiros.
○ O valor devolvido pela função tem que ser compatível (um
número inteiro neste caso).
● A expressão x * x calcula o quadrado de x, e a instrução
return devolve o resultado desse cálculo.
Operadores relacionais
==
!=
>
>=
<
<=
Igual a
Diferente de
Maior que
Maior ou igual
Menor
Menor ou igual
Operadores lógicos
II
&&
!
Disjunção (ou)
Conjunção (e)
Negação
Funções: retorno
static boolean isEven(int n) {
return n % 2 == 0;
}
● Esta função verifica se um dado número n é par.
● O tipo de retorno é booleano (boolean), e logo, a função
deverá devolver verdadeiro (true) ou falso (false).
● O resultado da expressão n % 2 irá ser 0 ou 1. Caso seja
igual a zero (== 0) então a expressão n % 2 == 0 é
verdadeira, caso contrário é falsa. Esta avaliação
determinará o valor retornado.
Funções em Java
As funções em Java são obrigatoriamente definidas dentro de
módulos designados por classes.
class Functions {
static int square(int x) {
return x * x;
}
static boolean isEven(int n) {
return n % 2 == 0;
}
...
}
Classes estáticas
Em Java, o código das classes têm obrigatoriamente que ser
definido num ficheiro com o mesmo nome e extensão .java.
Functions.java
class Functions {
...
}
Embora em Java todos os módulos sejam designados por
classes, os mesmos podem ter propósitos bastante
diferentes. Designaremos por classe estática uma classe que
só contém métodos estáticos (static ...). Mais à frente
abordaremos classes de objectos.
Download

Funções e parâmetros - iscte-iul