I sottoprogrammi, a volte, sono così semplici che…
Operatore condizionale ternario
Consideriamo il metodo seguente per il calcolo del massimo tra due interi
int max2(int a, int b) { if(a >= b) return a; else return b; }
è troppo corto per dedicargli un sottoprogramma e è troppo lungo per ricopiare il codice ogni volta che serve…
if(a >= b) r=a; else r=b;
A questo scopo esiste l’operatore condizionale ternario che ha la sintassi
... risp = op1 ? op2 : op3;
e permette di riscrivere il codice precedente nella forma
int risp = (a >= b) ? a : b;
Per questi casi banali, ma molto frequenti, esistono i metodi predefiniti
Math.abs() Math.min() Math.max() ...
Metodi con risultato logico
Consideriamo il metodo seguente che decide se un numero è pari
boolean pari(int a) { if(a%2 == 0) return true; else return false; }
Può essere riscritto più semplicemente
boolean pari(int a) { return (a%2 == 0); }
oppure, direttamente…
boolean pari=(a%2 == 0);