CentrumXP.pl » Witamy
CentrumXP.pl
 
22 października 2009 - Premiera Microsoft Windows 7 - dowiedź się więcej w Portalu CentrumXP.pl...
Szukaj
Subskrypcja
Powiadomienie e-mailem o nowościach na CentrumXP.pl:
E-mail: Zapisz
Czy byłbyś zainteresowany mobilną wersją Portalu CentrumXP.mobi dla komórek?

CentrumXP.pl » Microsoft .NET » Kurs C#, cz. I » Dodaj do ulubionych Dodaj do ulubionych   Dodaj do ulubionych Wersja do wydruku

12. Inne operatory logiczne

Autor: Daniel Celeda    Opublikowano: 14 marca 2006    Odsłon: 49601    »Skomentuj...
Strona:
Zobacz również:

01. "Programowanie" - z czym to się je?

02. Programowanie obiektowe

03. Do czego potrzebne jest nam Visual Studio 2005

04. Konfiguracja i obsługa C# 2005 Express Edition

05. Tworzenie solution i nowych projektów

06. Klasy i obiekty

07. Tworzenie oraz inicjalizacja obiektów

08. Operatory arytmetyczne

09. Porozmawiajmy o „stringach”

10. Typy proste i referencyjne

11. Wartości logiczne

13. Instrukcje iteracyjne (tzw. pętle) - cz. I

14. Instrukcje iteracyjne (tzw. pętle) - cz. II

15. Tablice

16. Kolekcje

17. Typy generyczne (generics)

18. Przestrzenie nazw (namespaces)

19. Modyfikatory dostępu

20. Metody statyczne oraz metody instancyjne

»Uzyskaj pomoc na forum

Oprócz operatora „==” w C# istnieją inne operatory porównujące wartości. Tak jak w matematyce mamy operatory większości/mniejszości:
„<” mniejsze niż,
„>” większe niż,
„<=” mniejsze lub równe,
„>=” większe lub równe,
oraz „!=” nie równe (operator odwrotny do „==” ).

Poniżej przykładowy program z wykorzystaniem kilku operatorów.

class KlasaGlowna
{
      static void Main()
      {
            int x = 1;
            if(x > 1)
            {
                  System.Console.WriteLine("x jest większe niż 1");
            }
            if(x < 1)
            {
                  System.Console.WriteLine("x jest mniejsze niż 1");
            }
            if(x != 2)
            {
                  System.Console.WriteLine("x nie jest równe 2");
            }
            System.Console.Read();
      }
}

 Operator “!” służy do zaprzeczania, czyli jeśli jakieś wyrażenie jest prawdziwe, to umieszczenie przed nim operatora „!” zmienia jego wartość na  przeciwną.

Prosty przykład:

class KlasaGlowna
{
      static void Main()
      {
            int x = 1;

            if(!(x == 1))
            {
                  System.Console.WriteLine("x jest różne od 1");
            }
            else
            {
                  System.Console.WriteLine("x jest równe 1");
           
}
            System.Console.Read();
      }
}


1 2 3 Dalej» 

Aktualna ocena to: 3.58

Oceń artykuł...
Porażka Kiepski Taki Sobie Dobry Super!


Tagi:  

A teraz:    Dodaj do ulubionych Dodaj do ulubionych    Wydrukuj Wydrukuj    Wyślij link znajomemu Wyślij link znajomemu    Skomentuj Skomentuj

Komentarze do 12. Inne operatory logiczne

Dodaj komentarz»

elektr0n 2 listopada 2007, 13:41

ja tam nie widze wiekszej różnicy między tym tutaj a programem stronę wcześniej. swoją drogą ten C# jest jak dotąd niemalże identyczny z javą. jednakże sposób przekazu informacji i zawarta wiedza jest dośc przejrzysta i myśle łatwo przyswajalna

marta 9 listopada 2007, 20:52

zgadzam jest bardzo przejrzysta, duzo prostsza niz w SC Perry c# i.net ;)

sven84 8 grudnia 2008, 18:29

W jedenastej linni niepotrzebnie istnieje " } ", ale kursik OK 

sekla 1 lutego 2009, 22:48

Czy konstrukcja "if... else if" jest rzeczywiscie oddzielna konstrukcja w C#? Bo np. ADA95 ma konstrukcje "if... elif" i to rzeczywiscie co innego niz zrobienie "if... else if". Natomiast wydaje mi sie, ze w C# jest tak, jak w Javie. "if... else if" nie jest oddzielna instrukcja warunkowa, a jedynie przejrzystszym sposobem rozwiazania pewnych problemow. Bo mozna napisac "if (w) {...} else {if (b) {...} else {if(k) {...} }}", a mozna pominac nawiasy klamrowe, kolejne "if" sa zagniezdzone, (tutaj autor artykulu by sie mylil), jednak kod wyglada tak, jakby te "if" zagniezdzone nie byly - zwieksza sie przejrzystosc kodu w niektorych wypadkach. Ale nie czytalem zadnej madrej ksiazki o C# (takiej, jaka dla C++ jest Symfonia C++ albo dla Javy Thinking in Java), wiec nie wiem, moze rzeczywiscie Microsoft uznal if... else if za oddzielna instrukcje warunkowa i na przyklad nie ma w niej zagniezdzania... Moze ktos mnie poprawic :)

sekla 1 lutego 2009, 23:06

czy mozna wiedziec, dlaczego drugi komentarz, jaki chcialem dodac, nie moze zostac dodany? Strona nie wyswietla mi zadnego komunikatu, po prostu po kazdym kliknieciu Dodaj komentarz, moj tekst nadal znajduje sie w polu na komunikat i komentarz nie jest dodawany... Napisalem bardzo dlugi komentarz wyjasniajacy troche instrukcje switch, ale nie moge go dodac... Czy istnieje jakis limit na dlugosc komentarza? warto byloby informowac o tym uzytkownika...

sekla 1 lutego 2009, 23:07

Co do instrukcji switch, to autor zapomnial o kilku waznych rzeczach. Mimo, ze to kurs dla poczatkujacych, to sadze, ze sa istotne dla zrozumienia tematu. Po pierwsze: po co mamy slowko "break"? W Javie i C++ (i pewnie w innych jezykach tez) ponizsza instrukcja "switch":<br /><br />switch(w){<br />  case "1": System.Console.WriteLine("Wybrałeś 1.");<br />  case "2": System.Console.WriteLine("Wybrałeś 2.");<br />  default: System.Console.WriteLine("Wybrałeś co innego."); <br />}<br /><br />zadziala tak, ze jesli w = "1", to wypisane zostanie: <br />Wybrales 1.Wybrales 2.Wybrales co innego. <br />Znaki nowego wiersza pozwolilem sobie pominac, zeby nie powiekszac dlugosci mojego komentarza ;). Jesli w = "2", to wypisane zostanie:<br />Wybrales 2.Wybrales co innego.<br />Jesli "w" bedzie inne niz 1 i 2, to wypisane zostanie to, co w default. Teraz juz chyba widac, po co na koncu kazdego "case" jest instrukcja "break". Nakazuje ona zakonczyc przetwarzanie instrukcji "switch" po wykonaniu danego "case", bo inaczej wykonywane beda wszystkie instrukcje od "case" spelniajacego warunek, (np. "case 2" dla w=2) az do konca bloku "switch" albo do pierwszego napotkanego "break".

sekla 1 lutego 2009, 23:08

Po "default" nie daje sie juz "break", bo jest zbedne, default powinien byc zawsze umieszczany na koncu bloku "switch". Dzieki temu, ze "switch" jest wykonywany od odpowiedniego "case" az do break, mozna robic fajne rzeczy, np.:<br />switch (w){<br />  case "1":<br />  case "2": System.Console.WriteLine("Wybrałeś 1 lub 2.");<br />  break;<br />  default: System.Console.WriteLine("Wybrałeś co innego.");<br />}<br /><br />Tak sytuacja ma sie w Javie i C++. Poniewaz "switch" w C# z wygladu niczym sie nie rozni od tej instrukcji w Javie i C++, to wnioskuje, ze "switch" w C# zachowuje sie tak samo, jak opisalem.<br /><br />Po drugie: autor nie wspomina, jakie typy danych przyjmuje "switch". W Javie jest to tylko int i char (wybaczcie, mozliwe, ze int i String, chociaz watpie, ale moglo mi sie zapomniec ;)). W C++ o ile dobrze pamietam (a moge zle pamietac), to dowolny typ prosty. Jakie typy danych przyjmuje "switch" w C#? Chodzi mi o to, jakiego typu moze byc "w" w instrukcji "switch(w)"?


Dodaj swój komentarz

»Zasady udzielania komentarzy

Autor:  
Komentarz:
Dodaj komentarz
© 2009 Onex Group
Onex Group O Onex Group  |  O CentrumXP.pl  |  Kontakt  |  Reklama
Nasze serwisy: CentrumXP.plSklep on-line  |  Komputer w firmie  |  XboxSpot.pl  |  Live Blog  |  Jama MastahaDevelopers.pl