Садржај
3 Променљиве, подаци, типови
3.5 Текстуални подаци (стрингови, ниске)
4 Гранања
4.7 Гранања - разни задаци
5 Петље
5.1 Врсте петљи
5.2 Наредбе break и continue
6 Статички методи
6.4 Корист од метода
7 Низови
7.2 Низови - вежбање
8 Матрице
9 Кориснички дефинисани типови
10 Фајлови

Наредба switch

У приручнику Увод у програмирање у програмском језику C# погледајте поглавље 7.2 (стране 179-186).


Из претходних лекција знамо да када имамо израз на чије различите вредности треба различито да реагујемо, проблем можемо да решимо надовезаним if наредбама. У специјалном случају, када је вредности израза за које смо заинтересовани најзгодније експлицитно набројати, можемо да користимо и наредбу switch.

Подсетимо се, општи облик ове наредбе је:

switch (izraz) {
    case vrednost1:
        naredbe1
        break;
    case vrednost2:
        naredbe2
        break;
     .
     .
     .
    case vrednostk:
        naredbek
        break;
    default:
        naredbe0
        break;
}

Наредба се извршава тако што се прво израчуна вредност израза, затим се међу набројаним вредностима vrednost1, vrednost2, … vrednostk проналази актуелна вредност израза и извршавају се наредбе наведене после пронађене вредности (до речи break). Ако актуелна вредност израза није међу наведеним, извршавају се наредбе наведене испод речи default.

Приликом писања switch наредбе, реч default и блок наредби после ње могу и да се изоставе. У том случају, ако актуелна вредност израза није међу наведеним, неће бити извршена ни једна наредба.

Реч switch у овом контексту значи скретница или пребацивач (а не прекидач, што је најчешће значење ове речи).

Пример - број:

Написати програм који учитава број од 1 до 5 и исписује тај број словима.

Можемо да употребимо switch наредбу на овај начин:

Приметимо да вредност израза не мора да буде број. Тип вредности која служи као скретница може да буде и знаковни тип (char), било који набројиви тип (enum) па чак и стринг. Могуће је, на пример, написати и овакав програм:

Употребу наредбе switch можете да увежбате на задацима који следе.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+