دستور if else در جاوا یک دستور شرطی است. جاوا درست مانند ریاضیات از شرایط استفاده می کند و امکان مقایسه هایی را فراهم می کند که نتایج بولی به دست می دهد. بنابراین میتوانید ورودیها را آزمایش کنید تا ببینید چگونه با مجموعه ایستا از مقادیری که شما مشخص کردهاید مقایسه میشوند. از آنجا که نتیجه Boolean است، تنها دو نتیجه ممکن وجود دارد: 0 یا 1; یعنی نادرست یا درست . یک عبارت if else جاوا به دو روش اساسی ساختار یافته است. اولی عبارت if then ساده در جاوا است. دومی اگر-پس-دیگر است . استفاده از دستور else به عنوان یک مسیر اجرایی ثانویه به این کنترل شرطی انعطاف پذیری زیادی می دهد.
اگر دستور زبان جاوا
دستور if در جاوا از دستور زیر استفاده می کند:If (condition) {
//do this code
}
اگر شرط مقدار بولی true را برگرداند ، کد داخل براکت ها اجرا می شود. اگر مقدار به عنوان false برگردد ، از کد پرانتزی صرفنظر می شود. این قطعه کد را در نظر بگیرید.
int a = 20;
if (a%2 == 0) {
System.out.println(a + " is even.");
}
…
خروجی کد بالا "20 زوج است" خواهد بود. دلیل آن این است که شرط آزمایش شده این بود که وقتی عدد صحیح a بر 2 تقسیم شود، باقیمانده چقدر خواهد بود. استفاده از دستور if جاوا راه خوبی برای بررسی آنچه در خلال اشکال زدایی کد میگذرد است. اگر کد شما به درستی پاسخ نمیدهد، میتوانید شرطی را وارد کنید که به سادگی به کد شما میگوید اگر مطابق انتظار کار میکند، تأییدیه چاپ کند. به این ترتیب، میتوانید مکانهایی را که کد بد رفتار میکند محدود کنید.
نحو جاوا برای عبارات If Else
نحو جاوا if else به صورت زیر است:if (condition) {
//do this code
} else {
//do this code
}
همانطور که می بینید، با اضافه کردن عبارت else ، می توانید مجموعه دومی از عبارات را ایجاد کنید که وقتی پاسخ بولی نادرست است، فعال می شوند . بیایید یک عبارت else به قطعه کد اصلی خود اضافه کنیم و آن را در داخل یک حلقه افزایش ساده برای قرار دهیم.
…
for (int x = 1; x <=4; x++) {
if (x%2 == 0) {
System.out.println(x + " is even.");
} else {
System.out.println(x + " is odd.");
}
}
می بینید که x از 1 شروع می شود و وارد حلقه می شود و با همان شرطی آزمایش می شود. از آنجا که مدول بازگشتی هنگام تقسیم 1 بر 2 صفر نیست، یک بولی نادرست برگردانده می شود. این دستور if اولیه را نادیده می گیرد و دستور else را فعال می کند . بنابراین خروجی این حلقه خواهد بود:
1 is odd.
2 is even.
3 is odd.
4 is even.
در حالی که این سرگرم کننده است، ممکن است تعجب کنید که عبارات java if other چه کاربردی دارند. در دنیای واقعی، آنها مزایای بسیار زیادی دارند زیرا آنها صرفاً بر ارزش های بولی درست و نادرست متکی هستند . یک بازی ویدیویی مانند فورتنایت از عبارت if else استفاده میکند تا مشخص کند که آیا یک بازیکن به بازیکن دیگری برخورد میکند یا خیر. یک بررسی کننده رمز عبور ورودی شما را با یک رمز عبور ذخیره شده مقایسه می کند، و اگر مطابقت داشته باشد، به شما اجازه ورود می دهد. در غیر این صورت، این کار را نمی کند و به شما می گوید که گذرواژه ها مطابقت ندارند. بنابراین، حتی با در نظر گرفتن اینکه یک عبارت if else جاوا چقدر همه کاره است، می توانید با افزودن شرایط بیشتر، آن را همه کاره تر کنید. به این عبارت تودرتو if else java گفته می شود.
دستورات Nested If Else و Else If Java
وقتی شروع به تودرتو یا تکرار دستورات Java if else میکنید، زنجیرهای از شرایط ایجاد میکنید که هر کدام برای یک مقدار بولی بررسی میشوند. نحو به این صورت است:if (condition) {
//do this code
} else if (condition) {
//do this code
} else if (condition) {
//do this code
} else {
//do this code
}
میتوانید دستور Java else if را تا زمانی که دوست دارید تکرار کنید و سیستم به آزمایش ورودی ادامه میدهد. توجه به این نکته مهم است که به محض اینکه یک شرط یک Boolean واقعی را برمی گرداند ، آن بخش کد در پرانتز اجرا می شود و برنامه کل قسمت if else کد را ترک می کند.
تو در تو اگر عبارات جاوا
همچنین میتوانید اگر دستوراتی را که شرط دیگری ندارند قرار دهید . بنابراین کد به سادگی است، اگر این درست است، و این درست است، این کار را انجام دهید. به نحو اینجا نگاه کنید:if (condition) {
if (condition) {
if (condition) {
//do this code
}
}
}
می بینید که کد قبل از اجرای کد پرانتزی نهایی، سه شرایط مختلف را بررسی می کند. می توانیم از این برای بررسی اول بودن یا نبودن یک عدد استفاده کنیم. به کد شبه زیر نگاه کنید که یک عدد صحیح x را با استفاده از دستورات if تو در تو بررسی می کند .
if (x > 1) {
if (x is odd) {
if (x modulo (every integer from 2 to x-1) != 0) {
// integer is prime
}
}
}
این کد سه بررسی را اجرا می کند:
- آیا عدد صحیح بزرگتر از 1 است، زیرا 1 اول نیست؟
- آیا عدد صحیح فرد است، زیرا فقط اعداد فرد بالای 2 اول هستند؟
- آیا هر عدد صحیح دیگری از 2 تا یک کوچکتر از x می تواند به طور مساوی به آن تقسیم شود؟
GO TO FULL VERSION