Newbyte98
23-11-2014, 23:01
Salve a tutti, :)
vorrei porvi delle domande che riguardano il linguaggio Java, e più precisamente if (else) e switch:
- Quale dei due è più veloce?
- In che condizioni è meglio usare uno invece dell'altro?
Ad esempio:
if (a == 1)
{
// istruzioni
}
else // Che poi non so se è meglio creare if nidificati o in cascata in questo caso... secondo voi?
{
if (a == 2)
{
// istruzioni
}
}
// oppure
switch (a)
{
case 1:
// istruzioni
break;
case 2:
// istruzioni
break;
}
Quale conviene usare (non mi interessa la facilità di lettura, mi interessa l'efficienza)?
So anche che esiste in Java la possibilità di fare cose del genere (io vengo dal Pascal quindi capitemi se questa cosa che per me è eccezionale in realtà non lo è):
boolean c1 = true;
boolean c2 = true;
boolean c3 = false;
if(c1) {
// il blocco viene eseguito
} else if(c2) {
// il blocco non viene eseguito anche se 'c2' è 'true'
}
if(c3) {
// il blocco non viene eseguito perché 'c3' è 'false'
} else if(c2) {
// il blocco viene eseguito, poiché 'c2' è 'true' mentre 'c3' è 'false'
}
E' uguale allo switch? Come funzionamento intendo... me lo potreste spiegare?
Grazie MILLE a chi risponderà a tutte le mie domande :D e grazie comunque a chi mi aiuterà in maniera minore :)
ps: ma perché è stata creata questa distinzione, uno non bastava??? :wtf:
vorrei porvi delle domande che riguardano il linguaggio Java, e più precisamente if (else) e switch:
- Quale dei due è più veloce?
- In che condizioni è meglio usare uno invece dell'altro?
Ad esempio:
if (a == 1)
{
// istruzioni
}
else // Che poi non so se è meglio creare if nidificati o in cascata in questo caso... secondo voi?
{
if (a == 2)
{
// istruzioni
}
}
// oppure
switch (a)
{
case 1:
// istruzioni
break;
case 2:
// istruzioni
break;
}
Quale conviene usare (non mi interessa la facilità di lettura, mi interessa l'efficienza)?
So anche che esiste in Java la possibilità di fare cose del genere (io vengo dal Pascal quindi capitemi se questa cosa che per me è eccezionale in realtà non lo è):
boolean c1 = true;
boolean c2 = true;
boolean c3 = false;
if(c1) {
// il blocco viene eseguito
} else if(c2) {
// il blocco non viene eseguito anche se 'c2' è 'true'
}
if(c3) {
// il blocco non viene eseguito perché 'c3' è 'false'
} else if(c2) {
// il blocco viene eseguito, poiché 'c2' è 'true' mentre 'c3' è 'false'
}
E' uguale allo switch? Come funzionamento intendo... me lo potreste spiegare?
Grazie MILLE a chi risponderà a tutte le mie domande :D e grazie comunque a chi mi aiuterà in maniera minore :)
ps: ma perché è stata creata questa distinzione, uno non bastava??? :wtf: