ترکیب true و false در Java
boolean both = true && true; کلمهٔ true را نگه میدارد، و System.out.println(both) کلمهٔ true را مینویسد. صفحه یک خط است. دو علامت && میان دو کلمهٔ true داخل فایل نشستهاند، و روی آن خط نیستند.
دو علامت && هر دو سمت را true میخواهند
Mint.java را باز کنید. نام فایل Mint.java میماند، چون public class Mint هنوز نام فایل است. این صفحه نام فایل را عوض نمیکند و public class Mint را هم عوض نمیکند. اگر خط boolean match هنوز آنجاست، پاکش کنید، از جمله 4 == 4 و 4 == 9 و هر علامت پرسشی میان دو عدد صحیح. اگر خط int total هنوز آنجاست، پاکش کنید. اگر خط String[] plants هنوز آنجاست، پاکش کنید. اگر خط boolean ripe هنوز آنجاست با یک true یا false لخت و بدون علامت ترکیب، پاکش کنید. هر خط import، هر خط reader، و هر خط nextLine را هم پاک کنید. فایلی که نگه میدارید import ندارد، Scanner ندارد، nextLine ندارد، match ندارد، total ندارد، plants ندارد، و خط ripe لخت هم ندارد. یک import که در فایل مانده و به کار نرفته، بهتنهایی باعث نمیشود javac خطا بدهد، و true را هم نمینویسد. کلمه را فقط خط نویسندهای مینویسد که از نامی استفاده میکند که جواب ترکیبشده را نگه میدارد.
درون main، خط نگهداری این است: boolean both = true && true;. boolean کلمهٔ جور است. میگوید این نام یکی از دو کلمه را نگه میدارد، true یا false. both نام است و با b کوچک شروع میشود. علامت = اول نگه میدارد. سمت راستِ همان = اول دو کلمهٔ true یا false و یک علامت ترکیب نشستهاند. کلمهٔ اول true است، همه با حرف کوچک، بدون گیومه. علامت ترکیب دو علامت && است که بدون فاصله کنار هم نوشته شدهاند. کلمهٔ دوم هم true است، همه با حرف کوچک، بدون گیومه. نقطهویرگول خط را تمام میکند. این خط یک کلمه نگه میدارد. صفحه را نمینویسد. نگه داشتن هنوز نوشتن نیست. تا پایان همین خط صفحه خالی میماند. علامت ترکیب نمیپرسد آیا دو عدد صحیح جورند. عدد صحیح سومی هم نمیسازد. به دو جوابی نگاه میکند که از قبل true یا false هستند، و از آنها یک جواب میسازد.
دو علامت && یعنی هر دو سمت باید true باشند. وقتی سمت چپ true باشد و سمت راست هم true باشد، کلمهٔ ترکیبشده true است. وقتی هر کدام از دو سمت false باشد، کلمهٔ ترکیبشده false است. boolean both = true && false; کلمهٔ false را نگه میدارد. boolean both = false && true; کلمهٔ false را نگه میدارد. boolean both = false && false; کلمهٔ false را نگه میدارد. فایلی که نگه میدارید true && true را به کار میبرد، پس کلمهٔ نگهداشته true است.
علامت ترکیب همان کار علامت پرسش نیست. صفحهٔ مقایسه == را میان دو عدد صحیح گذاشت. آن پرسش از عددها true یا false ساخت. این صفحه && را میان دو مقداری میگذارد که از قبل true یا false هستند. صفحهٔ علامتها + را میان دو عدد صحیح گذاشت تا عدد صحیح سومی بسازد. && عدد صحیح سومی نمیسازد. اگر boolean both = 4 && 9; بنویسید، روی شکل درسی این صفحه javac خطا مینویسد، چون سمتهایی که این صفحه نگه میدارد true یا false هستند، نه عدد صحیح لخت. برای فایلی که نگه میدارید هر دو سمت را true یا false نگه دارید.
خط نویسنده همان نام لخت است: System.out.println(both);. گیومه نیست، و روی آن خط علامت ترکیب هم نیست. Java نام both را میخواند، کلمهای را که آن نام نگه میدارد مینویسد، و خط را تمام میکند. برای فایلی که نگه میدارید آن کلمه true است. حرفهای خود نام، b و o و t و h، روی صفحه نیستند. boolean روی صفحه نیست. دو علامت && روی صفحه نیستند. دو کلمهٔ true جدا بهصورت دو خط روی صفحه نیستند. کلمهٔ true روی صفحه است، یک خط. فایل را ذخیره کنید.
فایلی که نگه میدارید
این را با نام Mint.java ذخیره کنید. این همان فایلی است که این صفحه نگه میدارد. یک کلمهٔ جور، boolean. یک نام، both. یک خط نگهداری که true را مینویسد، بعد دو علامت &&، بعد true، بدون گیومه دور هیچکدام. یک خط نویسنده، و آن خط از نام لخت استفاده میکند. خط match نیست، خط total نیست، و خط نویسندهٔ دوم هم نیست.
public class Mint {
public static void main(String[] args) {
boolean both = true && true;
System.out.println(both);
}
}
فایل را از بالا بخوانید. public class Mint نام فایل را مشخص میکند. صفحه را نمینویسد. public static void main(String[] args) جایی است که Java شروع میکند. کلمهٔ String روی همان خط main هنوز خط نگهداری نیست. کروشههای روی همان خط main مال args هستند، و این صفحه args را نمیخواند. boolean both = true && true; کلمهٔ true را نگه میدارد. چیزی نمینویسد. System.out.println(both); کلمهٔ true را مینویسد و خط را تمام میکند. روی صفحه یک خط است. بدون گیومه. خط دوم نیست. در فایلی که نگه میدارید خط boolean match نیست، و خطی که بپرسد آیا 4 با 4 جور است هم نیست.
آنچه صفحه نشان میدهد
در پوشهای که این Mint.java در آن است، javac Mint.java را بنویسید. وقتی فایل درست باشد، این فرمان هیچ خطی نمینویسد. دو علامت && میان دو کلمهٔ true باعث نمیشود javac خطی بنویسد، و باعث نمیشود javac خطا بدهد. بعد java Mint را بنویسید. بعد از java پسوند .java را ننویسید. همین دو فرمان را در Windows و در macOS مینویسید. این صفحه آن علامتی را که پوسته پیش از فرمان نشان میدهد نقل نمیکند. برنامه true را مینویسد. منتظر نمیماند که چیزی تایپ کنید. دو کلمهٔ true و علامت ترکیب از قبل داخل فایل بودند. اگر java Mint منتظر ماند، هنوز nextLine داخل فایل است. آن خط را پاک کنید و boolean both = true && true; و همان یک خط نویسنده را نگه دارید. برنامه بعد از خط نویسنده تمام میشود.
صفحه true را نشان میدهد. یک خط. بدون گیومه. اگر صفحه both را نشان دهد، خط نویسنده دور نام گیومه دارد: System.out.println("both");. آن گیومهها حرف را مشخص میکنند، پس کلمهٔ نگهداشته نوشته نمیشود. اگر صفحه true را از boolean match = 4 == 4; نشان دهد، فایل مقایسه هنوز سر جایش است. خط match را پاک کنید. اگر صفحه false را نشان دهد، یکی از دو سمت && هنوز false است؛ آن بررسی مجاز است، و فایلی که نگه میدارید نیست. اگر صفحه حرفهای true && true را نشان دهد، خط نویسنده دور همان نویسهها گیومه دارد. برای صفحهای که خط اشتباه نشان میدهد Java را دوباره نصب نکنید.
صفحهای که true نشان میدهد، بهتنهایی علامت ترکیب را ثابت نمیکند. boolean both = true; هم true مینویسد. صفحه میتواند یکسان به نظر برسد. فایل یکسان نیست. فایلی که نگه میدارید true دارد، بعد &&، بعد true. وقتی این صفحه را قضاوت میکنید، دو علامت && میان دو کلمهٔ true را ببینید. فایل را فقط از روی صفحه قضاوت نکنید.
فاصله دور علامت ترکیب مجاز است. boolean both = true&&true; بدون فاصله هنوز true را نگه میدارد، و javac هیچ خطی نمینویسد. boolean both = true && true; با فاصله هنوز true را نگه میدارد. فایلی که نگه میدارید دور علامت فاصله دارد، چون آنطور علامت راحتتر دیده میشود. فاصلهها مقدار دوم نیستند. فاصله میان خود دو علامت && مجاز نیست. boolean both = true & & true; باعث میشود javac خطا بنویسد. دو علامت && را کنار هم نگه دارید. یک علامت & بهتنهایی علامت این صفحه نیست. boolean both = true & true; فایلی که نگه میدارید نیست. ممکن است javac خطا بنویسد، یا آن خط درس این صفحه نباشد. دو علامت && بنویسید.
گیومه دور true آن را به حرف تبدیل میکند. boolean both = "true" && true; از Java میخواهد حرف را با یک کلمهٔ true یا false طوری ترکیب کند که این صفحه آموزش نمیدهد. javac خطا مینویسد. گیومهها را پاک کنید. هر دو سمت &&، روی این صفحه، کلمهٔ true یا false بدون گیومه هستند. System.out.println(true && true); بدون نام both هم true مینویسد. صفحه میتواند یکسان به نظر برسد. فایلی که نگه میدارید اول جواب ترکیبشده را زیر یک نام نگه میدارد، بعد همان نام را مینویسد.
نام باید پیش از خطی که از آن استفاده میکند وجود داشته باشد. اگر System.out.println(both); بالای boolean both = true && true; نوشته شود، javac خطا مینویسد. خط نویسنده نام both را مینویسد، در حالی که both هنوز ساخته نشده. خط نگهداری را بالای خط نویسنده بگذارید. برای همان نام، boolean را بار دوم ننویسید. خط بعدی میتواند کلمه را عوض کند، بدون آن که boolean را دوباره بنویسد، به شرط آن که both وجود داشته باشد: both = true && true;. آن شکل مجاز است. لازم نیست. فایلی که نگه میدارید نام را میسازد و جواب ترکیبشده را روی یک خط نگه میدارد.
وقتی یک سمت false است
فقط کلمهٔ راست را عوض کنید. کلمهٔ جور boolean بماند. نام both بماند. علامت همان دو && بماند. boolean both = true && false; سمت چپ true دارد و سمت راست false. دو علامت && هر دو سمت را true میخواهند. کلمهٔ ترکیبشده false است. خط نویسنده هنوز System.out.println(both); است. صفحه false را نشان میدهد. یک خط. نام both روی صفحه نیست. دو کلمهٔ true و false جدا بهصورت دو خط روی صفحه نیستند.
javac Mint.java را بنویسید. javac هیچ خطی نمینویسد. بعد java Mint را بنویسید. صفحه false را نشان میدهد. بعد از دیدن false، فایل نگهداشته را برگردانید: boolean both = true && true; و یک System.out.println(both);. صفحهٔ نگهداشته true است، یک خط. این اجرای false فقط بررسی است. فایلی که نگه میدارید نیست.
دو علامت || یک سمت true کافی است
علامت ترکیب دیگری دو علامت لوله را کنار هم میگذارد: ||. دو علامت || یعنی دستکم یک سمت باید true باشد. boolean either = true || false; کلمهٔ true را نگه میدارد. boolean either = false || true; کلمهٔ true را نگه میدارد. boolean either = true || true; کلمهٔ true را نگه میدارد. boolean either = false || false; کلمهٔ false را نگه میدارد. نام میتواند either باشد. کلمهٔ جور همان boolean میماند.
public class Mint {
public static void main(String[] args) {
boolean either = true || false;
System.out.println(either);
}
}
این فایل دوم است. فایلی که نگه میدارید نیست. javac Mint.java را بنویسید. javac هیچ خطی نمینویسد. بعد java Mint را بنویسید. صفحه true را نشان میدهد. یک خط. false را نشان نمیدهد. حرفهای true || false را هم نشان نمیدهد. اگر صفحه false را نشان دهد، شاید هر دو سمت هنوز false باشند، مثل boolean either = false || false;. آن خط مجاز است، و این فایل دوم نیست. بعد از دیدن true از true || false، فایل نگهداشته را برگردانید: boolean both = true && true; و System.out.println(both);.
دو علامت && و دو علامت || یک کار نیستند. && سختگیر است. هر دو سمت باید true باشند. || باز است. یک سمت true کافی است. فایلی که نگه میدارید && را یاد میدهد. فایل دوم فقط || را نشان میدهد. || را داخل فایل نگهداشته نگذارید. یک علامت لوله بهتنهایی ننویسید. boolean either = true | false; علامت بازِ ترکیبی که این صفحه نگه میدارد نیست.
علامت ! کلمه را برمیگرداند
علامت تعجب به یک کلمهٔ true یا false میچسبد و آن را برمیگرداند. آن علامت ! است. boolean flipped = !true; کلمهٔ false را نگه میدارد. boolean flipped = !false; کلمهٔ true را نگه میدارد. سمت دومی نیست. ! همان && نیست و همان || هم نیست. میان دو کلمه نمینشیند. به یک کلمه میچسبد.
public class Mint {
public static void main(String[] args) {
boolean flipped = !true;
System.out.println(flipped);
}
}
این فایل سوم است. فایلی که نگه میدارید نیست. javac Mint.java را بنویسید. javac هیچ خطی نمینویسد. بعد java Mint را بنویسید. صفحه false را نشان میدهد. یک خط. true را نشان نمیدهد. حرفهای !true را هم نشان نمیدهد. اگر صفحه true را نشان دهد، شاید خط نگهداری boolean flipped = !false; باشد، که false را به true برمیگرداند. آن خط مجاز است، و این فایل سوم نیست. بعد از دیدن false از !true، فایل نگهداشته را برگردانید.
نوشتن علامت ترکیب بهصورت حرف، ترکیب نمیکند. System.out.println("true && true"); نویسههای همان متن را مینویسد. صفحه true && true را نشان میدهد. آن کلمهٔ true ترکیب نگهداشته نیست. javac ساکت میماند. گیومهها همان چیزیاند که جلوی کار کردن علامت را میگیرند. فایلی که نگه میدارید دور کلمههای true گیومه ندارد، و خط نویسنده دور نام هم گیومه ندارد.
حالا میتوانید از دو جواب true یا false یک جواب true یا false بسازید و همان کلمه را بنویسید. boolean both = true && true; کلمهٔ true را نگه میدارد. System.out.println(both); کلمهٔ true را مینویسد و خط را تمام میکند. true && false کلمهٔ false را مینویسد. true || false کلمهٔ true را مینویسد. !true کلمهٔ false را مینویسد. صفحهٔ بعد این علامتهای ترکیب را بهتنهایی رها میکند. به if و else نگاه میکند، که از یک جواب true یا false یک مسیر را برمیگزینند.
صفحه همان کلمهٔ ترکیبشده است
فایلی که نگه میدارید true را مینویسد. نام روی خط نویسنده both است، و both روی صفحه نیست. دو علامت && داخل فایل هستند، و روی صفحه نیستند. دو کلمهٔ true داخل فایل هستند، و روی صفحه بهصورت دو خط جدا نیستند. علامت لوله و علامت تعجب، فایلی که نگه میدارید نیستند. گیومه دور علامت حرف مینویسد، نه کلمهٔ ترکیبشده را.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود