آموزش مقدماتی کاتلین در اندروید
آموزش مقدماتی کاتلین در اندروید

 

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

کاتلین  را می توان برای چندین سیستم عامل مختلف کامپایل کرد. در این مقاله فرض می کنیم که پلتفرم هدف دستگاه مجازی جاوا است (android)، که کد شما بهbytecodeجاوا وارد می شود و بنابراین با اکوسیستم بزرگ کتابخانه های جاوا قابل تعامل خواهد بود.

 

متغیرها در کاتلین

اعداد کاتلین مجموعه ای ازtypeهای داخلی را ارائه می دهد که اعداد را نشان می دهد.برای اعداد صحیح چهار نوع وجود دارد که اندازه های مختلف دارند و از این رو  range valueهستند.

Type

Size (bits)

Min value

Max value

Byte

8

-128

127

Short

16

-32768

32767

Int

32

-2,147,483,648 (-231)

2,147,483,647 (231 - 1)

Long

64

-9,223,372,036,854,775,808 (-263)

9,223,372,036,854,775,807 (263 - 1)

باInt  تقریبا پرکاربرد تر است شروع می کنیم. برای تعریف متغیر در زبان کاتلین از کلمه کلیدیvar یاvalقبل از اسم متغیر استفاده میکنیم  در ادامه  تفاوت هایی که این دو  با هم دارند را توضیح میدهیم. اگر ازvalاستفاده کنیم پس از مقدار دهی دیگر نمیتوان آن را مقدار دهی کرد و فقط میتوانیم مقدارش را بخوانیم اماvar پس از مقدار دهی میتوانیم مقدارش را تغییر دهیم.

var m=10

 

اینجا ما یک متغیر از نوعint تعریف کردیم البته ما جایی ننوشتیمintبراساس مقداری که بهش دادیمintذخیره کرد.همین متغیر را میتوان به شکل دیگری تعریف کرد.

var a:Int=20

 

  ما مشخص کردیم که نوعشint هست.این روش زمانی به کار میرود که ما میخواهیم این متغیر را در خط های بعدی مقدار دهی کنیم.

 

var s:Int
s=30


همچنین میتوانیم مقدار پیش فرض nullقرار بدهیم برای متغیر.

var r:Int?=null

 

اگر متغیر بالا را باval  بنویسیم خطایcannot reassignedمیگیرد از کد ما

val b:Int?=null
b=20
 

 متغیر long درکاتلین

 Longهمانint است فقط برای اعداد بزرگتر به کار میرود و حافظه بیشتر نسبت بهint اشغال میکند

var a:Long=20

 

متغیر String در کاتلین

در این نوع متغیر ما محدودیتی نداریم که چه مقداری به آن بدهیم.هم میتونیم عدد بدیم هم حروف اما عددی که بهStringمی دهیم قابلیت این را ندارد که عملیات ریاضی روی آن انجام شود.

var name = "maysam"
var lastname: String = "babaei"
var phone: String? = ""
phone = "123456789"
var number = "2000000000"

 

متغیر Double در کاتلین

این نوع متغیر برای اعداد اعشاری استفاده میشود بجای اعشار از .استفاده میشود.

var a=12.5
var b:Double=12.5
var c:Double?=null
c=20.0

 

متغیر Boolean در کاتلین

این متغیر دو مقدار میگیردtrueوfalseالبته در زبان کاتلین مقدارnullمیتوانیم ذخیره کنیم

var a=false
  var b:Boolean=true
  var c:Boolean?=null
  c=true;

تبدیل متغیر ها در کاتلین

بعضی مواقع و بسته به نیاز ما لازم  هست که متغیر ها را تبدیل کنیم مثلا ازdoubleبهint وlong یا برعکس یا int  بهstring   

به کد زیر توجه کنید در این کد ما بدون تبدیل کردن مقدار یک متغیر از جنسbyteرو در یه متغیر از جنسInt ذخیره کردیم اما به ما خطا داده

var b: Byte = 1  
var i: Int = b  

  

کد صحیح به صورت زیر میباشد:

var b: Byte = 1
var i: Int = b.toInt()

 

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

toByte(): Byte

toShort(): Short

toInt(): Int

toLong(): Long

toFloat(): Float

toDouble(): Double

toChar(): Char

toString():String

اپراتور های ریاضی در زبان کاتلین

کاتلین از مجموعه اپراتور های ریاضی برای انجام عملیات روی اعداد استفاده میکند  (+ - * / %)

 

var x = 10
var y = 10
var s = x + y
var j = x / y
var z = x * y
var m=x-y

 

 

آرایه ها در زبان کاتلین

آرایه ها توسط کلاسarrayنمایش داده میشوند و دارای تابع هایی چونget  وset است آرایه سایز و یکسری قایلیت دیگر را نیز به همراه خود دارد

class Array<T> private constructor() {
    val size: Int
    operator fun get(index: Int): T
    operator fun set(index: Int, value: T): Unit

    operator fun iterator(): Iterator<T>
    // ...
}

 

برای ایجاد یک آرایه ، می توانیم ازarrayOfاستفاده کنیم و مقادیر را در آن وارد کنیم ،ماarrayOf(1,2,3)را اینجوری مینویسیم اما اون به شکل آرایه ذخیره میشود  [1,2,3]همچنین ما میتوانیم ازarrayOfNulls()استفاده کنیم برای ایجاد آرایه ای با اندازه مشخص و عناصر داخل آن تهی باشند.

ما اگر از سازندهArrayاستفاده کنیم میتوانیم  اندازه آزایه وعملکردهایی را بگیریم که مقدار های اولیه هر عنصر از آرایه را با توجه به شمارهindexآن بازگردانیم

val asc = Array(5) { i -> (i * i).toString() }

 

آرایه ها در زبان کاتلین ثابت هستند. یعنی ما اجازه نداریم کهArray<String>را به یکArray<Any>اختصاص دهیم دلیلش هم این است که در زمان اجرا ممکن است خطا بدهد. اما می توانیم از <Array <out Anyاستفاده کنیم.

 

زبان کاتلین یک سری کلاس های کمکی دارد برای ایجاد آرایه  که از کلاسArrayارث بری نکرده اند اما خصوصیات تقریبا یکسانی دارند.

 

val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]
// مقدار این آرایه به شکل [0, 0, 0, 0, 0] است و سایز آن 5 است
val arr1 = IntArray(5)
//مقدار این آرایه به شکل [73, 73, 73, 73, 73] وسایز آن 5 است
val arr2 = IntArray(5) { 73 }
//این آرایه با روش لامبدا مقدار دهی میشود مقدار آن [0, 1, 2, 3, 4] است وسایزش 5 است
var arr3 = IntArray(5) { it * 1 }

 

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

 

تگ‌ها
اشتراک
1 نظرات
  • عکس پروفایل ريحانه بهرام نيا در سایت باگتو
  • |
  • ارسال شده توسط : ريحانه بهرام نيا
  • |
  • زمان : 1398/12/05

عالي بود 👏👏👏



برای ارسال نظر باید وارد حساب کاربری خود شوید
ورود به حساب کاربری ثبت نام