Sdílet prostřednictvím


Příkazy a smyčky jazyka C# if – kurz podmíněné logiky

V tomto kurzu se naučíte psát kód jazyka C#, který zkoumá proměnné a mění cestu provádění na základě těchto proměnných. Napíšete kód jazyka C# a zobrazíte výsledky kompilace a spuštění. Tento kurz obsahuje řadu lekcí, které se zabývají větvením a konstruktory smyčky v jazyce C#. Tyto lekce vás naučí základy jazyka C#.

Návod

Když blok fragmentu kódu obsahuje tlačítko Spustit, otevře se interaktivní okno nebo nahradí stávající kód v interaktivním okně. Pokud fragment kódu neobsahuje tlačítko Spustit, můžete kód zkopírovat a přidat ho do aktuálního interaktivního okna.

V interaktivním okně spusťte následující kód. Vyberte Spustit:

int a = 5;
int b = 6;
if (a + b > 10)
    Console.WriteLine("The answer is greater than 10.");

Upravte deklaraci b tak, aby součet byl menší než 10:

int b = 3;

Znovu vyberte tlačítko Spustit . Protože odpověď je menší než 10, nic se netiskne. Podmínka, kterou testujete, je nepravda. Nemáte žádný kód ke spuštění, protože jste napsali pouze jednu z možných větví pro if příkaz: true branch.

Návod

Při zkoumání jazyka C# (nebo libovolného programovacího jazyka) uděláte chyby při psaní kódu. Kompilátor tyto chyby najde a oznámí vám je. Pokud výstup obsahuje chybové zprávy, podívejte se pozorně na ukázkový kód a kód v interaktivním okně a podívejte se, co opravit. Toto cvičení vám pomůže naučit se strukturu kódu jazyka C#.

Tato první ukázka ukazuje sílu if a logických typů. Boolean je proměnná, která může mít jednu ze dvou hodnot: true nebo false. Jazyk C# definuje speciální typ bool pro logické proměnné. Příkaz if zkontroluje hodnotu bool. Pokud je hodnota true, příkaz následující po if se vykoná. Jinak bude přeskočen.

Tento proces kontroly podmínek a provádění příkazů na základě těchto podmínek je účinný. Pojďme prozkoumat víc.

Nechte if a else spolupracovat

Pokud chcete spustit odlišný kód podle toho, zda je větev true nebo false, vytvoříte else větev, která se spustí, když je podmínka false. Vyzkoušejte následující kód:

int a = 5;
int b = 3;
if (a + b > 10)
    Console.WriteLine("The answer is greater than 10");
else
    Console.WriteLine("The answer is not greater than 10");

Příkaz následující za else klíčovým slovem se spustí pouze při testované falsepodmínce . Kombinování if a else s logickými podmínkami poskytuje veškerou potřebnou sílu.

Důležité

Odsazení u příkazů if a else je určeno pro lidské čtenáře. Jazyk C# nezachází s odsazením ani prázdnými znaky jako významné. Příkaz následující po klíčovém slovu if nebo else se provede na základě podmínky. Všechny ukázky v tomto kurzu se řídí běžnou praxí odsazení řádků na základě logiky příkazů.

Vzhledem k tomu, že odsazení není významné, musíte použít { a } určit, kdy má být více než jeden příkaz součástí bloku, který se spouští podmíněně. Programátoři jazyka C# obvykle používají tyto složené závorky ve všech if a else klauzulích. Následující příklad je stejný jako to, co jste vytvořili. Zkuste to.

int a = 5;
int b = 3;
if (a + b > 10)
{
    Console.WriteLine("The answer is greater than 10");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
}

Návod

Ve zbytku tohoto kurzu ukázky kódu obsahují složené závorky podle zavedených postupů.

Složitější podmínky můžete otestovat:

int a = 5;
int b = 3;
int c = 4;
if ((a + b + c > 10) && (a == b))
{
    Console.WriteLine("The answer is greater than 10");
    Console.WriteLine("And the first number is equal to the second");
}
else
{
    Console.WriteLine("The answer is not greater than 10");
    Console.WriteLine("Or the first number is not equal to the second");
}

Symbol == testuje rovnost. Pomocí == rozlišujete test rovnosti od přiřazení, což jste viděli v a = 5.

Znak && představuje "a". Znamená to, že obě podmínky musí být pravdivé, aby se příkaz mohl spustit v "true" větvi. Tyto příklady také ukazují, že v každé podmíněné větvi můžete mít více příkazů, za předpokladu, že je uzavřete do { a }.

Můžete také použít || k reprezentaci "nebo":

if ((a + b + c > 10) || (a == b))

Upravte hodnoty a, b a c a přepínejte mezi && a || prozkoumat. Lépe porozumíte tomu, jak operátoři && a || fungují.

Opakování operací pomocí cyklů

Dalším důležitým konceptem vytváření větších programů je smyčky. Pomocí smyček můžete opakovat příkazy, které chcete spustit vícekrát. Vyzkoušejte tento kód v interaktivním okně:

int counter = 0;
while (counter < 10)
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
}

Příkaz while zkontroluje podmínku a spustí příkaz za příkazem while. Opakuje kontrolu podmínky a provádění těchto příkazů, dokud podmínka není false.

V tomto příkladu je ještě jeden nový operátor. Za ++ proměnnou counter je operátor přírůstku . Přidá hodnotu 1 k hodnotě čítače a uloží ji do proměnné čítače.

Důležité

Během provádění kódu se ujistěte, že podmínka smyčky while změní na hodnotu false. V opačném případě vytvoříte nekonečnou smyčku , ve které program nikdy nekončí. Pojďme to nepředvést, protože modul, který spouští váš kód, vyprší časový limit a neuvidíte žádný výstup z programu.

Smyčka while testuje podmínku před spuštěním kódu za následujícím kódem while. Smyčka do ... while nejprve spustí kód a pak zkontroluje podmínku. Vypadá takto:

int counter = 0;
do
{
    Console.WriteLine($"Hello World! The counter is {counter}");
    counter++;
} while (counter < 10);

Tato do smyčka a předchozí while smyčka fungují stejně.

Pojďme přejít k poslednímu příkazu cyklu.

Práce se smyčkou for

Dalším běžným příkazem smyčky, který vidíte v kódu jazyka C#, je smyčka for . Vyzkoušejte tento kód v interaktivním okně:

for (int counter = 0; counter < 10; counter++)
{
    Console.WriteLine($"Hello World! The counter is {counter}");
}

for Předchozí smyčka funguje stejně jako smyčka while a smyčkado, kterou jste už použili. Příkaz for má tři části, které řídí, jak funguje:

  • První částí je inicializátor: int counter = 0; deklaruje, že counter je proměnná smyčky, a nastaví její počáteční hodnotu na 0.
  • Prostřední část je podmínka: counter < 10 deklaruje, že tato for smyčka bude pokračovat v provádění, pokud je hodnota čítače menší než 10.
  • Poslední částí je iterátor for smyčky: counter++ určuje, jak upravit proměnnou smyčky po spuštění bloku následujícího za příkazem for. V této části určuje, že counter se při každém spuštění bloku zvýší o 1.

Experimentujte s těmito podmínkami sami. Vyzkoušejte všechny následující změny:

  • Změňte inicializátor tak, aby začínal na jiné hodnotě.
  • Změňte podmínku tak, aby se zastavila na jiné hodnotě.

Až budete hotovi, pojďme si napsat nějaký kód, abyste mohli použít to, co jste se naučili.

Existuje jeden další příkaz smyčky, který není popsaný v tomto kurzu: příkaz foreach . Příkaz foreach opakuje svůj příkaz pro každou položku v posloupnosti položek. Nejčastěji se používá s kolekcemi. Probírá se v dalším kurzu.

Vytvoření vnořených smyček

A while, donebo for smyčka lze vnořit do jiné smyčky a vytvořit matici pomocí kombinace každé položky ve vnější smyčce s každou položkou ve vnitřní smyčce. Pojďme to udělat, abychom vytvořili sadu alfanumerických párů představujících řádky a sloupce.

Jedna for smyčka může generovat řádky:

for (int row = 1; row < 11; row++)
{
    Console.WriteLine($"The row is {row}");
}

Další smyčka může vygenerovat sloupce:

for (char column = 'a'; column < 'k'; column++)
{
    Console.WriteLine($"The column is {column}");
}

Jednu smyčku můžete vnořit do druhé a vytvořit tak dvojice.

for (int row = 1; row < 11; row++)
{
    for (char column = 'a'; column < 'k'; column++)
    {
        Console.WriteLine($"The cell is ({row}, {column})");
    }
}

Vidíte, že se vnější smyčka zvýší jednou pro každé úplné spuštění vnitřní smyčky. Otočte vnoření řádků a sloupců a prohlédněte si změny sami.

Kombinování větví a smyček

Když jste teď viděli if příkaz a konstrukty smyčky v jazyce C#, podívejte se, jestli můžete napsat kód jazyka C#, abyste našli součet všech celých čísel 1 až 20, které jsou dělitelné 3. Tady je několik tipů:

  • Operátor % vám poskytne zbytek operace dělení.
  • Příkaz if vám poskytne podmínku, abyste zjistili, jestli má být číslo součástí součtu.
  • Smyčka for vám může pomoct zopakovat řadu kroků pro všechna čísla 1 až 20.

Vyzkoušejte si to sami. Pak zkontrolujte, jak jste to udělali. Jako nápovědu byste měli získat 63 jako výsledek.

Přišla jste s něčím podobným?

:::code language="csharp" interactive="try-dotnet-method" source="./snippets/BranchesAndLoops/Program.cs" id="Challenge":::

Dokončili jste interaktivní kurz "větve a smyčky". Výběrem odkazu na kolekci seznamů můžete zahájit další interaktivní kurz nebo můžete navštívit web .NET a stáhnout sadu .NET SDK, vytvořit projekt na počítači a dál psát kód. V části Další kroky se vrátíte k těmto kurzům.

Další informace o těchto konceptech najdete v těchto článcích: