Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF1: Estructura alternativa»
De wikiserver
Línia 3: | Línia 3: | ||
*Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions. | *Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions. | ||
− | <source lang=" | + | <source lang="java"> |
instruccions del programa | instruccions del programa | ||
if (expressió booleana) { | if (expressió booleana) { | ||
Línia 13: | Línia 13: | ||
*La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no | *La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no | ||
− | * | + | *S’executarà i la execució continuarà amb les sentencies que hi hagi a continuació del bloc if. |
Exemple: | Exemple: | ||
− | |||
− | |||
− | edat = | + | |
− | if edat >= 18 | + | |
− | + | ||
− | if edat < 18 | + | public class Descompte { |
− | + | ||
+ | public static void main(String[] args) { | ||
+ | //Es fa un descompte del 8%. | ||
+ | final double DESCOMPTE = 0.08; | ||
+ | //Es fa descompte per compres d’un mínim de 100 euros. | ||
+ | final float COMPRA_MIN = 100; | ||
+ | Scanner lector = new Scanner(System.in); | ||
+ | double preu, descompteFet; | ||
+ | System.out.print("Quin és el preu del producte, en euros? "); | ||
+ | preu = lector.nextFloat(); | ||
+ | lector.nextLine(); | ||
+ | if (preu >= COMPRA_MIN) { | ||
+ | descompteFet = preu * DESCOMPTE; | ||
+ | preu = preu - descompteFet; | ||
+ | } | ||
+ | System.out.println("El preu final per pagar és de " + preu + " euros."); | ||
+ | } | ||
+ | } | ||
+ | <source lang="java"> | ||
+ | import java.util.Scanner; | ||
+ | |||
+ | public class MajorEdat { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | //Decidir si una persona es major de edat. | ||
+ | final int MAJOREDAT = 18; | ||
+ | Scanner lector = new Scanner(System.in); | ||
+ | System.out.print("Quina edat tens?"); | ||
+ | edat = lector.nextInt(); | ||
+ | if edat >= 18{ | ||
+ | System.out.println("Ets major d'edat"); | ||
+ | |||
+ | } | ||
+ | if edat < 18{ | ||
+ | System.out.println("Ets menor d'edat"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</source> | </source> | ||
Línia 31: | Línia 66: | ||
<source lang="java"> | <source lang="java"> | ||
− | + | import java.util.Scanner; | |
− | edat = | + | |
− | if edat >= 18 | + | public class MajorEdat { |
− | + | ||
− | else | + | public static void main(String[] args) { |
− | + | //Decidir si una persona es major de edat. | |
+ | final int MAJOREDAT = 18; | ||
+ | Scanner lector = new Scanner(System.in); | ||
+ | System.out.print("Quina edat tens?"); | ||
+ | edat = lector.nextInt(); | ||
+ | if edat >= 18{ // S'executa si la condició de l'if és falsa | ||
+ | System.out.println("Ets major d'edat"); | ||
+ | |||
+ | } | ||
+ | else{ | ||
+ | System.out.println("Ets menor d'edat"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</source> | </source> | ||
<source lang="java"> | <source lang="java"> | ||
− | + | // Si necessitem comprovar un altre valor de l'edat podem utilitzar elif | |
+ | |||
+ | import java.util.Scanner; | ||
− | edat = | + | public class MajorEdat { |
− | if edat >= 18 | + | |
− | + | public static void main(String[] args) { | |
− | + | //Decidir si una persona es major de edat. | |
− | + | final int MAJOREDAT = 18; | |
− | else | + | Scanner lector = new Scanner(System.in); |
− | + | System.out.print("Quina edat tens?"); | |
+ | edat = lector.nextInt(); | ||
+ | if edat >= 18{ // S'executa si la condició de l'if és falsa | ||
+ | System.out.println("Ets major d'edat"); | ||
+ | |||
+ | } | ||
+ | else if (edat >= 16) { // es comprova només si la condició de l'if és falsa | ||
+ | System.out.println("Ets menor d'edat"); | ||
+ | |||
+ | } | ||
+ | else{ // S'executa només si la condició de l'elif és falsa | ||
+ | System.out.println("Ets menor d'edat"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
</source> | </source> | ||
*Es poden posar tants elif com necessitem | *Es poden posar tants elif com necessitem | ||
− | |||
<!-- | <!-- |
Revisió del 11:16, 5 oct 2020
Condicional if
- Permet decidir si en funció d’una condició cal o no executar una o un conjunt d’instruccions.
instruccions del programa
if (expressió booleana) {
Instruccions per executar si l’expressió avalua a true (cert)
}
resta d’instruccions del programa
- La condició te dues respostes possibles: Certa o Falsa. Si és certa s’executarà el procediment i sinó no
- S’executarà i la execució continuarà amb les sentencies que hi hagi a continuació del bloc if.
Exemple:
public class Descompte {
public static void main(String[] args) { //Es fa un descompte del 8%. final double DESCOMPTE = 0.08; //Es fa descompte per compres d’un mínim de 100 euros. final float COMPRA_MIN = 100; Scanner lector = new Scanner(System.in); double preu, descompteFet; System.out.print("Quin és el preu del producte, en euros? "); preu = lector.nextFloat(); lector.nextLine(); if (preu >= COMPRA_MIN) { descompteFet = preu * DESCOMPTE; preu = preu - descompteFet; } System.out.println("El preu final per pagar és de " + preu + " euros."); }
}
import java.util.Scanner;
public class MajorEdat {
public static void main(String[] args) {
//Decidir si una persona es major de edat.
final int MAJOREDAT = 18;
Scanner lector = new Scanner(System.in);
System.out.print("Quina edat tens?");
edat = lector.nextInt();
if edat >= 18{
System.out.println("Ets major d'edat");
}
if edat < 18{
System.out.println("Ets menor d'edat");
}
}
}
- Si entre els parèntesis es posa una expressió que no avalua un resultat de tipus booleà, hi haurà un error de compilació.
Condicionals else i elif
import java.util.Scanner;
public class MajorEdat {
public static void main(String[] args) {
//Decidir si una persona es major de edat.
final int MAJOREDAT = 18;
Scanner lector = new Scanner(System.in);
System.out.print("Quina edat tens?");
edat = lector.nextInt();
if edat >= 18{ // S'executa si la condició de l'if és falsa
System.out.println("Ets major d'edat");
}
else{
System.out.println("Ets menor d'edat");
}
}
}
// Si necessitem comprovar un altre valor de l'edat podem utilitzar elif
import java.util.Scanner;
public class MajorEdat {
public static void main(String[] args) {
//Decidir si una persona es major de edat.
final int MAJOREDAT = 18;
Scanner lector = new Scanner(System.in);
System.out.print("Quina edat tens?");
edat = lector.nextInt();
if edat >= 18{ // S'executa si la condició de l'if és falsa
System.out.println("Ets major d'edat");
}
else if (edat >= 16) { // es comprova només si la condició de l'if és falsa
System.out.println("Ets menor d'edat");
}
else{ // S'executa només si la condició de l'elif és falsa
System.out.println("Ets menor d'edat");
}
}
}
- Es poden posar tants elif com necessitem