Операторът &&
приема няколко булеви (условни) израза, които имат стойност true
или false
, и ни връща един булев израз като резултат. Използването му вместо редица вложени if
блокове прави кода по-четлив, подреден и лесен за поддръжка. Но как работи, когато поставим няколко условия едно след друго? Както видяхме по-горе, логическото “И” връща true
, само когато приема като аргументи изрази със стойност true
. Съответно, когато имаме последователност от аргументи, логическото “И” проверява или докато свършат аргументите, или докато не срещне аргумент със стойност false
.
Пример:
bool a = true;
bool b = true;
bool c = false;
bool d = true;
bool result = a && b && c && d;
// false (като d не се проверява)
Програмата ще се изпълни по следния начин: започва проверката от а
, прочита я и отчита, че има стойност true
, след което проверява b
. След като е отчела, че a
и b
връщат стойност true
, проверява следващия аргумент. Стига до c
и отчита, че променливата има стойност false
. След като програмата отчете, че аргументът c
има стойност false
, тя изчислява израза до c
, независимо каква е стойността на d
. За това проверката на d
се прескача и целият израз бива изчислен като false
.