با سلام به همه دوستاران جاوا در وب سایت ITSI.IR . امیدوارم تا اینجای آموزش ها را به خوبی تمرین کرده باشید .
در این درس میخواهیم شما را با ساختار if و در ادامه ساختار else if آشنا کنیم . این درس را با یک مثال ادامه خواهیم داد .
در عبارت انتخاب if هدف ما انتخاب یکی از شرط های ما و اجرای دستورات آن میباشد . مثلا میخواهیم بررسی کنیم که آیا سن یک کاربر از 30 سال بیشتر است یا خیر . دستور را به صورت زیر می نویسیم .

if ( age > 30 )
print ( دستورات ) ;

با شکل کلی دستور آشنا شدید . در ابتدا بررسی می کند سن کاربر از 30 بیشتر است یا خیر ؟ اگر درست باشد و از 30 بیشتر باشد شرط ما مقدار true میباشد و کد های داخل شرط یعنی print انجام میشوند و اگر سن کاربر از 30 بیشتر نبود و شرط ما false شد دستورات داخل if اجرا نمیشود و ادامه برنامه به بعد از بلاک if میرسد .

تصویر زیر شکل کلی اجرای شرط if را نمایش میدهد .

درس دهم : عبارت انتخاب if و else if در جاوا

شکل کلی دستور if

عبارت انتخاب if..else
در عبارت انتخاب if اگر شرط برقرار بود دستورات داخل if اجرا میشد و اگر که شرط برقرار نبود برنامه ما به اصطلاح از روی دستور if پرش میکرد . حال می خواهیم کاری کنیم که اگر شرط درست بود یک سری دستورات و اگر شرط برقرار نبود این امکان را داشته باشیم یک سری دستورات دیگر را اجرا کنیم .

if(age>30) {
System.out.print(“دستورات اول”);
}
else {
System.out.printf(“دستورات دوم”);
}

تصویر زیر شکل کلی اجرای شرط if..else را نمایش میدهد.

درس دهم : عبارت انتخاب if و else if در جاوا

شکل کلی دستور if else

لازم به ذکر است که if..else را می توان به صورت تو در تو نیز استفاده کرد . به کد زیر دقت کنید که دستورات به صورت تو در تو قرار داده شده اند .

if(age>30){
System.out.print(“دستورات”);
} else if (age>40){
System.out.print(“دستورات”);
} else if (age >50 ) {
System.out.print(“دستورات”);
} else {
System.out.print(“دستورات”);
}

دستورات بالا را می توان به صورت زیر هم تایپ کرد .

if(age>30)
System.out.print(“دستورات”);
else
if (age>40)
System.out.print(“دستورات”);
else
if (age >50
System.out.print(“دستورات”) ;
else
System.out.print(“دستورات”);

نکته : اگر دستورات داخل بدنه if تک خطی باشد می توانید از { } استفاده نکنید و اگر چند خطی باشد باید داخل { } قرار داده شوند .
if(age>30)
System.out.printf(“ستورات”);
else {
System.out.print(“دستورات”);
System.out.print(“دستورات”);
}

در جاوا ما یک عملگر شرطی دیگر داریم ( : ? )
این عملگر سه عملوند دریافت میکند و به همراه یک شرط تشکیل عبارت شرطی میدهند .

  • عملوند اول نشان دهنده شرط ما میباشد
  • عملوند دوم مقداری است که در صورت برقرار بودن شرط true اجرا میشود .
  • عملوند سوم مقداری است که در صورت false بودن شرط اجرا می شود .

برای مثال عبارت زیر را مشاهده کنید

System.out.println(age>30 ? “دستور true” : “دستور flase” ) ;

مفهوم کامل این درس را با مثال زیر ادامه می دهیم .
برنامه netBeans را اجرا کنید و یک پروژه جدید با نام MyClassTest ایجاد کنید و یک کلاس با نام MyClass . دستورات زیرا در MyClass قرار دهید .

package myclasstest;

public class MyClass {
 
   private String name ;
   private double average ;
   
   public MyClass(String name , double average){
       this.name = name;
       if(average >0.0)
           if(average <= 100.0){
               this.average = average ;
           }
   }
   
   public void setName(String name){
       this.name = name ;
   }
   public String getName(){
       return name;
   }
   
   
   public void setAverage(double average){
       if(average >0.0)
           if(average <= 100.0){
               this.average = average ;
           }
   }
   
   public double getAverage(){
       return average ;
   }
   
   public String checkAverage(){
       String check = "";
       
       if(average >=90.0){
           check="A";
       }else if(average >=80.0){
           check="B";
       }else if(average >=70.0){
           check = "C";
       }else if(average >=60.0){
           check="D";
       }else{
           check="F";
       }
       
       return check;
   }
}

کد ما دارای دو متغیر نمونه با نام های name از نوع String و average از نوع double می باشد .
سازنده ما متغیر های نمونه مارا مقدار دهی اولیه میکند و متغیر نمونه average را اعتبار سنجی میکند که آیا از 0 بزرگتر و از 100 کمتر است یا خیر اگر درست است مقدار را به آن اختصاص میدهد .

از متد checkAverage و شروط تودر تو if..else نیز برای بررسی میانگین و نمایش حرف مناسب با آن استفاده کرده ایم اگر بزرگتر یا مساوی از 90 باشد حرف A بزرگتر یا مساوی 80 باشد حرف B و تا انتهای متد به همین صورت میباشد و اگر هیچ کدام از شروط برقرار نباشد حرف F را چاپ میکند و در آخر هم متغیری را که در متد تعریف کرده ایم با نام check برای ما برمیگرداند .
حالا با استفاده از کلاس اصلی برنامه و کدهای زیر برنامه خود را اجرا میکنیم مشاهده میکنید بر اساس نمره قرار داده شده برای average و نام دانش آموزحرف متناسب با آن چاپ میشود .

package myclasstest;


public class MyClassTest {


    public static void main(String[] args) {
        
        MyClass Student1 = new MyClass("Mohammad Dadkhah", 94.5);
        MyClass Student2 = new MyClass("Mohsen Seifoori", 81.75);
        MyClass Student3 = new MyClass("Mehdi Rad", 71.75);
        MyClass Student4 = new MyClass("Mehrdad Teimori", 62.25);
        MyClass Student5 = new MyClass("Javad Shojaii", 54.05);
        
        
        System.out.printf("%s Student 1 Average : %s\n",
                Student1.getName() , Student1.checkAverage());
        
         System.out.printf("%s Student 2 Average : %s\n",
                Student2.getName() , Student2.checkAverage());
        
         System.out.printf("%s Student 3 Average : %s\n",
                Student3.getName() , Student3.checkAverage());
         
         System.out.printf("%s Student 4 Average : %s\n",
                Student4.getName() , Student4.checkAverage());
        
         System.out.printf("%s Student 5 Average : %s\n",
                Student5.getName() , Student5.checkAverage());
    }
    
}

خروجی برنماه

درس دهم : عبارت انتخاب if و else if در جاوا

خروجی برنامه

خب دوستان عزیز این درس هم به پایان رسید . اگر سوالی داشتید در بخش نظرات حتما مطرح کنید . فایل برنامه برای شما قرار داده شد . موفق و پیروز باشید .

دانلود فایل آموزش