- 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 ដោយមិនគិតពីអក្សរតូចឬក៏អក្សរធំ មានន័យថាឲ្យតែអក្សរដូចគ្នាគឺយកហើយ។