Mengsreang-Chhoeung / Kotlin-Tutorial

អត្ថបទមួយនេះបានបង្ហាញអំពីមេរៀននៃភាសា Kotlin បូករួមជាមួយនឹងលំហាត់អនុវត្តន៍​ជាច្រើន😋

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ឯកសារ Kotlin ជាភាសាខ្មែរ

kotlin thumbnail

រៀនតាមរយះ Source Code នៅក្នុង Github Repository:

  • Source Code គឺមានទៅតាម folder នីមួយៗទៅតាមមេរៀន ដូច្នេះអ្នកអាចរកនៅក្នុង folder src / main / kotlin បាន!

github-repository thumbnail

ជំនួយបន្ថែម:

  • ដើម្បីរៀនតាម Tutorial មួយនេះឲ្យកាន់តែឆាប់យល់ ឆាប់ចាប់បាន អ្នកគួរមើលវីដេអូ Kotlin Crush Course ខ្លះៗដែរ ដើម្បីជាជំនួយក្នុងការសិក្សាវាបន្ថែម។

Kotlin Course - Tutorial for Beginners by Nate Ebel

kotlin-3h-thumbnail

Kotlin Crash Course by Philipp Lackner

kotlin-1.5h-thumbnail

តម្រូវការមុននឹងសិក្សាភាសា Kotlin:

  • សម្រាប់ Kotlin គឺជាភាសាកម្មវិធី ដូច្នេះអ្នកដែលទើបតែរៀនកូដថ្មីថ្មោងក៏អាចរៀនបានដែរ តែរៀងពិបាកសម្របខ្លួនបន្តិច ព្រោះអ្នកទើបតែចាប់ផ្តើម តែបើសិនជាអ្នកធ្លាប់បានសិក្សាភាសាកម្មវិធីផ្សេងៗដូចជា C, C++ និង Java គឺវាជារឿងល្អសម្រាប់អ្នក ដើម្បីងាយស្រួលក្នុងការសម្របខ្លួនជាមួយនឹងភាសា​ Kotlin មួយនេះ។

ចំណុចពិសេសរបស់ Kotlin:

  • OOP : OOP stands for Object-Oriented ProgrammingOOP គឺជា Structure មួយដែលត្រូវបានគេប្រើប្រាស់សំរាប់បង្កើតនូវ Software ក្នុងទម្រង់ជា Unit ហើយត្រូវបានគេគ្រប់គ្នាស្គាល់ថាជា Object ។ សារប្រយោជន៍នៃការប្រើប្រាស់ OOP មានដូចជា:
    • មានល្បឿនលឿន និងងាយស្រួលក្នុងការ Execute កូដ
    • ផ្តល់នូវ Structure មួយដែលមើលទៅងាយយល់នៅក្នុង Program
    • ធ្វើឲ្យកូដសរសេរទៅ គ្មានភាពច្រំដែល, ងាយស្រួលក្នុងការត្រួតពិនិត្យកូដ, និងងាយស្វែងរក Error នៅក្នុង Program
    • ចំណេញពេលវេលា ។

អ្វីទៅជា Kotlin?😯

  • Kotlin គឺជាភាសាកម្មវិធីថ្មីដែលមានលក្ខណះ Open Source ហើយដូចទៅនឹងភាសា Java និង JavaScript ដែរ។ វាជាភាសាមួយដែលសំបូរបែប ដែលប្រមូលផ្តុំទៅដោយមុខងារជាច្រើនដែលស្ថិតនៅកន្លែងតែមួយ។ បច្ចុប្បន្ននេះ Kotlin ដំណើរការលើ JVM ។ មួយវិញទៀត Kotlin គឺដូចទៅនឹងភាសា Java​ ទាំងស្រុង ហើយនៅក្នុង Kotlin ក៏មាន library របស់ Java ស្រាប់ និយាយមួយម៉ាត់ឲ្យខ្លីទៅ គឺអ្នកអាចសរសេរកូដភាសា Java នៅក្នុង Kotlin បាន។

តើធ្វើយ៉ាងមិចបានអាចសរសេរ Kotlin បាន?🤔

  • ត្រូវចំណាំថា ដើម្បីសរសេរ Kotlin បានយើងត្រូវការបង្កើត Project របស់ Kotlin ចូលទៅកាន់ IDE របស់អ្នក សម្រាប់ IDE អ្នកគួរតែប្រើ IntelliJ IDEA ដែលអ្នកអាចទាញយកតាមតំណលីងនេះបាន https://www.jetbrains.com/idea/download ។ បន្ទាប់ពីនេះ មុននឹងបង្កើត Project យើងត្រូវទាញយកនូវ Java Development Kit សិនដែលគេគ្រប់គ្នាហៅថា JDK មកក្នុងកុំព្យូទ័ររបស់អ្នកសិន: https://www.oracle.com/java/technologies/javase-downloads.html ហើយធ្វើការជ្រើសរើស version ណាដែរអ្នកចង់ប្រើ សម្រាប់ tutorial មួយនេះគឺពួកយើងប្រើ version 11 ចឹងអ្នកអាចប្រើ version នេះតាមពួកយើងបាន។

  • តោះទៅបង្កើត Project Kotlin ទាំងអស់គ្នា!

បើក​ IntelliJ IDEA

intellij idea thumbnail

ចុច New Project

intellij-stater thumbnail

ចុចយក Kotlin បន្ទាប់មកបំពេញឈ្មោះរបស់​ project នៅកន្លែង Name ធ្វើការផ្ទុកឯកសារនៅកន្លែង Location ហើយ Project Template សូមរើសយក Application ហើយ Build System សូមយក Grandle Kotlin ហើយ Project JDK សូមយក version ដែលអ្នកបានទាញយកមក រីឯនៅចំណុចខាងក្រោមគឺ Artifact Coordinates វិញ អ្នកអាចទុកចោលបាន ព្រោះវានឹងឲ្យតម្លៃដើមនៅទីនោះ តែបើអ្នកចង់ប្តូរក៏មិនមានជាបញ្ហាអីដែរ បន្ទាប់មកចុច Next ដើម្បីបន្តទៅមុខទៀត។

intellij idea kotlin starter thumbnail

ត្រង់ចំណុចនេះ អ្នកចង់ផ្លាស់ប្តូរក៏បាន ឬក៏មិនផ្លាស់ប្តូរក៏បានដែរ ហើយអាចចុច Finish ដើម្បីបញ្ចប់ប្រតិបត្តិការនៃការបង្កើត Project បាន។

intellij idea kotlin starter module thumbnail

ខាងក្រោមនេះគឺជា Project ដែលអ្នកបានបង្កើតហើយអម្បាញ់មិញ ហើយអ្នកត្រូវរងចាំបន្តិច ដើម្បីឲ្យ IDE បាន sync នូវ Project ឲ្យចប់សិន។

intellij idea sync project thumbnail

បន្ទាប់ Project របស់អ្នកត្រូវបាន sync ចប់ អ្នកចូលទៅក្នុង folder src / main / kotlin ហើយអ្នកនឹងឃើញមាន file មួយគឺ​ main.kt ហើយនៅក្នុង file នោះមានកូដដូចខាងក្រោម:

fun main(args: Array<String>) {
    println("Hello World!")
}

កូដខាងលើគឺជាកូដរបស់ Kotlin ចំណុចបន្ទាប់ អ្នកធ្វើការប្រតិបត្តិកម្មវិធីដោយចុច play នៅស្តាំដៃខាងលើ ហើយអ្នកនឹងឃើញលទ្ធផលនៅក្នុង console ខាងក្រោម។

kotlin start program thumbnail

Kotlin Syntax:

  • ខាងក្រោមនេះគឺជា Sample code របស់ ​Kotlin:
fun main(args: Array<String>) {
  println("Hello World!")
}
  • ដែល​ fun គឺជា keyword ដែលប្រើសម្រាប់បង្កើតអនុគមន៍នៅក្នុងភាសា Kotlin ហើយ main() គឺជាអនុគមន៍។ main() គឺជាអនុគមន៍សម្រាប់ប្រតិបត្តិកូដ Kotlin។ សម្រាប់ args: Array<String> ដែលស្ថិតនៅក្នុង main(args: Array<String>) គឺគ្រាន់តែ argument នៅក្នុងអនុគមន៍ main() តែប៉ុណ្ណោះ។ ចំណែកឯ println() គឺជាអនុគមន៍ដែលប្រើសម្រាប់បង្ហាញ statement អ្វីមួយទៅកាន់ console

ចំណាំ: ក្នុងភាសា Kotlin នៅពេលដែលបព្ចាប់ statements អ្វីមួយ អ្នកមិនចាំបាច់បញ្ចប់ដោយ semicolon (;) នោះទេ!

  • សម្រាប់ main() function នៅពេលនេះ អ្នកមិនចាំបាច់សរសេរច្រើនដូចកូដខាងលើនោះទេ ព្រោះកូដខាងលើគឺប្រើតាំងពី Kotlin នៅ version ចាស់ៗ ដូច្នេះអ្នកប្រើកូដខាងក្រោមបាន:
fun main() {
  println("Hello World")
}

Kotlin Output:

  • នៅក្នុងចំណុចនេះ អ្នកនឹងស្គាល់នូវ function ចំនួនពីរដែរប្រើសម្រាប់បង្ហាញតម្លៃឬ statement ដូចគ្នា ដែលរួមមាន print() និង println() ដែលពីរនេះគឺបង្ហាញតម្លៃដូចគ្នា គ្រាន់តែ print() បង្ហាញតម្លៃហើយ មិនចុះបន្ទាត់ ចំណែកឯ println() បង្ហាញតម្លៃហើយ ចុះបន្ទាត់។

src / main / kotlin / 1GetStarted / AppOne.kt

fun main(){
  println("Hello World!")
  println("I am learning Kotlin.")
  println("It is awesome!")
}
  • ខាងលើនេះគឺប្រើ println() function រួមជាមួយនឹងការបញ្ចូលតម្លៃជាប្រភេទអក្សរ ហើយអ្នកក៏អាចបញ្ចូលជាចំនួនលេខបានដូចគ្នា ដែលមានឧទាហរណ៍ដូចខាងក្រោម:

src / main / kotlin / 1GetStarted / AppTwo.kt

fun main(){
  println(3 + 3)
  println(10 + 20)
  println(100 + 200)
}
  • ខាងក្រោមនេះគឺប្រើ print() function វិញម្តង:

src / main / kotlin / 1GetStarted / AppThree.kt

fun main(){
  print("Hello World! ")
  print("I am learning Kotlin. ")
  print("It is awesome!")
  print(3 + 3)
}
  • ខាងក្រោមនេះគឺប្រើប្រាស់ comment នៅលើកូដ គឺមានពីរវិធីដែលអ្នកប្រើបានគឺ Single-line Comment និង Multi-line Comment ដែល Single-line Comment គឺ comment បានតែមួយបន្ទាត់ រីឯ Multi-line Comment គឺ comment បានច្រើនបន្ទាត់។

src / main / kotlin / 1GetStarted / AppFour.kt

fun main(){
  // This is a comment
  println("Hello World")

  println("Hello Kotlin")  // This is a comment

  /* The code below will print the words Hello World
      to the screen, and it is amazing
  */
  println("Bye World")
}

Variable ជាអ្វី?👀

  • Variable បកប្រែជាភាសាខ្មែរប្រែថាជា អញ្ញាតដែលគេប្រើសម្រាប់ផ្ទុកទិន្នន័យឬតម្លៃជាបណ្តោះអាសន្ននៅក្នុង memory របស់កុំព្យូទ័រ។

  • នៅក្នុង Kotlin ការប្រកាសអញ្ញាតគឺអាចប្រើ keywords ចំនួនពីរ ដើម្បីយកមកប្រកាសអញ្ញាតបានរួមមាន var និង​ val ដែលពីរនេះខុសគ្នាត្រង់ថា ពេលប្រើ var អញ្ញាតនឹងអាចផ្លាស់តម្លៃបានគ្រប់ពេល រីឯ val វិញគឺមិនអាចផ្លាស់តម្លៃបាននោះទេ។

  • ខាងក្រោមនេះ គឺជា syntax នៃការប្រកាសអញ្ញាតនិងផ្ទុកតម្លៃទៅឲ្យអញ្ញាតដូចគ្នា:

var variableName = value
val variableName = value
  • ដែល var និង val ជា keywords ដែលប្រើសម្រាប់បង្កើតអញ្ញាត រីឯ variableName គឺជាឈ្មោះរបស់អញ្ញាត និង value គឺជា តម្លៃដែលត្រូវផ្ទុកទៅឲ្យអញ្ញាត។

  • ខាងក្រោមនេះគឺជា sample code ដែលប្រើប្រាស់ Variable:

src / main / kotlin / 2Variables / AppOne.kt

fun main(){
  var name: String = "John"      // String (text)
  val birthYear: Int = 1975   // Int (number)

  println(name)          // Print the value of name
  println(birthYear)     // Print the value of birth year
}
  • កូដខាងលើនេះគឺឃើញថាមានការប្រកាសអញ្ញាតបូករួមជាមួយនឹងនៅពីក្រោយឈ្មោះអញ្ញាតគឺមាន សញ្ញា ចុចពីរ ( : ) និង ប្រភេទទិន្នន័យ var name: String = "John"។ ត្រង់ចំណុចនេះអ្នកនឹងបានយល់ច្បាស់នៅក្នុងមេរៀន Data Types

  • Kotlin គឺមិនដូចភាសាផ្សេងៗនោះទេ ពេលប្រកាសអញ្ញាត អ្នកចង់ដាក់ពីប្រភេទទិន្នន័យនៅពីក្រោយឈ្មោះអញ្ញាតក៏បាន ឬក៏មិនដាក់ក៏បាន:

src / main / kotlin / 2Variables / AppOne.kt

fun main(){
  var name = "John"      // String (text)
  val birthYear = 1975   // Int (number)

  println(name)          // Print the value of name
  println(birthYear)     // Print the value of birth year
}

តែជាជម្រើសដ៏ល្អ អ្នកគួរតែដាក់ប្រភេទទិន្នន័យនៅពីក្រោយឈ្មោះអញ្ញាត ដើម្បីបញ្ជាក់ឲ្យកាន់តែច្បាស់ក្នុងការបញ្ចូលតម្លៃទៅឲ្យអញ្ញាត។

  • ខាងក្រោមនេះគឺអ្វីដែលអ្នកគួរកត់ចំណាំទុក នៅពេលបង្កើតអញ្ញាតនិងឲ្យតម្លៃទៅឲ្យអញ្ញាត:

src / main / kotlin / 2Variables / AppTwo.kt

fun main(){
  // This will generate an error:
  var name
  name = "John"
  println(name)
}
  • ការប្រកាសអញ្ញាតនៅខាងលើគឺខុស អ្នកអាចសាកល្បងខាងក្រោមបាន:

src / main / kotlin / 2Variables / AppTwo.kt

fun main(){
  var name: String
  name = "John"
  println(name)
}
  • កូដខាងលើមានន័យថា ប្រកាសអញ្ញាតរួចហើយតែមិនទាន់ឲ្យតម្លៃ ចាំឲ្យតម្លៃនៅពេលក្រោយ ហើយចំណុចនេះអ្នកមិនអាចប្រើ val ដើម្បីប្រកាសអញ្ញាតបាននោះទេ ព្រោះពេលប្រើ val អ្នកត្រូវឲ្យតម្លៃទៅអញ្ញាតដោយផ្ទាល់ គឺមិនអាចឲ្យនៅពេលក្រោយនោះទេ ហើយក៏មិនអាចផ្លាស់ប្តូរតម្លៃបានដូចគ្នា អ្នកអាចមើលឧទាហរណ៍ខាងក្រោមបាន:

src / main / kotlin / 2Variables / AppThree.kt

fun main(){
  val name: String = "John"
  name = "Robert"  // Error (Val cannot be reassigned)
  println(name)
}
  • ការប្រកាសអញ្ញាតនៅខាងលើគឺខុស អ្នកអាចសាកល្បងខាងក្រោមបាន:

src / main / kotlin / 2Variables / AppThree.kt

fun main(){
  // When using var, you can change the value whenever you want...
  var name: String = "John"
  name = "Robert"
  println(name)
}
  • ខាងក្រោមនេះគឺជាការបង្ហាញតម្លៃដែលបានផ្ទុកនៅក្នុងអញ្ញាតបូករួមជាមួយអក្សរដទៃទៀតដោយប្រើ println() និងសញ្ញា + ដើម្បីបូកតម្លៃរបស់អញ្ញាតនឹងអក្សរដទៃចូលគ្នា។

src / main / kotlin / 2Variables / AppFour.kt

fun main(){
  val name: String = "John"
  println("Hello " + name)

  val firstName: String = "John "
  val lastName: String = "Doe"
  val fullName: String = firstName + lastName
  println(fullName)

  val x: Int = 5
  val y: Int = 6
  println(x + y)
}
  • ចុងក្រោយនេះអ្នកគួរដឺងពីរបៀបក្នុងការដាក់ឈ្មោះទៅឲ្យអញ្ញាតឲ្យមានលក្ខណះពេញលេញ:
    • ឈ្មោះអញ្ញាតអាចដាក់ជាតួអក្សរ, ចំនួនលេខ, សញ្ញា underscore ( _ ), និងសញ្ញា _dollar ( $ )_
    • ឈ្មោះអញ្ញាតគួរចាប់ផ្តើមដោយតួអក្សរ
    • ឈ្មោះអញ្ញាតអាចចាប់ផ្តើមដំបូងជាមួយនឹង underscore ( _ ) ឬ _dollar sign ( $ )_ ក៏បាន
    • ឈ្មោះអញ្ញាតគឺមានលក្ខណះ case sensitive គឺថា myVar និង myvar គឺជាឈ្មោះអញ្ញាតដែលខុសពីគ្នា ​- ឈ្មោះអញ្ញាតអាចចាប់ផ្តើមដោយតួអក្សរ ហើយគួរតែចាប់ផ្តើមតួអក្សរតូចទៅ គឺមានលក្ខណះ camel case គឺបែបនេះ firstName, lastName ...
    • ជៀសវាងដាក់ឈ្មោះអញ្ញាតឲ្យដូចទៅនឹង keyword ដែលមាននៅក្នុងភាសា Kotlin ដូចជា String ឬក៏ផ្សេងៗទៀត។

Data Types ជាអ្វី?🤨

  • Data Type ជាប្រភេទទិន្នន័យ ហើយទាក់ទងនឹងប្រភេទទិន្នន័យនេះ បើសិនជានិយាយទៅកាន់ភាសាកម្មវិធីមួយចំនួនគឺទាមទារឲ្យអ្នកសរសេរកម្មវិធី ប្រកាសនូវប្រភេទទិន្នន័យនៅពីមុខអញ្ញាត ដោយឡែកសម្រាប់ភាសា Kotlin វិញគឺថាចង់ដាក់ក៏បាន ហើយបើមិនចង់ដាក់ក៏បាន ហើយការដាក់ប្រភេទទិន្នន័យគឺខុសពីគេ គឺដាក់នៅពីក្រោយឈ្មោះអញ្ញាតវិញ ហើយមានសញ្ញាចុចពីរនៅពី​មុខ។ នៅក្នុង Kotlin បើសិនជាអ្នកប្រកាសអញ្ញាតដោយមិនបានដាក់ប្រភេទទិន្នន័យនៅពីក្រោយទេ នោះ​ Kotlin វានឹងធ្វើការផ្តល់ជាប្រភេទទិន្នន័យទៅតាមប្រភេទតម្លៃដែលអ្នកបានផ្ទុកនៅក្នុងអញ្ញាតនោះ។ តែជាជម្រើសដ៏ល្អ អ្នកគួរតែប្រកាសអញ្ញាតជាមួយនឹងប្រភេទទិន្នន័យនៅពីក្រោយ។

src / main / kotlin / 3DataTypes / AppOne.kt

fun main(){
  val myNum: Int = 5                // Int
  val myDoubleNum: Double = 5.99    // Double
  val myLetter: Char = 'D'          // Char
  val myBoolean: Boolean = true     // Boolean
  val myText: String = "Hello"      // String

  println(myNum)
  println(myDoubleNum)
  println(myLetter)
  println(myBoolean)
  println(myText)
}
  • នៅក្នុង​ Kotlin ប្រភេទទិន្នន័យត្រូវបានបែងចែកជា គឺ:
    • Numbers ដែលនៅក្នុង numbers ត្រូវបានបែងចែកជាពីរទៀតគឺ Integer Types និង Floating Types ដែល Integer Types ជាប្រភេទលេខចំនួនគត់ រីឯ Floating Types ជាប្រភេទលេខចំនួនទសភាគ(លេខដែលមានក្បៀស)
    • Characters ជាប្រភេទទិន្នន័យជាតួអក្សរមួយតួ
    • Booleans ជាប្រភេទទិន្នន័យដែលមានតម្លៃតែពីរគត់គឺ true និង false គឺថា ពិត​ និង មិនពិត
    • Strings ជាប្រភេទទិន្នន័យជាតួអក្សរតែមានច្រើនតួអក្សរ
    • Arrays ជាប្រភេទទិន្នន័យដែលអាចផ្ទុកតម្លៃជាច្រើននៅក្នងអញ្ញាតតែមួយ។

Number

  • Integer Types: នៅក្នុងនេះគឺមានចំនួនបួនប្រភេទផ្សេងៗគ្នាទៀត ដែលមានដូចខាងក្រោម:
    • Byte ជាប្រភេទទិន្នន័យលេខចំនួនគត់ដែលអាចផ្ទុកតម្លៃពី -128 ទៅដល់ 127
    • Short ជាប្រភេទទិន្នន័យលេខចំនួនគត់ដែលអាចផ្ទុកតម្លៃពី -32768 ទៅដល់ 32767
    • Int ជាប្រភេទទិន្នន័យលេខចំនួនគត់ដែលអាចផ្ទុកតម្លៃពី -2147483648 ទៅដល់ 2147483647
    • Long ជាប្រភេទទិន្នន័យលេខចំនួនគត់ដែលអាចផ្ទុកតម្លៃពី -9223372036854775808 ទៅដល់ 9223372036854775808។ ហើយប្រភេទទិន្នន័យមួយនេះគឺខុសពីគេបន្តិចត្រង់ថានៅពីក្រោយតម្លៃអ្នកអាចដាក់អក្សរ 'L' នៅពីក្រោយក៏បាន ឬក៏អត់ក៏បាន។

src / main / kotlin / 3DataTypes / AppTwo.kt

fun main(){
  // Byte
  val myNum: Byte = 100
  println(myNum)

  // Short
  val myNumTwo: Short = 5000
  println(myNumTwo)

  // Int
  val myNumThree: Int = 100000
  println(myNumThree)

  // Long
  val myNumFour: Long = 15000000000L
  println(myNumFour)

  // Int vs Long
  val myNum1: Int = 2147483647  // Int
  val myNum2: Long = 2147483648L  // Long
  println(myNum1)
  println(myNum2)
}
  • Floating Types: នៅក្នុងនេះគឺមានចំនួនពីរប្រភេទផ្សេងៗគ្នាទៀត ដែលមានដូចខាងក្រោម:
    • Float ជាប្រភេទទិន្នន័យលេខចំនួនទសភាគដែលអាចផ្ទុកចំនួនលេខក្រោយក្បៀសបាន 6 ទៅ 7 ខ្ទង់។ ហើយប្រភេទទិន្នន័យមួយនេះគឺខុសពីគេបន្តិចត្រង់ថានៅពីក្រោយតម្លៃអ្នកត្រូវតែដាក់អក្សរ 'F' ឬ​ 'f' នៅពីក្រោយ។
    • Double ជាប្រភេទទិន្នន័យលេខចំនួនទសភាគដែលអាចផ្ទុកចំនួនលេខក្រោយក្បៀសបាន 15 ទៅ 16 ខ្ទង់

src / main / kotlin / 3DataTypes / AppFour.kt

fun main(){
  // Float
  val myNum: Float = 5.75F
  println(myNum)

  // Double
  val myNumTwo: Double = 19.99
  println(myNumTwo)

  // Float vs Double
  val myNum1: Float = 5.994561F
  val myNum2: Double = 19.95451231564565
  println(myNum1)
  println(myNum2)

  // scientific number with an "e" or "E" to indicate the power of 10
  val myNum3: Float = 35E3F
  val myNum4: Double = 12E4
  println(myNum3)
  println(myNum4)
}

Boolean

src / main / kotlin / 3DataTypes / AppFive.kt

fun main(){
  val isKotlinFun: Boolean = true
  val isFishTasty: Boolean = false
  println(isKotlinFun)   // Outputs true
  println(isFishTasty)   // Outputs false
}

Character

src / main / kotlin / 3DataTypes / AppSix.kt

fun main(){
  val myGrade: Char = 'B'
  println(myGrade)
}
  • ខាងក្រោមនេះ អ្នកមិនអាចសរសេរបែបនេះបានទេ ព្រោះ Kotlin មិន Support នោះទេ!

src / main / kotlin / 3DataTypes / AppSix.kt

fun main(){
  // Unlike Java, you cannot use ASCII values to display certain characters. The value 66 would output a "B" in Java, but will generate an error in Kotlin
  val myLetter: Char = 66
  println(myLetter) // Error
}

String

src / main / kotlin / 3DataTypes / AppSix.kt

fun main(){
  val myText: String = "Hello World"
  println(myText)
}

Array: សម្រាប់ Array អ្នកគួររងចាំសិក្សាពេលក្រោយទៀត តិចទៀតអ្នកដល់ហើយ!

  • Type Conversion ជាការផ្លាស់ប្តូរប្រភេទទិន្នន័យរវាងអញ្ញាតមួយទៅអញ្ញាតមួយទៀត ឧទាហរណ៍ ប្តូរពីតម្លៃលេខទៅជាតួអក្សរដូចកូដខាងក្រោម:
fun main(){
  var x: Int = 10
  var y: String = x
  println(y) // Error: Type mismatch
}
  • អ្នកមិនអាចសរសេររបៀបនឹងទេ អ្នកអាចដោះស្រាយបញ្ហាទាំងនេះបានដោយប្រើ function ទាំងប៉ុន្មាននេះ toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble(), toChar()toString()

src / main / kotlin / 3DataTypes / AppSeven.kt

fun main(){
  // Int to Long
  val x: Int = 5
  val y: Long = x.toLong()
  println(y)

  // Long to Int
  val a: Long = 100000000L
  val b: Int = a.toInt()
  println(b)

  // Byte to Int
  val c: Byte = 10
  val d: Int = c.toInt()
  println(d)

  // Int to Byte
  val e: Int = 100
  val f: Byte = e.toByte()
  println(f)

  // Short to Int
  val g: Short = 200
  val h: Int = g.toInt()
  println(h)

  // Int to Short
  val i: Int = 400
  val j: Short = i.toShort()
  println(j)

  // Float to Double
  val k: Float = 1.345F
  val l: Double = k.toDouble()
  println(l)

  // Double to Float
  val m: Double = 3.56778
  val n: Float = m.toFloat()
  println(n)

  // Int to Double
  val o: Int = 3000
  val p: Double = o.toDouble()
  println(p)

  // Double to Int
  val q: Double = 34.567
  val r: Int = q.toInt()
  println(r)

  // Char to String
  val s: Char = 'A'
  val t: String = s.toString()
  println(t)

  // String to Char
  val u: String = "Hello World"
  val v: Char = u[0]
  println(v)

  // Int to String
  val w: Int = 3400
  val ww: String = w.toString()
  println(ww)

  // String to Double
  val z: String = "56.77"
  val zz: Double = z.toDouble()
  println(zz)
}

Operator ជាអ្វី?😧

  • Operator គឺជាប្រតិបត្តិការរបស់អញ្ញាតនិងតម្លៃ ដូចជា ការបូកលេខជាដើម វាត្រូវការតម្លៃចំនួនពីរ ដើម្បីធ្វើការបូកចូលគ្នា។ ខាងក្រោមនេះគឺជា Arithmetic Operators:
Operator Example
+ (Addition) បូក a + b
- (Subtraction) ដក a – b
* (Multiplication) គុណ a * b
/ (Division) ចែក a / b
% (Modulus) ចែករកសំណល់ a % b
++ (Increment) ឯកតាកើន a++ ឬ ++a
-- (Decrement) ឯកតាថយ a-- ឬ --a

src / main / kotlin / 4Operations / AppOne.kt

fun main(){
  // Addition
  val x: Int = 100 + 50
  println(x)

  // Subtraction
  val y: Int = 100 - 50
  println(y)

  // Multiplication
  val a: Int = 100 * 50
  println(a)

  // Division
  val b: Int = 100 / 50
  println(b)

  // Modulus
  val c: Int = 100 % 30
  println(c)

  // Increment
  var d: Int = 100
  d++
  ++d
  println(d)

  // Decrement
  var e: Int = 200
  e--
  --e
  println(e)
}
  • ខាងក្រោមនេះ គឺ Arithmetic Operators​ ដដែលតែអ្នកអាចប្រើរបៀបនេះបានដែរ ជាការបូកទៅឲ្យអញ្ញាតខ្លួនឯង:
Operator Example Same As
= (Eqaul) ស្មើ a = 10 a = 10
+= (Addition) បូក a += 10 a = a + 10
-= (Subtraction) ដក a -= 10 a = a - 10
*= (Multiplication) គុណ a *= 10 a = a * 10
/= (Division) ចែក a /= 10 a = a / 10
%= (Modulus) ចែករកសំណល់ a %= 10 a = a % 10

src / main / kotlin / 4Operations / AppTwo.kt

fun main(){
  var x: Int = 100
  // Addition
  x += 100
  println(x)

  // Subtraction
  x -= 50
  println(x)

  // Multiplication
  x *= 2
  println(x)

  // Division
  x /= 4
  println(x)

  // Modulus
  x %= 7
  println(x)
}
  • ខាងក្រោមនេះគឺជា Comparison Operator:
Operator Example
== (Eqaul to) ស្មើនឹង a == b
!= (Not Eqaul)​ មិនស្មើនឹង a != b
> (Greater than) ធំជាង a > b
< (Less than) តូចជាង a < b
>= (Greater than or eqaul to) ធំជាងឬស្មើនឹង a >= b
<= (Less than or eqaul to) តូចជាងឬស្មើនឹង a <= b
  • នៅមួយទៀតគឺ Logical Operator:
Operator Example
&& (Logical and) ឈ្នាប់នឹង a < 5 && a < 10
|| (Logical or)​ ឈ្នាប់ឬ a > 4 || a < 10
! (Logical not) ឈ្នាប់មិន !(a == b && b == a)
  • សម្រាប់ Operators ទាំងពីរខាងលើនេះ(Comparison Operator, Logical Operator) អ្នកនឹងបានសិក្សាវានៅក្នុងមេរៀន If-Else Statement

Strings: 😟

  • នៅក្នុងចំណុចនេះអ្នកនឹងបានសិក្សាទាក់ទងនឹងការប្រើប្រាស់ String និងមាន method មួយចំនួនទៀតដែលអាចយកមកប្រើជាមួយនឹង String បាន។
var greeting = "Hello"
var greetingTwo: String = "Hello"
  • កូដខាងលើគឺជាប្រកាសអញ្ញាតដោយប្រើប្រាស់ប្រភេទទិន្នន័យជាតួអក្សរគឺ String។ អ្វីដែលអ្នកគួរដឹងបន្តគឺ escape string ដែលមានឧទាហរណ៍នៅខាងក្រោម:
fun main(){
  println("Hello \nWorld")
  /*
  *   Outputs: Hello
  *            World
  */
  println("Hello \tWolrd") // Outputs: Hello   Wolrd
  println("I\'m a developer!") // Outputs: I'm a developer!
  println("I love \"Kotlin\"!") // Outputs: I love "Kotlin"!
}
  • Escape Strings ខាងលើមានដូចជា \n ដែលប្រើសម្រាប់ចុះបន្ទាត់ និង \t ប្រើសម្រាប់​ឲ្យមានគម្លាតមួយ tab រីឯ \ ប្រ់ើសម្រាប់ដាក់ single quote( ' ) និង double quote( " ) នៅក្នុង String បាន។

  • ខាងក្រោមនេះគឺអ្នកអាចបង្ហាញតម្លៃជាតួអក្សរមួយៗមកបាន ដោយប្រើ square brackets [ ] ហើយនៅក្នុង sqaure brackets នោះអ្នកត្រូវដាក់តម្លៃ index ទៅឲ្យតាម index របស់អក្សរដែលអ្នកចង់បង្ហាញ ដែលនៅក្នុង String index គឺចាប់ផ្តើមពីលេខ 0 ទៅ ចឹងបើឧទាហរណ៍ថា អ្នកមាន String មួយមានតម្លៃ "Hello" ចឹងអក្សរ H នឹងស្ថិតនៅលើ index លេខ 0 ចំណែកឯ e ស្ថិតនៅលើ index លេខ 1 ហើយសម្រាប់តួអក្សរផ្សេងៗទៀតគឺស្ថិតនៅលើ index តាមក្រោយៗចឹងទៀតទៅ។

src / main / kotlin / 5StringMethods / AppOne.kt

fun main(){
  // access the characters
  var txt = "Hello World"
  println(txt[0]) // first element (H)
  println(txt[2]) // third element (l)
  println(txt.get(4)) // fifth element (o)
}
  • នៅកូដខាងលើគឺឃើញថានៅមាន​ function get() មួយទៀត ដែលវាមិនខុសអីពីការប្រើជាមួយនឹង square brackets [ ] ប៉ុន្មានទេ គឺដូចគ្នា។

  • ខាងក្រោមនេះគឺជារាប់ចំនួនតួអក្សរនៅក្នុង String ដោយប្រើ property length និង function count() ដែលពីរនេះគឺប្រើសម្រាប់រាប់ចំនួនតួអក្សរនៅក្នុង String ដូចគ្នា។

src / main / kotlin / 5StringMethods / AppOne.kt

fun main(){
  var txtTwo = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  println("The length of the txtTwo string are: " + txtTwo.length)
  println("The count of the txtTwo string are: " + txtTwo.count())
}
  • ខាងក្រោមនេះគឺជាការប្រើប្រាស់ function មួយចំនួន ដែលអាចឲ្យតួអក្សរនៅក្នុង String ទៅជាអក្សរធំឬទៅជាអក្សរតូចតាមដែលអ្នកចង់បាន។

src / main / kotlin / 5StringMethods / AppOne.kt

fun main(){
  // string functions
  var txtThree = "hello world"
  println(txtThree.toUpperCase())   // Outputs "HELLO WORLD"
  println(txtThree.toLowerCase())   // Outputs "hello world"
  println(txtThree.capitalize()) // Outputs "Hello World"
  println(txtThree.decapitalize()) // Outputs "hello world"
}
  • ខាងក្រោមនេះគឺជាការប្រើប្រាស់ function មួយចំនួន ដែលប្រើសម្រាប់ប្រៀបធៀបតួអក្សរនៅក្នុង String មួយទៅ String មួយទៀត ដើម្បីចង់ដឹងថា Strings ទាំងពីរមានតម្លៃដូចគ្នាឬអត់ ហើយក្នុង functions នោះគឺមាន arguments ចំនួនពីរ ដែលទីមួយគឺ String ដែលអ្នកត្រូវប្រៀបធៀបជាមួយនឹង String មួយទៀត នឹងទីពីរគឺ ignoreCase = true មានន័យថា អ្នកចង់ប្រៀបធៀបតួអក្សរនៅក្នុង Strings ដោយមិនគិតពីអក្សរតូចឬក៏អក្សរធំ មានន័យថាឲ្យតែអក្សរដូចគ្នាគឺយកហើយ។

About

អត្ថបទមួយនេះបានបង្ហាញអំពីមេរៀននៃភាសា Kotlin បូករួមជាមួយនឹងលំហាត់អនុវត្តន៍​ជាច្រើន😋


Languages

Language:Kotlin 100.0%