पिछली समस्या को जटिल परिस्थितियों का उपयोग करके छोटे तरीके से हल किया जा सकता है।
आइए समझते हैं कि जटिल शर्तें
क्या है
सबसे सरल स्थितियों में एक संबंध (इससे बड़ा, इससे कम, आदि) होता है। लेकिन कभी-कभी सरल स्थितियों को अधिक जटिल लोगों में जोड़ना आवश्यक होता है, उदाहरण के लिए: बाहर ठंड है और बारिश हो रही है। दो साधारण स्थितियाँ (बाहर ठंड है), (बाहर बारिश हो रही है) यहाँ कोपुला I से जुड़ी हैं।
जटिल स्थिति - दो या अधिक सरल संबंध (शर्तें) होते हैं जो तार्किक संचालन का उपयोग करके संयुक्त होते हैं
AND - बूलियन गुणन - जावा में && (या और)
या - तार्किक जोड़ - जावा में < मजबूत के रूप में लिखा गया है >|| (या < मजबूत >या)
NOT - तार्किक निषेध - जावा में के रूप में लिखा गया है!   ;
ऑपरेशन AND - एक साथ दो शर्तों को पूरा करना ज़रूरी है
स्थिति 1 && शर्त 2 - केवल तभी सत्य होगा जब दोनों साधारण स्थितियाँ एक ही समय में सत्य हों
इसके अलावा, जावा प्रोग्रामिंग लैंग्वेज में - अगर कंडीशन 1 गलत है, तो कंडीशन 2 की जांच नहीं की जाएगी
कार्रवाई या - कम से कम एक शर्त की आवश्यकता है
स्थिति 1 || स्थिति 2 - असत्य का मूल्यांकन केवल तभी होगा जब दोनों सामान्य स्थितियां एक ही समय में असत्य हों
इसके अलावा, जावा प्रोग्रामिंग लैंग्वेज में - अगर कंडीशन 1 सही है, तो कंडीशन 2 को चेक नहीं किया जाएगा
ऑपरेशन नहीं
! स्थिति 1 - गलत का मूल्यांकन करेगा, शर्त 1 सत्य है और इसके विपरीत
उदाहरण के लिए, निम्नलिखित दो शर्तें समतुल्य हैं: ए&जीटी;बी और !(A<=B)
तार्किक संचालन और संबंधों के निष्पादन की प्राथमिकता
ब्रैकेट्स में 1 ऑपरेशन
2 ऑपरेशन नहीं
3 तार्किक संबंध >, <, >=, <=, ==, !=
4 ऑपरेशन और
5 ऑपरेशन OR
क्रियाओं के क्रम को बदलने के लिए कोष्ठक का उपयोग किया जाता है
बूल वेरिएबल्स
कई प्रोग्रामिंग भाषाओं में, वेरिएबल्स का उपयोग करना संभव है जो बूलियन मानों ("सच"/"गलत") को संग्रहीत करते हैं। C++ में ऐसे वेरिएबल वैल्यू को ट्रू (ट्रू) या गलत (गलत) ले सकते हैं। उदाहरण के लिए, एक प्रोग्राम खंड
<पूर्व>
बूलियन ए, बी;
ए = सच;
बी = झूठा;
सिस्टम.आउट.प्रिंट (ए || बी);
पूर्व>
1 प्रदर्शित करता है (जो सत्य है, असत्य 0 है)।
बूलियन चर प्रकार bool
के होते हैं, जिसका नाम तर्क के बीजगणित के निर्माता, अंग्रेजी गणितज्ञ जॉर्ज बूले के नाम पर रखा गया है।