متغیرها در Kotlin مثل یک جعبه هستند که داده‌ها را در خود نگه می‌دارند. مثلا وقتی می‌خواهید یک اسم، عدد یا هر نوع داده‌ای را ذخیره کنید، از متغیرها استفاده می‌کنید.

چطور متغیر تعریف کنیم؟

برای تعریف یک متغیر در Kotlin از دو کلمه کلیدی استفاده می‌شود:

var → مقدارش قابل تغییر است
val → مقدارش غیرقابل تغییر است (بعد از مقداردهی نمی‌توان آن را تغییر داد)

مثال:

var name = "Ali"   // متغیری که می‌توان تغییر داد
val birthYear = 1990  // متغیری که مقدارش تغییر نمی‌کند

println(name)   // خروجی: Ali
println(birthYear)  // خروجی: 1990

💡 نکته: وقتی از val استفاده می‌کنید، مقدار متغیر ثابت می‌ماند و نمی‌توان دوباره مقدار جدیدی به آن اختصاص داد.

تفاوت var و val

var city = "Tehran"
city = "Mashhad"  // مجاز

val country = "Iran"
country = "USA"  // خطا  (چون val تغییر نمی‌کند)

نوع متغیرها در Kotlin

در بسیاری از زبان‌های برنامه‌نویسی مثل Java یا C++ باید نوع متغیر را مشخص کنید، اما Kotlin این کار را به‌طور خودکار انجام می‌دهد! یعنی اگر یک مقدار متنی ("Ali") بدهید، خودش تشخیص می‌دهد که String است، یا اگر عدد (1990) باشد، می‌فهمد که Int است.

مثال:

var name = "Sara"  // Kotlin تشخیص می‌دهد که String است
val age = 25       // Kotlin تشخیص می‌دهد که Int است

println(name)
println(age)

اما اگر بخواهید نوع متغیر را به‌صورت دستی مشخص کنید، این کار را انجام دهید:

var name: String = "Sara"
val age: Int = 25

تعریف متغیر بدون مقدار اولیه

در Kotlin می‌توانید متغیر را بدون مقدار اولیه تعریف کنید، اما باید نوع آن را مشخص کنید، وگرنه خطا می‌گیرید.

✅ درست:

var city: String
city = "Isfahan"  // بعداً مقداردهی می‌شود
println(city)

❌ اشتباه:

var country
country = "Iran"  // خطا  (چون نوع مشخص نشده)

ثابت‌ها (val) در عمل

وقتی می‌خواهید یک مقدار را تغییر ندهید (مثلاً عدد پی ۳.۱۴)، باید از val استفاده کنید:

val pi = 3.14159
println(pi)  // خروجی: 3.14159

نمایش مقدار متغیرها 📢

برای نمایش مقدار متغیرها در خروجی از متد ()println استفاده می‌کنیم.

ترکیب متن و متغیر:

val name = "Ali"
println("Hello " + name)  // خروجی: Hello Ali

یا می‌توان متغیرها را باهم ترکیب کرد:

val firstName = "Ali"
val lastName = "Rezaei"
val fullName = firstName + " " + lastName
println(fullName)  // خروجی: Ali Rezaei

📌 برای اعداد، عملگر + به عنوان جمع عمل می‌کند:

val x = 5
val y = 10
println(x + y)  // خروجی: 15

قوانین نام‌گذاری متغیرها ✅

۱. نام متغیر می‌تواند شامل حروف، اعداد، _ و $ باشد.
۲. باید با حرف شروع شود (مثلاً age1 درست است اما 1age غلط است).
3. حساس به حروف بزرگ و کوچک است (myVar و myvar دو متغیر متفاوت‌اند).
4. نباید از کلمات رزرو شده‌ی Kotlin (مثل var, val, String) استفاده کنید.
5. استفاده از camelCase توصیه می‌شود:

val myFavoriteColor = "Blue"  // درست
val myfavoritecolor = "Red"   // سخت‌خوان

💡 تمرین:
۱. متغیری برای نام خودتان ایجاد کنید و مقدار آن را چاپ کنید.
۲. متغیری با val بسازید و سعی کنید مقدارش را تغییر دهید. آیا خطایی دریافت می‌کنید؟
۳. متغیری برای سن خود بسازید و مقدار آن را دو برابر کنید. نتیجه را چاپ کنید!

🚀 حالا شما با متغیرها در Kotlin آشنا هستید! در درس بعدی درباره نوع داده‌ها (Data Types) یاد می‌گیریم. 🎯