- Source Code គឺមានទៅតាម folder នីមួយៗទៅតាមមេរៀន ដូច្នេះអ្នកអាចរកនៅក្នុង folder src / main / kotlin បាន!
- ដើម្បីរៀនតាម Tutorial មួយនេះឲ្យកាន់តែឆាប់យល់ ឆាប់ចាប់បាន អ្នកគួរមើលវីដេអូ Kotlin Crush Course ខ្លះៗដែរ ដើម្បីជាជំនួយក្នុងការសិក្សាវាបន្ថែម។
Kotlin Course - Tutorial for Beginners by Nate Ebel
Kotlin Crash Course by Philipp Lackner
- សម្រាប់ Kotlin គឺជាភាសាកម្មវិធី ដូច្នេះអ្នកដែលទើបតែរៀនកូដថ្មីថ្មោងក៏អាចរៀនបានដែរ តែរៀងពិបាកសម្របខ្លួនបន្តិច ព្រោះអ្នកទើបតែចាប់ផ្តើម តែបើសិនជាអ្នកធ្លាប់បានសិក្សាភាសាកម្មវិធីផ្សេងៗដូចជា C, C++ និង Java គឺវាជារឿងល្អសម្រាប់អ្នក ដើម្បីងាយស្រួលក្នុងការសម្របខ្លួនជាមួយនឹងភាសា Kotlin មួយនេះ។
- OOP : OOP stands for Object-Oriented Programming។ OOP គឺជា Structure មួយដែលត្រូវបានគេប្រើប្រាស់សំរាប់បង្កើតនូវ Software ក្នុងទម្រង់ជា Unit ហើយត្រូវបានគេគ្រប់គ្នាស្គាល់ថាជា Object ។ សារប្រយោជន៍នៃការប្រើប្រាស់ OOP មានដូចជា:
- មានល្បឿនលឿន និងងាយស្រួលក្នុងការ Execute កូដ
- ផ្តល់នូវ Structure មួយដែលមើលទៅងាយយល់នៅក្នុង Program
- ធ្វើឲ្យកូដសរសេរទៅ គ្មានភាពច្រំដែល, ងាយស្រួលក្នុងការត្រួតពិនិត្យកូដ, និងងាយស្វែងរក Error នៅក្នុង Program
- ចំណេញពេលវេលា ។
- Kotlin គឺជាភាសាកម្មវិធីថ្មីដែលមានលក្ខណះ
Open Sourceហើយដូចទៅនឹងភាសា Java និង JavaScript ដែរ។ វាជាភាសាមួយដែលសំបូរបែប ដែលប្រមូលផ្តុំទៅដោយមុខងារជាច្រើនដែលស្ថិតនៅកន្លែងតែមួយ។ បច្ចុប្បន្ននេះ Kotlin ដំណើរការលើ JVM ។ មួយវិញទៀត Kotlin គឺដូចទៅនឹងភាសា Java ទាំងស្រុង ហើយនៅក្នុង Kotlin ក៏មាន library របស់ Java ស្រាប់ និយាយមួយម៉ាត់ឲ្យខ្លីទៅ គឺអ្នកអាចសរសេរកូដភាសា Java នៅក្នុង 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
ចុច New Project
ចុចយក Kotlin បន្ទាប់មកបំពេញឈ្មោះរបស់ project នៅកន្លែង Name ធ្វើការផ្ទុកឯកសារនៅកន្លែង Location ហើយ Project Template សូមរើសយក Application ហើយ Build System សូមយក Grandle Kotlin ហើយ Project JDK សូមយក version ដែលអ្នកបានទាញយកមក រីឯនៅចំណុចខាងក្រោមគឺ Artifact Coordinates វិញ អ្នកអាចទុកចោលបាន ព្រោះវានឹងឲ្យតម្លៃដើមនៅទីនោះ តែបើអ្នកចង់ប្តូរក៏មិនមានជាបញ្ហាអីដែរ បន្ទាប់មកចុច Next ដើម្បីបន្តទៅមុខទៀត។
ត្រង់ចំណុចនេះ អ្នកចង់ផ្លាស់ប្តូរក៏បាន ឬក៏មិនផ្លាស់ប្តូរក៏បានដែរ ហើយអាចចុច Finish ដើម្បីបញ្ចប់ប្រតិបត្តិការនៃការបង្កើត Project បាន។
ខាងក្រោមនេះគឺជា Project ដែលអ្នកបានបង្កើតហើយអម្បាញ់មិញ ហើយអ្នកត្រូវរងចាំបន្តិច ដើម្បីឲ្យ IDE បាន sync នូវ Project ឲ្យចប់សិន។
បន្ទាប់ Project របស់អ្នកត្រូវបាន sync ចប់ អ្នកចូលទៅក្នុង folder src / main / kotlin ហើយអ្នកនឹងឃើញមាន file មួយគឺ main.kt ហើយនៅក្នុង file នោះមានកូដដូចខាងក្រោម:
fun main(args: Array<String>) { println("Hello World!") }កូដខាងលើគឺជាកូដរបស់ Kotlin ចំណុចបន្ទាប់ អ្នកធ្វើការប្រតិបត្តិកម្មវិធីដោយចុច play នៅស្តាំដៃខាងលើ ហើយអ្នកនឹងឃើញលទ្ធផលនៅក្នុង console ខាងក្រោម។
- ខាងក្រោមនេះគឺជា 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") }- នៅក្នុងចំណុចនេះ អ្នកនឹងស្គាល់នូវ 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 បកប្រែជាភាសាខ្មែរប្រែថាជា
អញ្ញាតដែលគេប្រើសម្រាប់ផ្ទុកទិន្នន័យឬតម្លៃជាបណ្តោះអាសន្ននៅក្នុង 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 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'នៅពីក្រោយក៏បាន ឬក៏អត់ក៏បាន។
- Byte ជាប្រភេទទិន្នន័យលេខចំនួនគត់ដែលអាចផ្ទុកតម្លៃពី
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 ខ្ទង់។
- Float ជាប្រភេទទិន្នន័យលេខចំនួនទសភាគដែលអាចផ្ទុកចំនួនលេខក្រោយក្បៀសបាន
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 គឺជាប្រតិបត្តិការរបស់អញ្ញាតនិងតម្លៃ ដូចជា ការបូកលេខជាដើម វាត្រូវការតម្លៃចំនួនពីរ ដើម្បីធ្វើការបូកចូលគ្នា។ ខាងក្រោមនេះគឺជា 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។
- នៅក្នុងចំណុចនេះអ្នកនឹងបានសិក្សាទាក់ទងនឹងការប្រើប្រាស់ 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និង functioncount()ដែលពីរនេះគឺប្រើសម្រាប់រាប់ចំនួនតួអក្សរនៅក្នុង 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 ដោយមិនគិតពីអក្សរតូចឬក៏អក្សរធំ មានន័យថាឲ្យតែអក្សរដូចគ្នាគឺយកហើយ។