/ / Je príkaz "If" rovnaký ako výraz "Switch statement" v jazyku Java? - java

Je príkaz "If" presne rovnaký ako výraz "Switch statement" v jazyku Java? - java

Výkon stranou, pýtam sa, či existujú určité situácie, kedy môže byť použitý iba príkaz If a nie vyhlásenie Switch a naopak?

Rovnako ako sú, sú úplne zameniteľné? Mohol by som vymeniť celú časť kódu z príkazov Prepnúť do príkazov If a naopak, ak by som tak chcel, alebo by to porušil konkrétne programy?

Nie, že by som chcel, ale len teoreticky a zvedavo, pretože som pre Coding novú a zaujímalo ma to.

Nemohla som nájsť odpoveď, ktorú som hľadala, a preto sa ospravedlňujem, ak je to duplikát.

odpovede:

4 pre odpoveď č. 1

Zásadne sa líšia v tom, čo môžu robiť - if vyhlásenia môžu skontrolovať akúkoľvek logiku, ktorú môžete oddeliť a boolean hodnota, nejakým spôsobom, zatiaľ čo switch výkazy porovnávajú presné hodnoty pre každý prípad - viď dokumenty pre podrobnosti.

Príkaz if-then-else môže otestovať výrazy založené na rozsahu hodnôt alebo podmienok, zatiaľ čo príkaz prepínača testuje výrazy založené iba na jedinom celočíselnom, vyčíslenom alebo objektovom reťazci.

To znamená, že ak chcete urobiť zložitejšiu logiku, ako je to, či je táto hodnota rovnaká ako toto číslo, enum alebo reťazec "pre každý prípad, potrebujete if (alebo iný spôsob riadenia toku) namiesto a switch.

Jednoduchým príkladom je kontrola, či je číslo viac ako 10, ale menej ako 9000.

if (value > 10 && value < 9000) {
...
}

Prevedenie tohto prepínača na prepínač by znamenalo robiť niečo bláznivé, ako keby mal prípad za každú možnú hodnotu viac ako 10, ale menej ako 9000)