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

آموزش مقدماتی کاتلین در اندروید
فهرست مقاله [نمایش]

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

    کاتلین  را می توان برای چندین سیستم عامل مختلف کامپایل کرد. در این مقاله فرض می کنیم که پلتفرم هدف دستگاه مجازی جاوا است (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 }
    
    

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

     

    اطلاعات نویسنده
    • نویسنده: میثم بابائی

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران

    avatar
    ريحانه بهرام نيا
    1398/12/05

    عالي بود 👏👏👏