Rodzaje danych w informatyce są liczne. Są one podzielone na typy odniesienia i typy wartości. Typy wartości zwykle działają szybciej, ponieważ są przechowywane w stosie i zarządzane bezpośrednio. Są to zmienne numeryczne i logiczne typy danych. Referencje są przechowywane w linku stosu na stos, a stos jest już typu realizacji. Typy danych referencyjnych to zmienne łańcuchowe, dynamiczne lub globalne, klasy osadzone lub niestandardowe.
, niski poziom
logiczną typ danych. Logika działania
. Przykłady typów danych logicznych logiczne i
przy użyciu systemu;
nazw Boolean
{
Klasa MainClass
{
public static void main (String [] args)
{
Console.WriteLine (true & amp; & amp; false );
Console.ReadLine ();
}
}
}
W tym przykładzie wykonania, drugi stan - kłamstwo, a konsola otrzymywać błędne.
Logiczny OR
Operator || zwraca prawdę, jeśli przynajmniej jeden z argumentów jest prawdziwy.
za pomocą System;
nazw logiczna
, {
grupa MainClass
{
Public statyczne pustych Główny łańcuch ([] arg)
, {
Console.WriteLine (prawda || fałsz) ;
Console.ReadLine ();
}
}
}
,
W tym przykładzie, jeden z warunków - prawda więc konsola otrzyma prawdziwe.
tylko, lub
^ operatora (nie mylić z wysokości w stopniu) powraca prawdziwe, jeśli tylko jeden z argumentów nie jest prawdziwe.
przy użyciu systemu;
nazw logiczna
, {
grupa MainClass
, {
Public void główne (string [] arg)
, {
Console.WriteLine (true ^ true);
Console.ReadLine ();
}
}
}
W tym przykładzie oba argumenty są prawdziwe, więc w konsoli wyświetlana jest wartość false.
& lt; script type = "text /javascript" & gt;
zmienna blockSettings2 = {blockID "R-A-271049-5" renderTo "yandex_rtb_R-A-70350-39" asynchroniczny :! 0};
jeśli (document.cookie.indexOf ("abmatch =") i GT = 0) blockSettings2.statId = 70350;
! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);
Równość i nierówność
Operator == zwraca prawdę, jeśli oba warunki są równe. Operator! = Zwraca prawdę, jeśli oba warunki nie są równe.
za pomocą System;
nazw Boolean
{
Klasa MainClass
{
public static void main (String [] args)
{
Console.WriteLine (prawda! = False) ;
Console.ReadLine ();
}
}
}
Konsola będzie prawdziwa, ponieważ warunek jest spełniony.
Przykłady w języku C # zostały rozważone powyżej. W tym języku dla operacji typu logicznego zdefiniowane są dwie wartości - prawda i fałsz. I tutaj zabronione jest przekształcanie wartości logicznych na liczby całkowite, kompilator da błąd. Jak łatwo zauważyć, podczas wysyłania do metody WriteLine klasy Boolean klasy Console na konsoli wyświetlana jest jego wartość.
Zmienna boolowska może być również sterowana przez instrukcję if. Jeśli wyrażenie stan spełnienie IF - prawda o zmiennej ekspresji może być zredukowana do
, jeżeli (x) {/* coś zrobić * /}
,
operacje porównania [103 ]
Operatorzy> =
W języku C, jeśli zmienna zawiera 0, jej wartość logiczna jest równoważna wartości BLOOD i na odwrót, dowolna liczba jest traktowana jako PRAWDA. Aby uzyskać lepsze zrozumienie, patrz poniżejfragment kodu:
if (bool_variable) printf ("True! n"); inny printf („Fałsz! n”)
,
C nie jest pojęcie logicznej typu danych liczbowych, zamiast stosować środków, głównie całkowitą. Dlatego logiczne operacje każdego typu argumentu liczbowego, że liczy, a nie zerowy jest interpretowany jako prawdę, a wynik operacji logicznych są liczbami całkowitymi, jeden i zerem. W C ++ wprowadzono logiczny typ danych, ale raczej dla wygody obsługi. Nie ma wpływu na użycie innych typów wyrażeń logicznych, jak w C.
& lt; script type = "text /javascript" & gt;
var blockSettings3 = {blockID "R-A-271049-6" renderTo "yandex_rtb_R-A-70350-44" asynchroniczny :! 0};
if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings3.statId = 70350;
! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("scenariusz")