دستورات شرطی if در جاوا
دستورات شرطی if در جاوا برای تصمیمگیری در برنامه و اجرای کد بر اساس برقرار بودن شرط استفاده میشوند.
دستورات شرطی if در جاوا
دستورات شرطی if در جاوا یکی از مهمترین ابزارهای کنترل جریان برنامه هستند.
با استفاده از if میتوان مشخص کرد که اگر یک شرط خاص برقرار بود، بخشی از کد اجرا شود.
این مفهوم پایهی تصمیمگیری در برنامهنویسی است و در تمام پروژههای واقعی از سیستمهای ساده تا نرمافزارهای سازمانی کاربرد دارد.
ساختار ساده آن به صورت { } if (condition) است و زمانی اجرا میشود که شرط مقدار true داشته باشد.
برای ایجاد حالتهای دوگانه از ساختار if else استفاده میشود.
در این حالت اگر شرط درست باشد، بخش اول اجرا میشود و در غیر این صورت، بخش else اجرا خواهد شد.
همچنین میتوان با استفاده از else if چندین شرط مختلف را پشت سر هم بررسی کرد.
این ساختار برای دستهبندی وضعیتها مانند تعیین سطح نمره، محاسبه تخفیف یا بررسی شرایط استخدام بسیار کاربردی است.
در شرایط پیچیدهتر میتوان از if تودرتو (Nested if) استفاده کرد؛ یعنی داخل یک شرط، شرط دیگری نوشت.
این روش زمانی کاربرد دارد که تصمیمگیری چندمرحلهای باشد،
مثل بررسی سن، وضعیت شغلی و میزان درآمد به صورت همزمان.
البته در پروژههای حرفهای بهتر است از تو در تو شدن بیش از حد شرطها پرهیز شود تا کد خواناتر و قابل نگهداریتر باقی بماند.
دستورات شرطی در جاوا چیست؟ (Java Conditional Statements)
دستورات شرطی در جاوا به ما اجازه میدهند بر اساس یک شرط خاص، مسیر اجرای برنامه را تغییر دهیم.
به زبان ساده:
-
اگر شرط برقرار بود → کاری انجام بده
-
در غیر این صورت → کار دیگری انجام بده
این مفهوم اساس منطق برنامهنویسی است.
🚀 از صفر تا قهرمان جاوا، فقط با یک دوره!
به دنبال یه فرصت طلایی برای شروع برنامهنویسی میگردی؟
دوره آموزشی جاوا ما، همون چیزیه که نیاز داری!✨ چرا این دوره رو انتخاب میکنی؟
🎯 از مبتدی تا حرفهای
بدون پیشزمینه شروع میکنی و به یه برنامهنویس جاوا تبدیل میشی که بازار کار منتظرته!🛠 پروژهمحور و عملی
با انجام پروژههای واقعی، کدنویسی رو یاد میگیری، نه فقط تئوری!👨🏫 پشتیبانی همیشگی
هرجا گیر کنی، تیم پشتیبانی کنارته تا مشکلت حل بشه.🔓 دسترسی مادامالعمر
هر وقت خواستی به محتوا دسترسی داری، برای همیشه!
ساختار ساده if در جاوا
سادهترین نوع شرط در جاوا:
if (condition) {
// دستورات
}
مثال:
int age = 20;
if (age >= 18) {
System.out.println("شما بزرگسال هستید");
}
اگر شرط age >= 18 درست باشد، پیام نمایش داده میشود.
شرط if else در جاوا ( Java if else Statement)
اگر بخواهیم در صورت برقرار نبودن شرط، مسیر دیگری اجرا شود، از if else استفاده میکنیم.
if (condition) {
// اگر درست بود
} else {
// اگر نادرست بود
}
مثال کاربردی:
int score = 45;
if (score >= 50) {
System.out.println("قبول شدید");
} else {
System.out.println("مردود شدید");
}
این نمونه ساده از Java if else Statement است.
استفاده از چند شرط با else if
گاهی بیش از دو حالت داریم:
if (condition1) {
} else if (condition2) {
} else {
}
مثال:
int score = 85;
if (score >= 90) {
System.out.println("عالی");
} else if (score >= 70) {
System.out.println("خوب");
} else if (score >= 50) {
System.out.println("متوسط");
} else {
System.out.println("ضعیف");
}
if تودرتو در جاوا ( Nested if in Java)
گاهی لازم است داخل یک شرط، شرط دیگری بررسی شود. به این حالت if تودرتو در جاوا | Nested if in Java میگویند.
مثال:
int age = 25;
boolean hasLicense = true;
if (age >= 18) {
if (hasLicense) {
System.out.println("اجازه رانندگی دارید");
} else {
System.out.println("گواهینامه ندارید");
}
}
در اینجا شرط دوم فقط در صورت درست بودن شرط اول بررسی میشود.
مثال پروژهمحور 1: سیستم ورود کاربر
String username = "admin";
String password = "1234";
if (username.equals("admin")) {
if (password.equals("1234")) {
System.out.println("ورود موفق");
} else {
System.out.println("رمز اشتباه است");
}
} else {
System.out.println("نام کاربری اشتباه است");
}
این نمونهای از Nested if in Java در سیستمهای احراز هویت است.
مثال تجاری: سیستم محاسبه تخفیف فروشگاه
فرض کنید فروشگاهی داریم با قوانین زیر:
- اگر خرید بالای 5 میلیون باشد → 10٪ تخفیف
- اگر مشتری ویژه باشد → 20٪ تخفیف
double purchase = 6000000;
boolean vip = true;
if (vip) {
System.out.println("20% تخفیف اعمال شد");
} else if (purchase > 5000000) {
System.out.println("10% تخفیف اعمال شد");
} else {
System.out.println("بدون تخفیف");
}
این نمونه کاربردی از Java Conditional Statements در پروژههای تجاری است.
استفاده از عملگرهای منطقی در شرطها
در مبحث java-if-else-conditional-statements عملگرهای منطقی اهمیت زیادی دارند:
-
&& (و)
-
|| (یا)
-
! (نقیض)
مثال:
int age = 22;
boolean hasID = true;
if (age >= 18 && hasID) {
System.out.println("اجازه ورود دارید");
}
مثال پروژهای پیشرفته: سیستم وام بانکی
شرایط دریافت وام:
- سن بالای 21
- حقوق بیشتر از 15 میلیون
- سابقه کاری حداقل 2 سال
int age = 30;
double salary = 20000000;
int experience = 3;
if (age > 21) {
if (salary > 15000000) {
if (experience >= 2) {
System.out.println("وام تایید شد");
} else {
System.out.println("سابقه کاری کافی نیست");
}
} else {
System.out.println("حقوق کافی نیست");
}
} else {
System.out.println("سن کافی نیست");
}
این یک مثال عملی از Nested if in Java در پروژههای بانکی است.
اشتباهات رایج در دستورات شرطی در جاوا
❌ استفاده از = به جای ==
❌ فراموش کردن {} در چند خط کد
❌ شرطهای بیش از حد پیچیده
❌ استفاده نکردن از equals برای مقایسه رشته
مثال اشتباه:
if (username == "admin") // اشتباه
درست:
if (username.equals("admin"))
بهترین روش استفاده از Java if else Statement
✅ شرطها را ساده بنویسید
✅ از متغیرهای کمکی استفاده کنید
✅ از تو در تو کردن بیش از حد پرهیز کنید
✅ برای خوانایی از تورفتگی (Indentation) مناسب استفاده کنید
✅ در پروژههای بزرگ منطق شرطی را در متد جدا قرار دهید
تفاوت if و switch
در دستورات شرطی در جاوا گاهی به جای if از switch استفاده میشود.
اگر تعداد حالتها زیاد و مبتنی بر یک متغیر باشد، switch مناسبتر است.
اما برای شرطهای پیچیده و منطقی، if بهتر است.
سوالات تمرینی درباره java-if-else-conditional-statements
✅ سوال 1
خروجی کد زیر چیست؟
int x = 10;
if (x > 5)
if (x < 15)
System.out.println("A");
else
System.out.println("B");
پاسخ:
خروجی:
A
🔎 توضیح:
در جاوا، else همیشه به نزدیکترین if بدون else متصل میشود.
شرط اول x > 5 درست است (10 بزرگتر از 5 است).
سپس شرط دوم x < 15 نیز درست است (10 کوچکتر از 15 است).
پس دستور System.out.println("A"); اجرا میشود.
✅ سوال 2
برنامهای بنویسید که عددی را دریافت کند و زوج یا فرد بودن آن را مشخص کند.
پاسخ:
import java.util.Scanner;
public class EvenOdd {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("عدد را وارد کنید: ");
int number = input.nextInt();
if (number % 2 == 0) {
System.out.println("عدد زوج است");
} else {
System.out.println("عدد فرد است");
}
input.close();
}
}
🔎 توضیح:
اگر باقیمانده تقسیم عدد بر 2 برابر صفر باشد، عدد زوج است؛ در غیر این صورت فرد است.
✅ سوال 3 (پروژهای)
سیستم ارزیابی کارمند طراحی کنید.
پاسخ:
import java.util.Scanner;
public class EmployeeEvaluation {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("امتیاز کارمند را وارد کنید: ");
int score = input.nextInt();
if (score > 90) {
System.out.println("عالی");
} else if (score >= 70) {
System.out.println("خوب");
} else if (score >= 50) {
System.out.println("متوسط");
} else {
System.out.println("ضعیف");
}
input.close();
}
}
🔎 این نمونه یک کاربرد عملی از دستورات شرطی if else در جاوا در سیستمهای منابع انسانی است.
✅ سوال 4
چرا استفاده زیاد از if تودرتو در جاوا باعث کاهش خوانایی میشود؟
پاسخ:
زیاد شدن ifهای تودرتو (Nested if) باعث میشود:
- کد پیچیده و سختخوان شود
- احتمال خطای منطقی افزایش یابد
- درک مسیر اجرای برنامه دشوار شود
- نگهداری و توسعه کد سختتر گردد
در پروژههای حرفهای بهتر است به جای تو در تو کردن زیاد شرطها، از روشهایی مثل:
- استفاده از متغیرهای کمکی
- متدهای جداگانه
- یا ساختارهای مناسبتر مانند switch
استفاده شود تا کد تمیزتر و قابل فهمتر باشد.
جمعبندی نهایی
در اینجا یاد گرفتیم که چگونه برنامه را بر اساس شرایط مختلف کنترل کنیم، چگونه از if ساده، if else و if تودرتو استفاده کنیم و چگونه در پروژههای واقعی و تجاری از آن بهره ببریم.
تسلط بر دستورات شرطی در جاوا یکی از مهمترین مهارتهای پایه برای تبدیل شدن به یک برنامهنویس حرفهای Java است.




کاربران ما
شما هم نظرتون با ما دریاره “دستورات شرطی if در جاوا” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید