دستورات شرطی از مهم ترین بخش های هر زبان برنامه نویسی بشمار می آیند، ما میتوانیم با بررسی شرط های مختلف، کار های مختلفی را انجام دهیم، برای مثال سه حالت زیر را در نظر بگیرید.
باید بتوانیم با دستورات شرطی برنامه ای بنویسیم که هر سه حالت بالا را اجرا کند.
حالا بریم با مهم ترین دستور شرطی، یعنی if
آشنا بشویم.
ابتدا باید دستور if
را بنویسیم و بعد در ادامه اش شرط را قرار بدهیم، اگر شرط صحیح باشد تمام بلاک کد اجرا میشود، در غیر اینصورت از بلاک کد عبور میکند، به مثال زیر دقت کنید.
if
condition
{
// if the condition is correct, this code will be executed
}
حالا جای condition
چه چیزی باید قرار دهیم؟
باید در condition
از عملگرهای مقایسه ای، یا داده ای از نوع Bool
استفاده کنیم، تو این لیست تمام عملگر های مقایسه ای (comparison operator) را آورده ایم.
عملگر مقایسه | مفهوم | مثال | جواب شرط |
---|---|---|---|
== | برابر هستند؟ | 3 == 5 | خیر برابر نیستند، پس غلط است. |
=! | برابر نیستند؟ | 3 =! 5 | بله برابر نیستند، پس صحیح است. |
< | بزرگ تر است؟ | 3 < 5 | بله بزرگ تر است، پس صحیح است. |
> | کوچک تر است؟ | 3 > 5 | خیر کوچک تر نیست، پس غلط است. |
=< | بزرگ تر یا مساوی است؟ | 3 =< 5 | بله بزرگ تر مساوی است، پس صحیح است. |
=> | کوچک تر یا مساوی است؟ | 7 => 7 | بله مساوی است، پس صحیح است. |
حالا بریم سراغ چند تا مثال که قشنگ مفهوم if
تو سوئیفت براتون جا بیوفته!
if
5
>
3
{
print("5 greater than 3")
}
چون condition
صحیح هست، پس دستور print
اجرا میشود.
خروجی:
5 greater than 3
حالا دستوری غلط را میخواهیم چک کنیم، چون 3 برابر نیست با 5 وارد بلاک کد نمیشویم و دستور print
اجرا نمیشود.
if
5
==
3
{
print("5 greater than 3")
}
خروجی:
دقت کنید که خارج از شرط if
هر کدی که قرار بدهیم، در هر صورت اجرا میشود و فقط داخل بلاک شرط وابسته به صحیح بودن condition
هست.
if
5
==
3
{
print("5 greater than 3")
}
print("out of if condition")
خروجی:
out of if condition
همانطور که میبینید شرط صحیح نبود و داخل بلوک if
اجرا نشد ولی دستور print
بعدی که خارج از شرط بود، اجرا شد.
حال میخواهیم در condition
بجای گذاشتن عدد، متغیر قرار دهیم، به مثال زیر دقت کنید.
let
number1
=
3
let
number2
=
5
if
number1
<
number2
{
print("number2 greater than number1")
}
خروجی:
number2 greater than number1
فرض کنید میخواهیم این 2 حالت زیر را پیاده کنیم.
میتوانیم از دستور if
و else
استفاده کنیم، به این حالت که اگر شرط برقرار باشد بلوک مربوط به if
اجرا میشود، و اگر شرط غلط باشد بلوک مربوط به else
اجرا میشود.
if
condition
{
// if the condition is true, this code will be executed
}
else
{
// if the condition is false, this code will be executed
}
if
و else
وجود ندارد، یعنی یا بلوک مربوط به if
اجرا میشود و یا else
let
price
=
120
if
price
>
100
{
print("price is greater than 100.")
}
else
{
print("price is not greater than 100.")
}
print("this code is always executed.")
خروجی:
price is greater than 100.
this code is always executed.
حالا میخواهیم در مورد چند if
و else
پشت هم صحبت کنیم، به حالت های زیر دقت کنید.
برای پیاده کردن حالت های بالا به if else else if
نیاز داریم، به مثال زیر دقت کنید.
let
language
=
"Swift"
if
language
==
"Swift"
{
print("she is Apple programmer.")
}
else if
language
==
"php"
{
print("she is server-side programmer.")
}
else
{
print("she is programmer.")
}
else if
موقعی استفاده میشود که شما یک شرط را بررسی کرده اید، و میخواهید در صورت برقرار نبودن شرط اول، یک شرط دیگر را بررسی کنید.else
موقعی استفاده میشود که در صورت برقرار نبودن شرط اول (بدون بررسی شرط جدید) میخواهید کاری را انجام دهید.به تفاوت های دو مثال if...else
و else if
دقت کنید.
let
price
=
50
if
price
>
150
{
print("price is greater than 150.")
}
else if
price
>
100
{
print("price is greater than 100.")
}
خروجی:
همانطور که میبینید هیچ کدام از دو شرط بالا برقرار نیستند پس هیچ متنی در خروجی چاپ نمیشود.
حال به مثال زیر دقت کنید.
let
price
=
50
if
price
>
150
{
print("price is greater than 150.")
}
else
{
print("price is less than 150.")
}
خروجی:
price is less than 150.
فرض کنید نیاز داریم در condition
چند شرط را بررسی کنیم، و در صورت برقرار بودن هر دو شرط یا برقرار بودن یکی از دو شرط وارد بلوک if
شویم.
برای این کار میتوانیم از عملگرهای منطقی استفاده کنیم تو جدول زیر میتوانید این دو عملگر مهم را ببینید.
علامت | مفهوم | مثال |
---|---|---|
&& | هر دو شرط باید صحیح باشند. | firstCondition && secondCondition |
|| | یکی از دو شرط باید صحیح باشند. | firstCondition || secondCondition |
حالا بریم از هر کدام یک مثال ببینیم که براتون جا بیوفته!
let
girlAge
=
18
let
boyAge
=
19
if
girlAge
<
20
&&
boyAge
<
20
{
print("girl and boy are under 20.")
}
خروجی:
girl and boy are under 20.
let
number1
=
5
let
number2
=
11
if
number1
>
10
||
number2
>
10
{
print("one of numbers is greater than 10.")
}
خروجی:
one of numbers is greater than 10.
امکان این که درون بلوک if
یک شرط دیگر را بگذاریم وجود دارد، به مثال زیر دقت کنید.
if
condition
{
print("condition is true.")
if
condition2
{
print("condition2 is true.")
}
}
کد هارو کجا میتونم اجرا کنم؟