name: portada class: portada-slide, center, middle # Introducció a funcions estàtiques .footnote[Joan Puigcerver Ibáñez] --- layout: true class: regular-slide .right[.logo[]] --- # Operacions matemàtiques - Si volem fer operacions matemàtiques complexes podem usar les funcions definides a Math. - Arrel quadrada - double sqrt(double valor) - Potència - double pow(double va) - Mínim - int min(int a, int b) - Número aleatòri - double random() - [Math JavaDoc](https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html) --- # Java Math - Com que les funcions no estan definides dins de la classe hem de fer - Dir on és la classe math amb un import - El crea sol l'Intellij amb alt+enter sobre _Math_. ``` import java.lang.Math ``` - Fer la crida a les funcions amb _Math._ al davant. - Nom de la funció i paràmetres. ``` double sqrt = Math.sqrt(value); double pow = Math.pow(value, value); double random = Math.random(); ``` --- # Java Math - Un altre opció es definir un import de la funció a utilitzar (el crea sol l'Intellij) - El crea sol Intellij amb alt-enter sobre la funció ``` import static java.lang.Math.sqrt; import static java.lang.Math.pow; ``` - Fer la crida a les funcions sense _Math._ al davant. ``` double sqrt = sqrt(value); double pow = pow(value, value); ``` --- # Exercicis - [Exercici PowerOf](exercicis/04_introduccio_a_funcions.html)
--- # Funcions de Char - boolean isDigit(char ch) - boolean isLetter(char ch) - boolean isLowerCase(char ch) - boolean isUpperCase(char ch) - char toLowerCase(char ch) - char toUpperCase(char ch) --- # Funcions - Les funcions són conjunts d’instruccions. - Quan fem una crida a una funció, l'ordinador que completarà (o executarà) totes les instruccions d'aquest conjunt abans de continuar amb la resta. --- # Funcions Exercici robot ```pseudocode fer 5 vegades: moure_peça_si_n'hi_ha() avançar def moure_peça_si_n'hi_ha: si es detecta peça: moure_peça incrementar contador de peces imprimir contador ``` --- # Funció - Crida - Declaració --- # Funcions declaració - Per declarar una funció hem de definir: - Valor de retorn - Parametres d'entrada - Identificador (o nom) - Mateixes normes que identificadors de variables - Instruccions --- # Funcions declaració ## Funció ```java public static int rectangleArea(double length, double width){ return length * width; } public static void main(String[] args){ double area = rectangleArea(4.5, 2.5); } ``` --- # Funcions declaració ## Funció sense retorn (void) ```java public static void sayHello(){ system.out.println("Hello"); } public static void main(String[] args){ sayHello(); } ``` --- # Funcions - avantatges - Reaprofitar codi - Estructurar el codi - Els mètode no haurien de tenir més de 30 línies de codi de mitjana (sense contar línies buides i comentaris). --- # Funcions - Per ara utilitzarem funcions per englobar càlculs. - Una funció només pot retornar un valor.