خوب.
پس بیایید به عملگرهای منطقی نگاه کنیم.
و عملگرهای منطقی چه هستند؟
عملگرهای منطقی عبارتند از: و (AND)، یا (OR) و نه (NOT).
پس این‌ها سه عملگر منطقی هستند.
اجازه دهید آن‌ها را یکی‌یکی بررسی کنم.
این عملگر AND است.
این عملگر OR است.
و این عملگر NOT است.
پس اکنون چگونه می‌توانیم از آن‌ها استفاده کنیم؟
فرض کنید باران می‌بارد ولی ما چتر داریم.
در آن صورت فقط می‌گوییم که محافظت شده‌ایم.
پس باران می‌بارد؛ من در برابر باران محافظت شده‌ام.
اما در حال حاضر محافظت‌شده نیستم.
پس چگونه مطمئن شوم که محافظت خواهم شد؟ خب، بنابراین می‌توانم
end می‌توانم این را اضافه کنم و اینجا بگویم که چتر دارد.
پس اگر باران بیاید و من چتر داشته باشم، محافظت خواهم شد.
بیایید این کد را دوباره اجرا کنیم و ببینیم «من در برابر باران محافظت شده‌ام» — خوب، پس اوکی هستیم
و این همان عبارت است. AND
حالا بیایید از عملگر OR استفاده کنیم.
عملگر.
و چه زمانی من خیس نمی‌شوم؟
بیایید فرض کنیم خیس نمی‌شوم.
پس چه زمانی خیس نمی‌شوم؟
یا وقتی چتر دارم یا وقتی باران نمی‌بارد.
اینجا می‌نویسم باران نمی‌بارد.
پس علامت تعجب (!) را اضافه می‌کنم.
با استفاده از این علامت تعجب در ابتدا، در واقع مقدار
بولین را برعکس می‌کنم.
breakpoint خب، بیایید اینجا یک بگذاریم و کدمان را اجرا کنیم.
وقتی برنامه به این نقطه رسید، می‌توانم ماوس را روی isRainy نگه دارم.
و می‌گوید isRainy برابر true است.
حالا اگر روی عبارت با علامت تعجب نگه دارم، ناگهان مقدار false نمایش داده می‌شود.
متغیر hasUmbrella برابر true است.
if پس در این حالت، کل عبارت به ارزیابی می‌شود. حالا چطور می‌توانم ببینم این عبارت
true به‌طور کامل است یا نه؟
یادتان هست چطور انجام دادیم؟
ما عبارت را انتخاب کردیم و کلید را زدیم. Shift+F9
با این کار می‌بینیم که کل شرط — !isRainy یا hasUmbrella —
در ترکیب این دو مقدار، نتیجه می‌دهد. true
پس بیایید اینجا برنامه را متوقف کنیم.
و در واقع اگر بدون دیباگر اجرا کنیم، پیام «من خیس نمی‌شوم» چاپ می‌شود.
اما دلیلش این است که مهم نیست باران ببارد یا نه.
چون بخش hasUmbrella برابر true است.
بنابراین کل عبارت در هر صورت true خواهد بود.
پس بیایید امتحان کنیم.
می‌نویسد: «من خیس نمی‌شوم» حتی اگر باران ببارد.
چون من چتر دارم.
اما حالا مقدار umbrella را روی false می‌گذاریم و دوباره اجرا می‌کنیم.
این بار کد اجرا نمی‌شود.
پس جمله «من خیس نمی‌شوم» چاپ نمی‌شود.
حالا فرض کنید باران نمی‌بارد.
false پس مقدار isRainy را روی قرار می‌دهم.
دوباره اجرا می‌کنم و می‌بینم: «من خیس نمی‌شوم.»
و چرا بدون داشتن چتر خیس نمی‌شوم؟
چون اصلاً چتری همراه ندارم.
این به این دلیل است که مقدار isRainy برابر false شده است.
و حالا علامت تعجب این false را به true تبدیل کرده است.
پس این شرط true می‌شود و کل عبارت هم true خواهد بود، چون از OR استفاده کرده‌ایم.
خب، چطور می‌توانیم این را واضح‌تر کنیم؟
بیایید اینجا آن را تجزیه کنیم.
اگر سمت چپ true باشد و سمت راست هم true،
نتیجه با OR برابر true خواهد بود.
OR این خاصیت است، اوکی.
بیایید حالت‌های مختلف عبارت OR را بررسی کنیم.
چه حالت‌هایی داریم؟
یکی از حالت‌ها true و false است.
که نتیجه true خواهد بود، چون یکی از دو طرف true است.
این همان کاربرد OR است: فقط کافی است یکی از گزینه‌ها true باشد.
در این صورت نتیجه true خواهد بود.
و این تفاوتش با AND است.
که بعداً خواهیم دید.
اگر یکی false و دیگری true باشد، باز هم نتیجه true خواهد بود.
حالت چهارم: اگر هر دو طرف false باشند.
در این حالت نتیجه false خواهد بود.
پس عملگر OR اساساً همیشه true می‌دهد —
به جز یک حالت: وقتی هر دو طرف عبارت false باشند.
اگر هم سمت چپ و هم سمت راست OR برابر false باشند، مقدار بازگشتی false خواهد بود.
خوب.
پس،
در ویدیوی بعدی عملگر AND را بررسی می‌کنیم.