3 - Ternáris operátor, switch case és while ciklus
Ternáris operátor
- 2 lehetőség közötti eldöntés
- nevének eredete: három operandusos (kér operandusos a + vagy a -)
<feltétel> ? <ha igaz> : <ha hamis>;
int szam = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(szam % 2 == 0 ? $"{szam} paros." : $"{szam} paratlan.");
Switch case
- Egy speciális elágazás
- Rengeteg feltételt vizsgálhatunk vele gyorsan, egszerűen
switch(kifejezés)
{
case x:
// Mi történjen
break;
case y:
// Mi történjen
break;
default:
// Alapértelmezetten mi történjen
break;
}
Napok kiírása számok alapján
// Deklarálás, inicializálás
Console.Write("Kerem adjon meg egy szamot 1 es 7 kozott: ");
int nap = Convert.ToInt32(Console.ReadLine());
// Switch case feltételek
switch (nap)
{
case 1:
Console.WriteLine("Hetfo");
break;
case 2:
Console.WriteLine("Kedd");
break;
case 3:
Console.WriteLine("Szerda");
break;
case 4:
Console.WriteLine("Csutortok");
break;
case 5:
Console.WriteLine("Pentek");
break;
case 6:
Console.WriteLine("Szombat");
break;
case 7:
Console.WriteLine("Vasarnap");
break;
default:
Console.WriteLine("Helytelen ertek!");
break;
}
Ciklusok
- Ismételt utasítások elvégzésére
- Adott alkalommal ismétli
- Addig fut, amíg a feltétel igaz
while (feltétel) {
// Mit csináljon a program
}
Végtelen ciklus
- A feltétel mindig igaz lesz, azaz a program sosem lép ki a ciklusból
while (true)
{
Console.WriteLine("Segitseg, vegtelen ciklus!");
}
while (0 < 10)
{
Console.WriteLine("Segitseg, vegtelen ciklus!");
}
Indexelés
int szamlalo = 0;
while (szamlalo < 10)
{
Console.WriteLine(szamlalo);
szamlalo++;
}
szamlalo
= index -> rövideni
- Ha több index is kell, akkor azoknak a neve
i
,j
,k
stb. 0
-tól indexelünk
Inkrementálás
- Inkrementálás = növeljük a változó értékét 1-gyel
i = i + 1
=i += 1
=i++
= post-inkrementálás (utólag)++i
= pre-inkrementálás (előre)
int i = 0;
int j = 0;
while (i < 10)
{
Console.WriteLine("i = " + i++ + "\tj= " + ++j);
}
Dekrementálás
- Dekrementálás = csükkentjük a változó értékét 1-gyel
i--
= post-dekrementálás (utólag)--i
= pre-dekrementálás (előre)
Console.Write("Szam: ");
int szam = Convert.ToInt32(Console.ReadLine());
int faktorialis = 1;
while (szam > 0)
{
faktorialis *= szam;
szam--;
}
Console.WriteLine("5! = {0}", faktorialis);
Egymásba építhetőség
If
esetén isWhile
ciklusba is
Program, ami kiírja 1-től 60-ig az összes számot, ami osztahtó 6-tal
Ha 8-cal oszthatót talál, leáll
int i = 0;
while (i <= 60)
{
if(i == 0 || i == 1)
{
++i;
}
else if (i % 6 == 0)
{
Console.WriteLine(i);
if (i % 8 == 0)
{
break;
}
}
++i;
}