Цомпарисон Цхарт
Основа за поређење | ако друго | прекидач |
---|---|---|
Басиц | Која ће се изјава извршити зависи од излаза израза унутар иф наредбе. | Одлуку о извршењу одређује корисник. |
Екпрессион | иф-елсе изјава користи вишеструке изјаве за вишеструке изборе. | свитцх изјава користи један израз за вишеструке изборе. |
Тестирање | иф-елсе тест за једнакост као и за логички израз. | тест свитцх само за једнакост. |
Евалуација | иф израз вреднује цијели број, знак, поинтер или флоатинг-поинт тип или боолеан тип. | свитцх израз вреднује само знак или целобројну вредност. |
Секвенца извршења | Или ако се извршава наредба или се извршава наредба. | наредба свитцх извршава један случај за другим док се не појави прекидни израз или када се достигне крај наредбе свитцх. |
Дефаулт Екецутион | Ако је услов унутар ако су изјаве лажне, онда се подразумевано извршава наредба елсе ако је креирана. | Ако се услов унутар наредби свитцх не подудара са било којим од случајева, за ту инстанцу се извршавају подразумевани изрази ако је креиран. |
Уређивање | Тешко је уредити иф-елсе наредбу, ако се користи уграђени иф-елсе израз. | Лако је уређивати преклопне случајеве, јер се лако препознају. |
Дефиниција иф-елсе
Изјаве иф-елсе припадају селекцијским изјавама у ООП-у. Општи облик изјава иф-елсе је следећи
иф (израз) {статемент (с)} елсе {изјава (с)}
где су "иф" и "елсе" кључне речи, а изјаве могу бити једна изјава или блок изјава. Израз се процењује да је "труе" за било коју вредност која није нула и за нулу се процењује да је "фалсе".
Израз у изразу иф може садржати цијели број, знак, показивач, плутајућу точку или може бити боолеан тип. Изјава елсе је опционална у иф-елсе изразу. Ако се израз врати труе, наредбе унутар наредбе ако се изврши, и ако врати лажне изјаве унутар елсе наредбе се извршавају и, у случају да је наредба елсе није креирана, не изводи се акција, а контрола програма искаче изјаве иф-елсе.
Дозволите нам да разумемо са примером.
инт и = 45, ј = 34; иф (и == 45 & ј == 34) {цоут << "и ви бирате тамни цхоцлате"; пауза; цасе 2: цоут << "бирате слаткише"; пауза; цасе 3: цоут << "одаберете лоллипоп"; пауза; . . дефаулт цоут << "не изаберете ништа"; }
Овде, вредност "и" ће одлучити који ће се случај извршити, ако корисник даје вредност "и" осим 1, 2 или 3, тада се извршава подразумевани случај.
Кључне разлике између иф-елсе и свитцх
- Израз унутар иф изјава одлучује да ли ће извршити наредбе унутар блока или блока елсе. С друге стране, израз унутар свитцх наредбе одлучује који ће се случај извршити.
- Можете имати вишеструки иф израз за вишеструки избор извода. У прекидачу имате само један израз за вишеструке изборе.
- Иф-есле израз провјерава једнакост као и логички израз. С друге стране, пребаците провере само на једнакост.
- Изјава иф процењује цео број, карактер, показивач или тип с помичним зарезом или боолеан тип. С друге стране, израз свитцх користи само карактер или целобројни тип података.
- Секвенца извршења је као било која наредба под ако ће се извршити блок или ће се извршити наредбе у оквиру блоцк блоцк наредбе. С друге стране, израз у изразу свитцх одлучује који случај ће се извршити и ако не примијените бреак наредбу након сваког случаја, она ће се извршити до краја свитцх наредбе.
- Ако је израз изнутра ако су изговори лажни, извршава се изјава унутар блока елсе. Ако се израз унутар израза свитцх покаже лажним, онда се извршавају дефаулт изјаве.
- Тешко је уредити иф-елсе тврдње јер је досадан за праћење гдје је потребна корекција. С друге стране, лако је уређивати наредбе прекидача јер их је лако пратити.
Закључак:
Израз свитцх је лако уредити јер је створио одвојене случајеве за различите изјаве, док је у угњежденим иф-елсе изјавама постало тешко идентифицирати изјаве које треба уредити.