در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش جاوا (Java) قسمت 11 : عبارات شرطی

با سلام به همه دوستان و همراهان Itpro. در بخش های قبل گفتیم که برنامه های جاوا خط به خط از بالا به پایین اجرا می شوند. در قسمت قبل گفتیم که حلقه ها نحوه اجرا را تغییر می دهند و باعث می شوند که قسمتی از کد چند بار اجرا شود. در این بخش شرط ها توضیح داده می شوند. شرط ها به گونه ای هستند که تصمیم می گیریم قسمتی از کد اجرا بشود یا خیر. شرط ها یک یا چند شرط را بررسی می کنند و اگر شرط درست بود کد متناظر با آن شرط را اجرا می کنند. شکل زیر دیاگرام شرط ها را نشان می دهد.

آموزش جاوا (Java) قسمت 11 : عبارات شرطی

زبان جاوا عبارات شرطی زیر را فراهم می آورد که آنها را شرح خواهیم داد.

عبارات شرطی if

یک عبارت شرطی if از یک شرط و یک یا چند عبارت اجرایی تشکیل شده است. شکل نوشتاری آن مانند کد زیر است.

if(Boolean_expression)
{
   //Statements will execute if the Boolean expression is true
}

اگر شرط موجود در قسمت Boolean expression نتیجه true دهد پس بلوک کد داخل if اجرا می شود اما اگر مقدار شرط false باشد قسمت کد داخل بلوک if اجرا نمی شود و خط بعد از بلوک if اجرا خواهد شد. دیاگرام این شرط به شکل زیر خواهد بود.

آموزش جاوا (Java) قسمت 11 : عبارات شرطی

مثال زیر نحوه استفاده از این شرط را نشان می دهد.

public class Test {

   public static void main(String args[]){
      int x = 10;

      if( x < 20 ){
         System.out.print("This is if statement");
      }
   }
}

که خروجی کد به شکل زیر خواهد بود:

This is if statement

شرط if-else

یک شرط if می تواند با یک else همراه باشد. که نحوه ی این شرط به این شکل است که اگر شرط مورد نظر درست باشد دستور خود if و اگر شرط غلط باشد دستور else اجرا خواهد شد. نحوه نوشتاری این شرط به شکل زیر است:

if(Boolean_expression){
   //Executes when the Boolean expression is true
}else{
   //Executes when the Boolean expression is false
}

همانطور ک گفته شد اگر مقدار Boolean expression برابر true باشد بلوک if اجرا می شود و اگر این مقدار false باشد بلوک else اجرا خواهد شد. دیاگرام این شرط به شکل زیر خواهد بود

آموزش جاوا (Java) قسمت 11 : عبارات شرطی

برای مثال به کد زیر توجه کنید:

public class Test {

   public static void main(String args[]){
      int x = 30;

      if( x < 20 ){
         System.out.print("This is if statement");
      }else{
         System.out.print("This is else statement");
      }
   }
}

که نتیجه آن به شکل زیر خواهد بود

This is else statement

شرط if… else if … else

یک شرط if می تواند با یک یا چند else if همراه باشد. این حالت زمانی استفاده می شود که بخواهیم حالت های مختلف شرط را بررسی کنیم. برای استفاده از این شرط باید به نکات زیر دقت کنید:

  1. اگر پس از if از هر چند تا else if استفاده کنید اما بهتر است که در انتهای آن از یک بلوک else استفاده کنید.
  2. هیچگاه نمی توان بعد از بلوک else از else if استفاده کرد.
  3. اگر یک else if اجرا شود بقیه else if ها و else ها اجرا نخواهند شد.

نحوه نوشتن این شرط به شکل زیر خواهد بود:

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
   //Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
   //Executes when the Boolean expression 3 is true
}else {
   //Executes when the none of the above condition is true.
}

اگر مقدار Boolean expression 1 درست باشد بلوک if اجرا خواهد شد و اگر Boolean expression2 درست باشد بلوک else if اجرا خواهد شد و اگر شرط Boolean expression3 درست باشد else if دوم اجرا خواهد شد. اگر هیچکدام از شرط های گفته شده درست نباشند بلوک else اجرا می شود. برای مثال به کد زیر توجه کنید:

public class Test {

   public static void main(String args[]){
      int x = 30;

      if( x == 10 ){
         System.out.print("Value of X is 10");
      }else if( x == 20 ){
         System.out.print("Value of X is 20");
      }else if( x == 30 ){
         System.out.print("Value of X is 30");
      }else{
         System.out.print("This is else statement");
      }
   }
}

خروجی این کد به شکل زیر خواهد بود:

Value of X is 30

دستورات if تودرتو

در داخل هر سه شکل if که گفته شد می توان از دستوارت if به شکل های گفته شده به صورت تو در تو استفاده کرد. برای درک بهتر به مثال زیر توجه کنید:

if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
   if(Boolean_expression 2){
      //Executes when the Boolean expression 2 is true
   }
}

فقط توجه داشته باشید که برای دستورات چند خطی می توان از {} برای ساخت بلوک دستور استفاده کرد ولی اگر دستور مورد نظر یک خطی باشد نیازی به استفاده از این علائم نیست. همچنین برای if های تو در تو باید قانون تقدم و تاخر بلوک ها حفظ شود به این معنی که باید همیشه بلوک های داخلی که دیرتر باز شده اند زودتر بسته شوند و بلوک های بیرونی که زودتر از همه باز شده اند دیرتر از همه بسته شوند. برای راحتی کار می توان همچنان که در برنامه های زبان جاوا مصطلح است بلوک های داخلی را کمی داخل تر از بلوک های خارجی نوشت. برای مثال در کد بالا if داخلی کمی فرورفته تر از if خارجی است. با رعایت این قائده کد شما بسیار خواناتر خواهد بود. برای مثال if های تودرتو به کد زیر دقت کنید.

public class Test {

   public static void main(String args[]){
      int x = 30;
      int y = 10;

      if( x == 30 ){
         if( y == 10 ){
             System.out.print("X = 30 and Y = 10");
          }
       }
    }
}

خروجی به شکل زیر خواهد بود:

X = 30 and Y = 10

شرط switch

اگر یک متغیر چندین حالت داشته باشد و حالت های رخ دهنده آن متغیر برای ما مشخص باشد می توان از شرط switch برای بررسی ان استفاده کرد. هر مقداری که ممکن است برای متغیر پیش بیاید یک case نامیده می شود و مقدار کنونی متغیر با کیس های گوناگون بررسی خواهد شد و اگر با یک کیس تناسب داشت کدهای متناظر با آن کیس اجرا خواهد شد. دقت کنید که همان طور که در توضیح break در بخش حلقه ها توضیح دادیم انتهای هر case یک break خواهیم داشت. البته اگر در انتهای case از break استفاده نکنیم با case بعدی هم متغیر بررسی خواهد شد و اگر مناسب باشد کد آن case هم اجرا خواهد شد. شکل نوشتاری ان شرط به شکل زیر است:

switch(expression){
    case value :
       //Statements
       break; //optional
    case value :
       //Statements
       break; //optional
    //You can have any number of case statements.
    default : //Optional
       //Statements
}

برای استفاده از switch قواعد زیر وجود دارد.

  1. متغیر های قابل استفاده در داخل switch فقط می تواند اعداد، کاراکتر ها و Enum ها باشد
  2. هر تعداد case که بخواهید می توانید در یک switch استفاده کنید. بعد از کلمه کلیدی case و مقدار متغیر باید از علامت دونقطه(:) استفاده کنید.
  3. نوع داده مقداری که به هر case می دهیم باید با نوع داده متغیری که برای switch استفاده کرده ایم یکی باشد. همچنین مقداری که برای case در نظر می گیریم باید ثابت باشد یا مقدار باشد و نمی توان یک مقدار نامعلوم در آن قرار داد.
  4. وقتی که یک مقدار متغیر switch با مقدار یکی از case ها برابر بود کد آن case تا رسیدن به خط break اجرا خواهد شد.
  5. وقتی که برنامه در حال اجرا به خط break برسد باید از کل بلوک switch خارجی می شود.
  6. گذاشتن break برای هر case اختیاری است ولی اگر پس از کد case break گذاشته نشود case بعدی هم بررسی خواهد شد و در صورت تطبیق ان نیزاجرا خواهد شد تا وقتی که به یک break برسد و از بلوک switch خارج شود.
  7. هر شرط switch می تواند یک بخش به نام default داشته باشد. این بخش در انتهای بلوک case می آید. دلیل استفاده از این بخش این است که اگر هیچکدام از case ها اجرا نشود این قسمت اجرا خواهد شد.

شکل دیاگرام این شرط به شکل زیر خواهد بود:

آموزش جاوا (Java) قسمت 11 : عبارات شرطی

کد زیر مثالی از استفاده بلوک switch می باشد.

public class Test {

   public static void main(String args[]){
      //char grade = args[0].charAt(0);
      char grade = 'C';

      switch(grade)
      {
         case 'A' :
            System.out.println("Excellent!"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("Well done");
            break;
         case 'D' :
            System.out.println("You passed");
         case 'F' :
            System.out.println("Better try again");
            break;
         default :
            System.out.println("Invalid grade");
      }
      System.out.println("Your grade is " + grade);
   }
}

خروجی کد بالا به شکل زیر خواهد بود:

Well done
Your grade is a C

اگر یک شرط if-else ساده داشته باشیم می توانیم آن را با استفاده از عملگر ?: پیاده سازی کنیم. این عملگر را قبلا در بخش عملگر ها توضیح داده ایم. که شکل کلی آن به صورت زیر است:

Exp1 ? Exp2 : Exp3;

اگر شرط موجود در Expr1 درست باشد آنگاه مقدار Expr2 اجرا می شود و اگر غلط باشد کد Expr3 اجرا خواهد شد. دقت داشته باشید که بین Expr2 و Expr3 از علامت دونقطه استفاده کرده ایم. از این عملگر می توان برای مقدار دهی یک متغیر نیز استفاده کرد که اگر expr1 درست باشد مقدار متغیر برابر expr2 بوده و اگر غلط باشد مقدار متغیر برابر expr3 خواهد بود. شرط ها جزء اصلی برنامه نویسی می باشند. پس بهتر است که در استفاده از آنها تسلط پیدا کیند. Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

#عبارات_شرطی_در_جاوا #switch_در_حاوا #آموزش_برنامه_نویسی_جاوا #if_در_جاوا #آموزش_جاوا #نحوه_استفاده_از_شرط_در_جاوا #دوره_آموزشی_جاوا #دستورات_شرطی_در_جاوا #زبان_برنامه_نویسی_جاوا
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....