Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.

Slides:



Advertisements
Hasonló előadás
© Kozsik Tamás Különböző nyelvekhez igazítás Internationalization - i18n.
Advertisements

Osztály leszármaztatás
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
II. Grafikus felhasználói interfész
Programozási nyelvek II.
Az információ olyan új ismeret, amely megszerzőjének szükséges és érthető. Az adat az információ megjelenésének formája.  Az adat lehet: Szöveg Szám Logikai.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
2009 Bevezetés a programozásba Krankovits Melinda.
Öröklődés 2..
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 7. Gyakorlat Operator overloading.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Borland C/C++ mintapéldák
Java Típuskonverziók.
Jt Java Kifejezések,precedencia. jt 2 Egy kifejezés operandusokból és operátorokból (műveletekből) áll. A kifejezésben szerepelhet egy vagy több operandus,
Ruby nyelv. Története Yukihiro Matsumoto (szül ápr. 4.) alkotta meg, az ideális script nyelv hosszú eredménytelen keresése után. A lehetséges jelöltek.
Az objektum-orientált tervezési alapelvek kritikai vizsgálata
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
C# tagfüggvények.
C# tagfüggvények.
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
dr Póder Margit f. docens Rendszer- és Szoftvertechnológia Tanszék
Programozási technológiák
Programozási nyelvek II. Objektumorientált programozás a Java nyelv eszközeivel 2007/08.
Kivételkezelés.
Halmazelmélet és matematikai logika
Programozás C# -ban Elágazások.
Programozás Operátorok C# -ban.
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
C nyelv utasításai.
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
IV. Java programozási alapok
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Kifejezések a Pascalban Páll Boglárka. Ismétlés: Ahogy algoritmikából láttuk, a kifejezések a Pascal nyelvben is operátorokból és operandusokból állnak.
Boole-algebra (formális logika).
Operátorok Értékadások
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Java programozási nyelv Filekezelés
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Java programozási nyelv Adatbekérés konzolról
Logikai műveletek és áramkörök
Operátorok Vezérlési szerkezetek Gyakorlás
Táblázatkezelés KÉPLETEK.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Kifejezések C#-ban.
Gépészeti informatika (BMEGEMIBXGI)
Gépészeti informatika (BMEGEMIBXGI)
Programozás C# -ban Elágazások.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Változók.
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Algoritmus készítés.
Előadás másolata:

jt Java Feltételek, logikai kifejezések

jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró vagy ^ 4. vagy|ill.|| Az && ill. a || művelet az ún. rövid kiértékelésű változatok. Ez azt jelenti, hogy csak addig történik kiértékelés, amíg a pr. el nem tudja dönteni a végeredményt.

jt 3 A következő pr. arra példa, hogy a rövid és a teljes kiértékelés más végrehajtást eredményez(het): import extra.Console; public class MitCsinal303{ MitCsinal303 public static void main(String args[]){ boolean vanA; vanA = Console.readChar("Kerek egy betut: ") == 'A' || Console.readChar("Meg egyet: ") == 'A'; System.out.println("Volt benne A betu: " + vanA); System.out.println();}} Futassuk a pr-ot úgy is, hogy a || jelet |-re cseréljük!

jt 4 Nagyon fontos tehát, hogy pl. ha az előző műveletek rövid változatát (&&, ||) használjuk, akkor olyan eset is elképzelhető, mikor egy értékadás nem történik meg. Ha a és b is igaz, tök mindegy, hogy mi a c. Rövidzár esetén ugyanis a c nem is hajtódik végre. Márpedig ha itt éppen egy értékadás szerepel, akkor az meg sem történik!!! Ez pedig azért nem éppen lényegtelen dolog. Ez szintaktikai hibát nem okoz, de lehet, hogy a pr. helytelenül fog működni.  a && b || c

jt 5 Bitenkénti operátorok A log-i műveletek bitekre is alkalmazhatók. A bitenkénti ~ (nem), & (és), | (vagy), ^ (kizáró vagy) műveletek bitenként végzik el a log-i műveleteket úgy, hogy az 1 true, a 0 pedig false értéknek számít. A műveletek mindig az egymásnak megfeleltethető biteken hajtódnak végre. A << (shift-left) operátor 1-gyel balra tolja a biteket úgy, hogy jobbról 0-k „jönnek be”. A >> (shift-right) operátor 1-gyel jobbra tolja a biteket úgy, hogy balról 1-esek „jönnek be”. A >>> (shift-right-with-zero-fill) operátor 1-gyel jobbra tolja a biteket úgy, hogy balról 0-k „jönnek be”.

jt 6 Például: import extra.Console; public class BitMuveletek{ BitMuveletek public static void main(String args[]){ int b=124; // System.out.println("~b: " + ~b);// = -125 System.out.println("b|1: " + (b|1));// = 125 System.out.println("b&4: " + (b&4));// = 4 System.out.println("b^2: " + (b^2));// = 126 System.out.println(b<<1);// = 248 System.out.println(b>>1);// = 62 System.out.println();}}

jt 7 Feltételnek nevezzük a boolean típusú kifejezést. Pl.:a==b & a%2==0 | !(a+b<10) Feltétel Ezek eredménye true vagy false, tehát az egész kifejezés értéke vagy true vagy false lesz.

jt 8 A feltételek és különösen az összetett feltételek megfogalmazása és felírása nem mindig egyszerű feladat. Először meg kell fogalmazni az egyszerű feltételeket. Először meg kell fogalmazni az egyszerű feltételeket. Ezután az egyszerű feltételeket összekapcsoljuk logikai műveletekkel. A prioritási szabályokra ügyelni kell! Ezután az egyszerű feltételeket összekapcsoljuk logikai műveletekkel. A prioritási szabályokra ügyelni kell! –Legerősebb a nem (!). –Második az és (&). –Harmadik a kizáró vagy (^). –Aztán a vagy (|). –&& –|| A balról jobbra szabály érvényes!

jt 9 Ezek után megpróbáljuk a feltételt minél egyszerűbb formára hozni. Ezek után megpróbáljuk a feltételt minél egyszerűbb formára hozni. Végül a feltételt száraz teszt alá vetjük, vagyis több konkrét esetre kipróbáljuk, hogy helyes-e az eredmény. Végül a feltételt száraz teszt alá vetjük, vagyis több konkrét esetre kipróbáljuk, hogy helyes-e az eredmény. Példák Legyenek a, b, c és d int típusú változók! 1) a értéke 0 és 1 közé esik (a határokat is beleértve) : a>=0 & a<=1

jt 10 2)a és b közül egyik sem nulla: a nem nulla:a != 0 b nem nulla:b != 0 Teljesüljön mindkét feltétel egyszerre! a != 0 && b != 0 Tesztelés: Legyen pl. a=0 és b=3! 3)a 25-nél nagyobb és páros, b pedig (a határokat is beleértve) 1000 és 2000 közé eső, nullára végződő szám: (a>25 && a%2==0) && (b>=1000 && b<=2000 && b%10==0)

jt 11 4)a és b közül legalább az egyik nagyobb, mint 10: a >10 | || | b >10 5)a és b közül pontosan az egyik nagyobb, mint 10: a >10 ^ b >10 (kizáró vagy, XOR) 6)a és b közül, valamint c és d közül legalább az egyik nagyobb, mint 10: (a>10 | b>10) & (c>10 | d>10) 7), Vagy az a és b közül, vagy a c és d közül mindkettő nagyobb, mint 10. a>10 & b>10 | c>10 & d>10 (Itt a zárójel használata fontos, mert az és művelet erősebb, mint a vagy.) (Itt nem kell zárójelet használni.)