menusearch
javapro.ir
جستجو
۱۳۹۵/۷/۳۰ جمعه
(3)
(0)
♨️ جلسه هشتم - دستورات شرطی
♨️ جلسه هشتم - دستورات شرطی

جلسه هشتم - دستورات شرطی

 


•    قبل از این که به سراغ پیاده سازی دستورات شرطی در محیط کدزنی برویم یک نگاه الگوریتمی و فلوچارتی به این موضوع می کنیم که درک بهتری نسبت به این مبحث داشته باشیم:


به مثال های زیر توجه کنید:
اگر امروز تعطیل باشد،علی به مدرسه نمی رود.
اگر هوا آفتابی باشد،والیبال بازی میکنیم.
اگر هوا صاف باشد،هواپیما پرواز می کند.
اگر دریا طوفانی باشد،کشتی حرکت نمی کند.


دستورات شرطی با اگر شروع می شود و یک شرط رو درون خود دارد که اگر بر قرار (true) باشد نتیجه مورد نظر اتفاق می افتد در غیر این صورت عکس نتیجه مورد نظر اتفاق می افتد.


در مثال اگر هوا صاف باشد،هواپیما پرواز می کند
در صورتی هواپیما پرواز میکند که شرط یعنی صاف بودن هوا برقرار(true) باشد. در غیر این صورت اگر هوا عکس صاف بودن یعنی طوفانی(false) باشد هواپیما پرواز نمیکند.


در نگاهی دیگر: اگر هوا صاف باشد،هواپیما پرواز می کند. درصورتی هواپیما پرواز میکند که هوا صاف باشد: شرط صاف بودن هوا بر قرار و درست (true) باشد و اگر هوا طوفانی باشد (شرط هوا عکس جمله شرطی صاف بودن یعنی هوا طوفانی است که شرط نادرست(false) می باشد) در نتیجه هواپیما پرواز نمیکند.


می توان جملات شرطی رو به صورت زیر خلاصه کرد:
اگر(شرط برقرار بود) نتیجه

 در صورتی نتیجه اجرا می شود که شرط برقرار (درست یا true)باشد.


مثال:
امروز هوا بارانی است.
اگر( امروز هوا آفتابی باشد) علی به باشگاه می رود.
شرط نادرست(false) می باشد و نتیجه اجرا نمی شود یعنی علی به باشگاه نمی رود چون امروز هوا بارانی است و آفتابی نیست.


مثال:
نمره جعفر 11 هست.
اگر (نمره جعفر بزرگتر یا مساوی 10 باشد) جعفر قبول است.
شرط درست(true) می باشد و نتیجه اجرا می شود یعنی جعقر قبول می شود چون نمره جعفر 11 هست و از 10 بیشتر است.


•    پس جملات شرطی با یک "اگر" شروع و درون خود یک شرط دارد که اگر درست(true) باشد نتیجه اجرا می شود در غیر این صورت یعنی شرط نادرست(false)و نتیجه اجرا نمی شود.

مبحث فلوچارت عبارت شرطی:
•    در فلوچارت علامت لوزی برای دستورات شرطی استفاده می شود.
•    همان طور که در مثال های بالا بررسی کردیم انجام عملیات(اجرای نتیجه)منوط به برقرار بودن شرط است.
•    دستورات شرطی نوعی حالت تصمیم گیری دارند.
•    در زیر به فلوچارت همراه با مثال چگونگی کار عبارت های شرطی پرداخته شده است:

 

جملات شرطی در جاوا

 

فلوچارت دستورات شرطی در جاوا

 

•    با توجه به شکل(1) فلوچارت دستورات شرطی مشاهده میکنیم که هر دستور شرطی یک شرط داره که اگه درست بود یک تصمیمی میگیرد و در صورت نادرست بودن تصمیمی دیگر.

 

دستورات شرطی در جاوا

 

•    در شکل(2) اگر A=10 باشد شرط درست(true)  و اگر A=100 باشد شرط نادرست(false) می باشد.

•    خب ابتدا برای این  ذهنیت و درک بهتری نسبت به دستورات شرطی داشته باشیم از الگوریتم و فلوچارت استفاده کردیم حال بریم به سراغ پیاده سازی دستورات شرطی در قالب کد نویسی.


دستور شرطی if
شکل این دستور شرطی در برنامه نویسی به صورت زیر است:

 

  if (Boolean_expression){
       //executes when the Boolean expression is true
    }


•    در برنامه نویسی هم مثل حالت جمله فارسی در دستور شرطی از کلمه کلیدی "if" ابتدای دستور شرطی می آوریم.


•    جلوی کلمه کلیدی "if"شرط مورد نظر رو درون پرانتز قرار می دهیم.


•    بعد از پرانتز دو بلوک {} باز و بسته شده نشان دهنده محدوده اجرای دستورات مورد نظر با توجه به درست(true) بودن شرط می باشد.


•    نکته : اگر یک دستور داشتیم نیاز به نوشتن {} نیست و زمانی که دستورات ما بیش از یک دستور باشد الزامی هست که دستورات خود رو درون بلوک{} قرار بدهیم.


•    درون پرانتز شرط مورد نظر (Boolean_expression ) روش بررسیش بصورت زیر است:


اگر شرط درست بود true  بر می گرداند و دستور شرط اجرا می شود


اگر شرط نادرست بود false بر میگرداند و دستور شرط اجرا نمی شود به همین دلیل از Boolean_expression


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


خب از توضیحات بگذریم بریم سراغ مثال مربوط به این سرفصل:


مثال:

 

package iran;

public class Eighth_Session {

    public static void main(String[] args) {

        int a = 10;
        if (a < 50)
            System.out.println("true " + a + "<" + 50);

    }

}

 

خروجی:

 

 true 10<50


توضیحات مثال بالا:

 

int a = 10;
        if (a < 50)
            System.out.println("true " + a + "<" + 50);


•    متغیر a از نوع صحیح تعریف شده و بهش مقدار 10 نسبت داده شده است.
•    خط بعد یک دستور شرطی داریم که عبارت شرط ما درون پرانتز (a < 50)است در صورتی پیام مورد نظر چاپ می شود که مقدار a کوچک تر از 50 باشد که با توجه به مقدار a=10  شرط برقرار(true) می باشد و پیام چاپ می شود.
•    همون طور که مشاهده میکنید چون یک دستور در صورت درست بودن شرط برای اجرا داریم نیاز به قرار دادن دستور مورد نظر درون {} نیست.


مثال:

 

 package iran;

 public class Eighth_Session {

    public static void main(String[] args) {

        int a = 10;
        if (a < 50) {
            System.out.println(+a + "<" + 50);
            System.out.println("true ");
        }

    }
}

 

خروجی:

 

  10<50
 true


•    همون طور که مشاهده میکنید چون بیش از یک دستور در صورت درست بودن شرط برای اجرا داریم نیاز به قرار دادن دستور مورد نظر درون {} می باشد.

 

مثال:

 

 package iran;

 public class Eighth_Session {

    public static void main(String[] args) {

        int a = 60;
        if (a <= 50)
            System.out.println(+a + "<" + 50);
        System.out.println("Salam ");

    }
 }

 

خروجی:

 

 Salam


•    چون شرط نادرست (false) می باشد دستور زیر  اجرا نمی شود:

 

 System.out.println(+a + "<" + 50);

 

اما چون از بلوک {} استفاده نشده تنها شرط رو یک دستور تاثیر می گذارد و محدوده اش شامل دو دستور نمی شود پس دستور زیر اجرا می شود:

 

 System.out.println("Salam ");


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

 

نمونه مثال دستورات شرطی در جاوا

 

  • هر بلوک که باز و بسته می شود محدوده اختیارات هر دستور رو مشخص میکند.

 

مثال:

مثال دستورات شرطی در جاوا

خروجی:

 

60!=50
True
salam


•    همان طور که مشاهده می کنید چون دستورات اجرایی شرط ما بیش از یک دستور هست درون دو {} بلوک قرار گرفته است. و چون دستور

زیر خارج از این بلوک {} قرار گرفته بدون هیچ پیش شرطی اجرا می شود.

 

 System.out.println("salam");


دستور شرطی if-else :
با یک مثال شروع می کنیم
مثال : اگر باقیمانده عدد m بر 2 برابر با صفر بود عدد m زوج می باشد  در غیر این صورت عدد m فرد می باشد!!!1


در مثال بالا یک جمله شرطی هست زیرا با اگر شروع شده است .


شرط(باقیمانده عدد m بر 2 برابر صفر باشد) عدد m  را زوج اعلام کن
در غیر این صورت(یعنی زمانی که شرط برقرا نباشد) عدد m را فرد اعلام کن.


*پس اگر شرط اول ما برقرار نبود با آوردن عبارت "در غیر این صورت" میگیم که یک کار دیگه برامون انجام بده مثلا اگر عددمون زوج نبود فرد اعلامش کن.
دستور شرطی if-else هم همین کار را برای ما انجام می دهد.


 if(اگر) شرط برقرار بود این کارو بکن.....


 else(در غیر این صورت) زمانی که شرط بالا برقرار نبود این کار رو انجام بده


شکل قالب پیاده سازی دستور if-else بصورت زیر است:

 

if(Boolean_expression){
               //executes when the Boolean expression is true


// اگر شرط درون پرانتز درست(true) بود بیا داخل این بلوک {} و دستورات داخلش رو اجرا کن.


            }else{
               //executes when the Boolean expression is false


// اگر شرط درون پرانتز نادرست(false) بود بیا داخل این بلوک {} و دستورات داخلش رو اجرا کن.

 

            }


•    Boolean_expression همون عبارت شرط درون پرانتز جلوی if هست که اگر شرط درست باشه true میشه و وارد بلوک if می شود،اگر شرط درون پرانتز نادرست باشد false می شود ودستورات درون بلوک if دیگر اجرا نمی شود و وارد بلوک else می شود و دستورات درون آن را اجرا می کند.


•    else نیز اگر برای اجرا بیش از یک دستور داشته باشد باید دستوراتش درون بلوک {} قرار گیرد.


فلوچارت نحوه کارکرد این دستور رو در شکل(3) مشاهده میکنید:

 

فلوچارت دستورات شرطی در جاوا

 

مثال :

 

package iran;

public class Eighth_Session {

    public static void main(String[] args) {

        int a = 9;

        if (a / 2 == 0)
            System.out.println(a + " zoj mibashad");
        else
            System.out.println(a + " fard mibashad");

    }
}

 

•    شرط زوج بودن یک عدد این هست که آن عدد بر 2 بخش پذیر باشد یعنی باقیمانده عدد بر 2 برابر صفر شود در غیر این صورت آن عدد فرد می باشد.

 

if (a / 2 == 0)


•    خب شرط زوج بودن عدد بررسی شده است اگر شرط برقرار بود پیام زیر را چاپ میکند:

 

System.out.println(a + " zoj mibashad");

 

اگر شرط برقرار نبود بدون اجرای پیام فوق دستور شرط else یعنی در غیر این صورت  که پیامش حاوی فرد بودن عدد هست رو چاپ میکند:

 

System.out.println(a + " fard mibashad");

 

مثال:

 

package iran;

public class Eighth_Session {

    public static void main(String[] args) {

        int a = 9;
        int b = 100;
        if (a > b) {
            System.out.print(a);
            System.out.println("=max");
            System.out.print(b);
            System.out.println("=min");
        }

        else {
            System.out.print(b);
            System.out.println("=max");
            System.out.print(a);
            System.out.println("=min");
        }

    }
}


•    چون دستورات بیش از یک دستور هست درون بلوک{} قرار داده می شود.
•    اگر a>b بود ،a را max و b را min اعلام کن در غیر این صورت b را max و a را min اعلام کن.

 

 

...ادامه این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.



این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا

لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرامما شوید.

instagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
پریا
سه شنبه سی ام خرداد ۹۶
پاسخ
(0)
()
پریا
عااااااااااااااالی
طراحی سایتطراحی سایتسایت سازسایت سازفروشگاه سازفروشگاه ساز