Bună ziua și bun venit în această conferință Vreau să vorbesc despre declarația de comutare.
Este un fel de alternativă la o declarație if, dar de obicei este utilizată numai în situații specifice,
dar are o sintaxă plăcută pentru a face unele repetări în instrucțiunea If.
Deci, operatorul condițional și instrucțiunile atunci dacă altcineva facilitează scrierea programelor care
aleg între două alternative.
Este foarte ușor să puneți întrebări și să luați decizii.
Cu toate acestea, de multe ori un program trebuie să aleagă una din viața noastră veșnică și asta este în
esență dacă altceva dacă altceva dacă altceva dacă altceva dacă.
Dreapta.
Ea devine un fel de dezordonat pentru că puteți face în mod evident acest lucru cu instrucțiunea if atunci când aveți mai multe rândul
său este.
Dar ai putea avea o sută de ase.
Deci este plictisitor că este predispus la erori și este într-adevăr doar o durere în fund.
E ca și cum ai scrie o grămadă de cod de boilerplate.
Deci, alternativa la sintaxa și tot ce puteți face în comutatorul pe care îl puteți face într-un.
Dar este mai curat și este mai ușor să cântăriți într-o măsură mult mai eficientă.
Deci, atunci când valoarea unei variabile este comparată succesiv cu diferite valori, utilizați o declarație a comutatorului.
Și ce înseamnă asta dacă ai o instrucțiune if și apoi ai altceva dacă altceva dacă
altceva dacă altceva dacă altceva altceva dacă folosești o instrucțiune switch.
Acum, dacă aceste expresii plictisitoare sunt puțin mai complicate, nu puteți
folosi o instrucțiune switch, puteți utiliza doar instrucțiunea switch atunci când comparați cu o valoare ca o constantă.
Expresia nu poate fi atât de complicată, dar este mult mai convenabilă și foarte
eficientă să se folosească o instrucțiune de comutare în majoritatea limbilor.
În C este foarte frumos.
Singurul lucru pe care îl observă totul este că are multe limbi pe care să le construiască pe baza unui c.
Deci, probabil, dacă programați înainte ca o scenă să poată fi familiarizată cu multe
dintre aceste construcții, deoarece au ieșit inițial și C sau B toate acestea înainte de toate.
Deci, aici este sintaxa unei instrucțiuni de comutare.
Trebuie să comutați cuvântul cheie și apoi în interiorul comutatorului aveți aceste paranteze stânga și dreaptă, care este expresia,
așa că arată la fel ca instrucțiunea if la început, cu excepția pornirii cheii.
Aveți un cuvânt cheie.
Apoi, aveți suportul din stânga pentru parantezele din stânga necesare, brațul din stânga pornește corpul
comutatorului și vedeți un consola dreaptă care se termină la partea inferioară care sfârșește corpul comutatorului.
Celălalt lucru important aici este cuvintele cheie.
Cazul caz este de fapt ca declarația însuși.
Deci, comutatorul se va uita de fapt la o expresie nu dacă este sau nu este în mod
necesar adevărat sau fals.
Comutatorul ar putea fi doar o privire la o știți o variabilă sau ceva și apoi va evalua acea
variabilă.
În declarațiile de caz.
Deci, dacă valoarea 1 este egală cu expresia dacă valoarea și este egală cu expresia.
Dar puteți să vă uitați la acest lucru ca și cum comutatorul se află la cel mai înalt nivel și apoi cazurile fiecăruia
dintre ele.
Comparând valorile cu expresiile din comutator.
Deci, cazurile sunt, de asemenea, cuvântul cheie, de asemenea, observați colon după caz.
Deci aveți un caz și apoi aveți valoarea dvs. și apoi în interiorul dvs. puteți avea mai multe declarații de program
și apoi la sfârșit aveți un cuvânt cheie.
Aceasta este o altă cheie.
Deci, există trei cuvinte cheie aici, de fapt, patru acolo este tasta
de comutare sau tasta Cheie cuvântul pauză și apoi implicit la partea de jos.
Deci, acestea sunt lucrurile importante pe care începătorii vor trece printr-un exemplu detaliat, dar puteți avea cazuri diferite și
din nou acest lucru se întâmplă doar ca și dacă altceva dacă altceva dacă altceva.
Deci, dacă dacă valoarea K este expresia, executați codul altceva.
Dacă valoarea a doua este egală cu exprimarea altceva în cazul în care valoarea trei este egală cu exprimarea evaluați altceva dacă valoarea
este egală cu expresia evaluată.
Executați codul din interiorul acelui bloc din bloc pentru a începe cazul cu colon și cu pauză.
Și dacă nu ai pauza acolo, va cădea în celelalte cazuri.
Vom vorbi despre asta din nou.
Și apoi ultimul lucru important aici este cuvântul cheie implicit.
Acest lucru este în esență altceva dacă altceva dacă altceva dacă și apoi altceva în partea de jos.
Deci asta se întâmplă.
Dacă nici unul dintre celelalte cazuri nu este evaluat la expresie.
Deci, hai să vorbim despre câteva dintre detaliile pe care le-am menționat.
Expresia cuprinsă între paranteze este comparată cu valorile.
Dreapta.
Deci, din nou, dacă ne întoarcem la expresia sintaxei, se compară cu toate valorile și dacă Steenie valorile pe care
le executați în interiorul acelei
valori trebuie să fie constante simple sau expresii expresive constante care se evaluează la o constantă.
Deci, ați putea face X să comutați pe X plus Y, deoarece dacă X este 5, care ar
activa doar 10 și ar compara valorile cu 10, dar de obicei porniți o variabilă care este egală cu un anumit număr.
Dacă se găsește un caz a cărui valoare este egală cu valoarea expresiei, atunci instrucțiunile care urmează
după caz ​​se execută când mai mult de o dată numele este inclus.
Nu trebuie să fie închise cu bretele.
Așa că doar spunând că vor fi incluse mai multe declarații.
Nu există elemente de fixare necesare pentru membrul declarațiilor de caz pentru instrucțiunea dacă ar trebui să
avem întotdeauna acele bretele.
Nu este cazul.
Puteți să le puneți o singură linie după cealaltă.
Cheia este pauza acolo.
Declarația de pauză semnalează sfârșitul cazului special și determină
încetarea executării instrucțiunii.
Sare dacă nu ai pauza acolo.
Următorul caz va cădea.
Deci, doriți să includeți instrucțiunea de pauză și să aveți fiecare caz în care nu includeți pauze, de
obicei înseamnă că există un bug sau ceva și singurul motiv pentru care doriți să includeți o pauză
este dacă veți avea mai multe condiții pe care doriți să le executați.
Deci, dacă ați avut mai multe cazuri, spuneți în principiu dacă în cazul în care expresia a fost cazul, acest
caz sau acel caz, atunci faceți același lucru, atunci veți lua toate pauzele.
Așadar, aveți grijă cu pauzele deoarece frânele pot provoca probleme dacă anumite blocuri au fost sau
nu executate în următorul caz.
Cazul special opțional numit implicit este executat dacă valoarea nu corespunde niciunuia
dintre cazuri.
Este același lucru ca o defecțiune sau altceva se întâmplă dacă nici unul dintre cazuri nu este adevărat.
Deci, aici este un exemplu frumos în cazul în care suntem crearea unui comutator pentru a evalua în enim în acest caz avem
un tip enum numit weekday care este specificat de toate zilele de lucru și apoi vom crea într-o variabilă de tip
într-o zi lucrătoare.
Și am spus luni și apoi pornim astăzi, așa că, în funcție de valoarea de astăzi, variabila va
fi executată una dintre declarațiile de caz dacă dacă astăzi este egală cu duminica, va fi imprimată astăzi o duminică
și apoi sări .
Dacă egalitatea de astăzi pe care banii îl va imprima astăzi este luni și jumbo, dacă nu este
egală, mulți dintre ei vor merge la Rockies.
Să trecem prin acest exemplu și obstacole.
Aici avem exemplul nostru de cod și veți vedea că pentru că astăzi este egal cu cazul de luni, luni va
fi evaluat și veți vedea de ieșire astăzi este luni.
Deci, să mergem mai departe și să construim acest cod și să îl executăm.
Și asta vom vedea.
Azi este luni drept.
Pentru că ceea ce se întâmplă aici este astăzi va fi ziua de luni în care ați pus această
expresie pe care doriți să o evaluați variabila astăzi apoi o evaluează.
Chestii importante pe care trebuie să le ții minte aici sunt că ai un consola pentru a începe să-l schimbi pe Dave pe linia 16 în orice consola și
să comutați același lucru în linia douăzeci și nouă.
Puteți avea mai multe linii în interiorul fiecărei instrucțiuni de caz fără a utiliza paranteze.
Acum, să vedem ce se întâmplă dacă vom lua declarația de pauză după luni, deoarece pauza de membru va sari
imediat din dosar.
Dar dacă îl vom îndepărta, se va întâmpla așa cum va
cădea până marți și veți vedea ambele imprimate pe care le-ați executat pentru banii de astăzi și astăzi este marți.
Acum, nu numai că au fost în programul pe care îl vedem astăzi este luni astăzi este marți.
Aceasta este importanța declarației de pauză.
Pauza sare, astfel încât s-ar putea să fiți de folos dacă ați dori aceeași ieșire pentru luni și marți.
De exemplu, uneori veți vedea marți declarații de caz, cum ar fi acest caz, deoarece
doriți aceeași ieșire și nu contează.
Nu contează ce variabile sunt egale cu.
Deci s-ar putea să vezi lucruri de genul ăsta.
Dar când aveți declarații separate de caz, acestea au diferite execuții diferite.
Trebuie să adaugi pauza acolo.
O.K.
Deci, ne uităm doar duminică luni și marți.
Ce se întâmplă dacă setăm valoarea Astăzi egală cu duminica, deoarece nu există cazuri care să se potrivească
cu aceasta.
Ei bine, ceea ce se va întâmpla va cădea prin default, va pronunța orice.
Deci, să încercăm să o facem din nou și vedem astăzi că este duminică.
Îmi pare rău.
Setați-l la variabila greșită.
Vreau să spun că, miercuri, am avut un caz de duminică,
așa că acum vom vedea că de fapt se imprimă tot ceea ce nu se potrivește cu niciunul dintre cazuri.
Tot ceea ce trebuie să faceți pentru a comuta este într-adevăr memorarea sintaxei.
Expresia se face în paranteze, pe care o veți evalua cazurile trebuie să se
potrivească expresiei.
Deci, de obicei te descurci foarte bine.
De aceea, trebuie să fie constante sau expresii care se evaluează la o valoare constantă specifică și apoi
aveți cazuri pentru fiecare lucru și apoi un caz implicit și toate vor uita de pauze.
În regulă, să ne întoarcem și să vorbim puțin mai mult și să dăm încă un
alt exemplu de construire a comutatorului cu cazuri în acest exemplu.
E ceva diferit.
Ceea ce facem aici este că primim date de la utilizator și apoi pornim pe asta.
Deci, în acest exemplu în funcția noastră principală, începe să creeze un număr
de flotoare și apoi creează un operator de caractere și apoi cere utilizatorului să introducă o valoare a unui operator și o valoare pentru și care utilizează specifici
de format pentru a distinge.
Și toți au adresa ampersandelor.
Deci, operatorul, în funcție de caracterul pe care îl introduceți pentru operator, dacă este plus sau
minus steaua.
Asta vă doriți să includeți în cazul dvs. de comutare.
Deci, dacă utilizatorul a intrat.
Un plus.
Deci, vedeți în următoarea coloană aici comutatorul de comutare crede că pornește.
Operator Se va compara valoarea operatorului cu valoarea operatorului variabil pentru fiecare dintre aceste instrucțiuni de caz
și veți observa că aceste instrucțiuni cheie au citate singulare în jurul lor
deoarece comparăm caracterele.
Astfel, puteți compara variabilele numerice cu valorile constante civice sau caracterele cu constante specifice și apoi în interiorul fiecărui nume
al cazului vom pune o valoare specifică a formatului, plus o valoare plus valoarea unei valori
minus.
De fapt, efectuăm calculul în imprimantă.
Și apoi din nou vedeți acele declarații de pauză importante pe care le ridică dacă sunt necesare dacă nu
vreți să greșești sau în vreun alt caz.
De asemenea, ați observat că în acea declarație de ultimul caz, suntem cei patru care lovesc divizorul.
Avem o declarație dacă nu avem paranteze în jurul valorii de cauză, deoarece putem avea mai multe
declarații în fiecare caz fără paranteze.
Deci ultimul caz pe care îl vedem dacă valoarea 2 este egală cu zero facem un mic control pentru a ne
asigura că nu împărțim la zero.
Și dacă nu vom împărți la zero, atunci vom face efectiv divizarea noastră.
Și apoi, la sfârșitul cazului, avem o altă pauză.
Cazul nostru implicit spune că ai intrat într-un operator că nu știm cum să rezolvăm cazul care este
foarte eficient.
Este foarte rapid să scrieți ori de câte ori comparați multe valori diferite cu o anumită variabilă și apoi doriți
să faceți lucruri diferite.
Ultimul lucru pe care am vrut să-l menționez a fost să plec în abur în legătură cu luarea deciziilor.
Nu este o declarație de decizie directă.
Este mai mult de a sări la o linie diferită de cod folosind o etichetă, dar este disponibilă în C și de aceea
am vrut să o menționez.
Există două părți la instrucțiunea GO TO, eticheta și la cuvântul cheie.
Acum, pentru aceia dintre voi, că un program înainte în Fortran sau alte limbi de bază, probabil că
veți recunoaște acest lucru și probabil că ați folosit destul de puțin.
Acum vine să vedem că nu este nevoie să o folosiți.
Într-adevăr, există câteva cazuri în care am văzut că este destul de util pe care o voi explica într-o secundă,
dar mergeți este săriți la un cod și puteți merge la orice linie de cod.
Unul dintre motivele pentru care oamenii nu le place să le folosească pentru că este foarte greu de urmărit.
Știți când scrieți atunci când mențineți un program și sunteți secvențială, veți merge pe linie, este
foarte ușor să o citiți.
E destul de rău când ai afirmațiile în sălbăticie.
Dar acum, dacă aveți ceva în care, în esență, sunteți pe linia 27 codul dvs.
sursă și veți sări la linia 800 pentru nici un alt motiv decât doar du-te la cuvântul cheie.
De asemenea, săriți peste o tonă de cod și este foarte greu să vă mențineți și să cădeți.
Deci, cele două părți pentru a merge la și numele etichetei eticheta este numit în conformitate cu
aceeași convenție pentru a numi o caractere alfanumerice variabil începe cu cifre nu puteți începe cu subliniere nu poate începe cu
cifre puteți începe cu scoruri subliniază.
Practic, utilizați doar cuvântul cheie și mergeți la un anumit identificator.
Partea a doua partea a doua este o etichetă undeva.
Deci, pentru a sări de fapt la acea linie de cod, trebuie să etichetați acea linie de cod.
Trebuie să existe o declarație care spune partea a doua.
Acum voi merge și vă arăt un exemplu de acest lucru, dar tu chiar nu ar trebui
să utilizați acest lucru din cauza problemelor asociate cu ea ar fi cu ea Totuși, am vrut să se potrivesc dacă ați program înainte și sunteți obișnuiți
să-l utilizați în C nu trebuie să-l folosești la fel de mult.
Există un caz de utilizare pe care l-am văzut că ar putea fi util.
Lucram a doua zi cu un coleg de programator și avea o grămadă de bucle imbricate sau imbricate dacă afirmații, dar
buclele sunt, probabil, cele mai bune bucle de exemplu, amintiți-vă că ați repetat codul.
Avea o mulțime de bucle imbricate, iar la buclele imbricate, cum ar fi cel de-al cincilea,
el dorea să sară din toate buclele, pentru că avea o anumită condiție, așa că mergea
să sară din toate buclele.
Acum, celălalt mod de a sari din bucle utilizează cuvântul curajos, dar frânele vor sări doar din cele
mai multe cele mai interioare.
Deci, nu a existat într-adevăr o cale eficientă fără ca el să stabilească o grămadă de steaguri și să aibă o
grămadă dacă declarații de a accepta fiecare buclă.
Așa că m-am dus și la un caz am crezut că este destul de util pentru că a redus cantitatea de cod pe care
trebuia să o scrii.
Și era destul de clar despre ce se întâmplă.
Pur și simplu ați sărit de la toate buclele imbricate, deoarece ați întâlnit o anumită condiție și acesta este un caz.
Dar, în cea mai mare parte, nu aveți nevoie să mergeți la ea pentru motivele pe care le-am menționat
că este foarte problematică este greu să urmați codul când faceți salt peste tot.
Dar obiectivul este la fel ca și cum îl folosiți la fel ca și în alte limbi pe care le aveți la
tastatură cu numele etichetei.
Și ceea ce se va întâmpla în codul dvs. este că veți sări la acea linie de cod cu eticheta, astfel încât să puteți sări
peste tot felul de cod.
Deci, în acest exemplu, avem o etichetă numită de sus și are un colon, așa cum știți că este o etichetă, iar
partea de sus are câteva afirmații.
Și chiar în partea de jos a acestei instrucțiuni se afișează dacă spuneți că dacă caracterul este egal cu Y, mergeți la vârf.
Deci, din nou, vedeți cum puteți să sari peste tot în codul dvs. și acest lucru face foarte greu să urmați.
Deci, nu-l utilizați practic dacă nu aveți multe multe bucle imbricate și doriți să sari din toate
buclele.
Mulțumesc.