Kotlin Bootcamp สําหรับโปรแกรมเมอร์ 2: ข้อมูลเบื้องต้นเกี่ยวกับ Kotlin

Codelab นี้เป็นส่วนหนึ่งของหลักสูตร Kotlin Bootcamp สําหรับโปรแกรมเมอร์ คุณจะได้รับประโยชน์สูงสุดจากหลักสูตรนี้ หากทํางานผ่าน Codelab ตามลําดับ คุณอาจอ่านผ่านบางหัวข้อได้ ทั้งนี้ขึ้นอยู่กับความรู้ของคุณ หลักสูตรนี้มุ่งเน้นที่โปรแกรมเมอร์ที่มีความรู้เกี่ยวกับภาษาเชิงวัตถุและต้องการเรียนรู้ Kotlin

ข้อมูลเบื้องต้น

ใน Codelab นี้ คุณจะได้เรียนรู้ข้อมูลพื้นฐานเกี่ยวกับภาษาโปรแกรม Kotlin ได้แก่ ประเภทข้อมูล โอเปอเรเตอร์ ตัวแปร โครงสร้างการควบคุม และตัวแปรที่เป็นค่าว่างเทียบกับค่า Null ไม่ได้ หลักสูตรนี้มุ่งเน้นที่โปรแกรมเมอร์ที่มีความรู้เกี่ยวกับภาษาเชิงวัตถุและต้องการเรียนรู้เกี่ยวกับ Kotlin

แทนที่หลักสูตรนี้จะสร้างแอปตัวอย่างเดียว บทเรียนในหลักสูตรนี้ออกแบบมาเพื่อสร้างเสริมความรู้ แต่นักเรียนไม่ต้องพึ่งพากันและกันเพื่อให้คุณเข้าใจส่วนต่างๆ ที่คุณคุ้นเคย ตัวอย่างจํานวนมากใช้ธีมสัตว์น้ําร่วมกัน และอยากดูเรื่องราวเกี่ยวกับสัตว์น้ําทั้งหมด โปรดดูหลักสูตร Kotlin Bootcamp for Programmers Udacity

สิ่งที่ควรทราบอยู่แล้ว

  • วิธีสร้างโปรเจ็กต์ใน IntelliJ IDEA
  • วิธีเปิดและเรียกใช้โค้ดใน Kotlin's REPL (Read-Eval-Print Loop) ใน IntelliJ IDEA (เครื่องมือ > Kotlin > Kotlin REPL)

สิ่งที่คุณจะได้เรียนรู้

  • วิธีใช้ประเภทข้อมูล โอเปอเรเตอร์ และตัวแปรของ Kotlin
  • วิธีทํางานกับบูลีนและเงื่อนไข
  • ความแตกต่างระหว่างตัวแปรที่เป็นค่าว่างและค่าต่างๆ ไม่ได้
  • วิธีการทํางานของอาร์เรย์ รายการ และวนซ้ําใน Kotlin

สิ่งที่คุณจะทํา

  • ทํางานร่วมกับ Kotlin REPL เพื่อเรียนรู้ข้อมูลเบื้องต้นของ Kotlin

ในงานนี้ คุณจะได้เรียนรู้เกี่ยวกับโอเปอเรเตอร์และประเภทโดยใช้ภาษาโปรแกรม Kotlin

ขั้นตอนที่ 1: สํารวจโอเปอเรเตอร์ที่เป็นตัวเลข

  1. เปิด IntelliJ IDEA หากยังไม่ได้เปิด
  2. หากต้องการเปิด Kotlin REPL ให้เลือก Tools > Kotlin > Kotlin REPL

เช่นเดียวกับภาษาอื่นๆ Kotlin ใช้ +, -, * และ / สําหรับบวก ลบ เวลา และแผนก Kotlin ยังรองรับหมายเลขประเภทต่างๆ เช่น Int, Long, Double และ Float

  1. ป้อนนิพจน์ต่อไปนี้ในการตอบกลับ หากต้องการดูผลการค้นหา ให้กด Control+Enter (Command+Enter ใน Mac) หลังจากแต่ละรายการ
1+1
⇒ res8: kotlin.Int = 2

53-3
⇒ res9: kotlin.Int = 50

50/10
⇒ res10: kotlin.Int = 5

1.0/2.0
⇒ res11: kotlin.Double = 0.5

2.0*3.5
⇒ res12: kotlin.Double = 7.0

โปรดทราบว่าผลลัพธ์ของการดําเนินการจะเก็บค่าตัวถูกดําเนินการไว้ ดังนั้น 1/2 = 0 แต่ 1.0/2.0 = 0.5

  1. โปรดลองใช้นิพจน์ที่มีเครื่องหมายจํานวนเต็มและทศนิยมผสมกัน
6*50
⇒ res13: kotlin.Int = 300

6.0*50.0
⇒ res14: kotlin.Double = 300.0

6.0*50
⇒ res15: kotlin.Double = 300.0
  1. เรียกเมธอดด้วยตัวเลข Kotlin เก็บตัวเลขเป็นค่าดั้งเดิม แต่ให้คุณเรียกใช้เมธอดบนตัวเลขได้ราวกับเป็นออบเจ็กต์
2.times(3)
⇒ res5: kotlin.Int = 6

3.5.plus(4)
⇒ res8: kotlin.Double = 7.5

2.4.div(2)
⇒ res9: kotlin.Double = 1.2

ขั้นตอนที่ 2: ฝึกทํางานโดยใช้ประเภท

Kotlin ไม่ได้แปลงโดยนัยระหว่างประเภทตัวเลข คุณจึงไม่สามารถกําหนดค่าสั้นๆ ให้กับตัวแปรแบบยาวโดยตรง หรือ Byte ไปยัง Int ซึ่งเป็นเพราะการแปลงตัวเลขโดยนัยเป็นข้อผิดพลาดที่พบได้ทั่วไปในโปรแกรม คุณกําหนดมูลค่าประเภทต่างๆ ได้ทุกเมื่อโดยการแคสต์

  1. หากต้องการดูแคสต์บางรายการที่เป็นไปได้ ให้กําหนดตัวแปรประเภท Int ใน REPL
val i: Int = 6
  1. สร้างตัวแปรใหม่ จากนั้นป้อนชื่อตัวแปรที่แสดงด้านบน ตามด้วย .to
val b1 = i.to

IntelliJ IDEA จะแสดงรายการการดําเนินการที่เป็นไปได้ทั้งหมด การเติมข้อความอัตโนมัตินี้ใช้งานได้กับตัวแปรและออบเจ็กต์ทุกประเภท

  1. เลือก toByte() จากรายการ จากนั้นพิมพ์ตัวแปร
val b1 = i.toByte()
println(b1)
⇒ 6
  1. กําหนดค่า Byte ให้กับตัวแปรประเภทต่างๆ
val b2: Byte = 1 // OK, literals are checked statically
println(b2)
⇒ 1

val i1: Int = b2
⇒ error: type mismatch: inferred type is Byte but Int was expected

val i2: String = b2
⇒ error: type mismatch: inferred type is Byte but String was expected

val i3: Double = b2
⇒ error: type mismatch: inferred type is Byte but Double was expected
  1. สําหรับงานที่แสดงข้อผิดพลาด ให้ลองแคสต์แทน
val i4: Int = b2.toInt() // OK!
println(i4)
⇒ 1

val i5: String = b2.toString()
println(i5)
⇒ 1

val i6: Double = b2.toDouble()
println(i6)
⇒ 1.0
  1. Kotlin ช่วยให้คุณวางขีดล่างในตัวเลขได้หากต้องการ ลองป้อนค่าคงที่ที่เป็นตัวเลขอื่นๆ
val oneMillion = 1_000_000
val socialSecurityNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E
val bytes = 0b11010010_01101001_10010100_10010010

ขั้นตอนที่ 3: ดูค่าของประเภทตัวแปร

Kotlin รองรับตัวแปร 2 ประเภท ได้แก่ เปลี่ยนแปลงได้และเปลี่ยนแปลงไม่ได้ ด้วย val คุณสามารถกําหนดมูลค่าได้หนึ่งครั้ง คุณอาจได้รับข้อผิดพลาดหากพยายามมอบหมายอีกครั้ง เมื่อใช้ var คุณสามารถกําหนดมูลค่าแล้วเปลี่ยนแปลงค่าในภายหลังในโปรแกรมได้

  1. กําหนดตัวแปรโดยใช้ val และ var แล้วกําหนดค่าใหม่ให้กับตัวแปร
var fish = 1
fish = 2
val aquarium = 1
aquarium = 2
⇒ error: val cannot be reassigned

คุณสามารถกําหนดค่า fish แล้วกําหนดมูลค่าใหม่ เนื่องจากมีการกําหนดค่าไว้ที่ var การพยายามกําหนดค่าใหม่ให้กับ aquarium จะทําให้มีข้อผิดพลาดเกิดขึ้นเนื่องจากมีการกําหนดไว้กับ val

ประเภทที่คุณจัดเก็บในตัวแปรจะได้รับการอนุมานเมื่อคอมไพเลอร์สามารถระบุออกจากบริบทได้ คุณระบุประเภทของตัวแปรอย่างชัดแจ้งได้เสมอโดยใช้เครื่องหมายโคลอน

  1. กําหนดตัวแปรบางอย่างและระบุประเภทอย่างชัดแจ้ง
var fish: Int = 12
var lakes: Double = 2.5

เมื่อคุณกําหนดหรือเป็นผู้คอมไพล์แล้ว คุณจะเปลี่ยนประเภทไม่ได้หรือได้รับข้อผิดพลาด

ขั้นตอนที่ 4: ดูข้อมูลเกี่ยวกับสตริง

สตริงใน Kotlin ค่อนข้างคล้ายกับสตริงในภาษาโปรแกรมอื่นๆ ที่ใช้ " สําหรับสตริงและ ' สําหรับอักขระตัวเดียว และคุณสามารถต่อสตริงกับโอเปอเรเตอร์ + ได้ คุณสร้างเทมเพลตสตริงโดยผสมกับค่าต่างๆ ได้ โดยชื่อ $variable จะถูกแทนที่ด้วยข้อความที่แสดงค่า เราเรียกสิ่งนี้ว่าการประมาณค่าตัวแปร

  1. สร้างเทมเพลตสตริง
val numberOfFish = 5
val numberOfPlants = 12
"I have $numberOfFish fish" + " and $numberOfPlants plants"
⇒ res20: kotlin.String = I have 5 fish and 12 plants
  1. สร้างเทมเพลตสตริงที่มีนิพจน์อยู่ในนั้น และค่าดังกล่าวอาจเป็นผลลัพธ์ของนิพจน์อื่นๆ ใช้วงเล็บปีกกา {} เพื่อกําหนดนิพจน์
"I have ${numberOfFish + numberOfPlants} fish and plants"
⇒ res21: kotlin.String = I have 17 fish and plants

ในงานนี้ คุณจะได้เรียนรู้เกี่ยวกับบูลีนและตรวจสอบเงื่อนไขในภาษาเขียนโปรแกรมของ Kotlin เช่นเดียวกับภาษาอื่นๆ Kotlin มีบูลีนและโอเปอเรเตอร์บูลีน เช่น น้อยกว่า เท่ากับ มากกว่า เป็นต้น (<, ==, >, !=, <=, >=)

  1. เขียนคําสั่ง if/else
val numberOfFish = 50
val numberOfPlants = 23
if (numberOfFish > numberOfPlants) {
    println("Good ratio!") 
} else {
    println("Unhealthy ratio")
}
⇒ Good ratio!
  1. ลองใช้ช่วงในคําสั่ง if ใน Kotlin เงื่อนไขที่คุณทดสอบจะใช้ช่วงได้เช่นกัน
val fish = 50
if (fish in 1..100) {
    println(fish)
}
⇒ 50
  1. เขียน if ที่มีหลายกรณี สําหรับเงื่อนไขที่ซับซ้อนมากขึ้น ให้ใช้เชิงตรรกะและ && และตรรกะหรือ || เช่นเดียวกับภาษาอื่นๆ คุณอาจมีเคสหลายเคสได้โดยใช้ else if
if (numberOfFish == 0) {
    println("Empty tank")
} else if (numberOfFish < 40) {
    println("Got fish!")
} else {
    println("That's a lot of fish!")
}
⇒ That's a lot of fish!
  1. ลองใช้คําสั่ง when มีวิธีที่ดีกว่าในการเขียนชุดคําสั่ง if/else if/else ด้วย Kotlin โดยใช้คําสั่ง when ซึ่งเหมือนกับคําสั่ง switch ในภาษาอื่นๆ เงื่อนไขในคําสั่ง when จะใช้ช่วงได้เช่นกัน
when (numberOfFish) {
    0  -> println("Empty tank")
    in 1..39 -> println("Got fish!")
    else -> println("That's a lot of fish!")
}
⇒ That's a lot of fish!

ในงานนี้ คุณจะได้เรียนรู้เกี่ยวกับตัวแปรที่เป็นค่า Null เทียบกับค่า Null ไม่ได้ ข้อผิดพลาดในการเขียนโปรแกรมที่เกี่ยวข้องกับ Null เป็นแหล่งที่มาของข้อบกพร่องจํานวนนับไม่ถ้วน Kotlin พยายามลดข้อบกพร่องโดยการแนะนําตัวแปรที่เป็นค่าว่างไม่ได้

ขั้นตอนที่ 1: ดูข้อมูลเกี่ยวกับ Nullability

โดยค่าเริ่มต้น ตัวแปรต้องไม่เป็น null

  1. ประกาศ Int และกําหนด null
var rocks: Int = null
⇒ error: null can not be a value of a non-null type Int
  1. ใช้โอเปอเรเตอร์เครื่องหมายคําถาม ? หลังประเภทเพื่อระบุว่าตัวแปรอาจเป็น Null ได้ ประกาศ Int? และกําหนด null
var marbles: Int? = null

เมื่อคุณมีประเภทข้อมูลที่ซับซ้อน เช่น รายการ

  • คุณอนุญาตให้องค์ประกอบในรายการเป็น Null ได้
  • คุณจะอนุญาตให้รายการมีค่าเป็น Null ได้ แต่ในกรณีที่เป็นค่า Null จะเป็น Null ไม่ได้
  • คุณอนุญาตให้ทั้งรายการหรือองค์ประกอบเป็น Null ได้

รายการงานและประเภทข้อมูลที่ซับซ้อนอื่นๆ จะครอบคลุมในงานถัดไป

ขั้นที่ 2: ดูข้อมูลเกี่ยวกับ ? และ ?: โอเปอเรเตอร์

คุณสามารถทดสอบ null ด้วยโอเปอเรเตอร์ ? ซึ่งช่วยให้คุณไม่ต้องเสียเวลาเขียนคําสั่ง if/else จํานวนมาก

  1. เขียนโค้ดยาวขึ้นเพื่อตรวจสอบว่าตัวแปร fishFoodTreats ไม่ใช่ null หรือไม่ แล้วทําให้ตัวแปรนั้นลดลง
var fishFoodTreats = 6
if (fishFoodTreats != null) {
    fishFoodTreats = fishFoodTreats.dec()
}
  1. ลองดูที่วิธีการเขียนของ Kotlin โดยใช้โอเปอเรเตอร์ ?
var fishFoodTreats = 6
fishFoodTreats = fishFoodTreats?.dec()
  1. คุณยังเชื่อมโยงการทดสอบ Null กับโอเปอเรเตอร์ ?: ได้ด้วย ดังตัวอย่างต่อไปนี้
fishFoodTreats = fishFoodTreats?.dec() ?: 0

เป็นคําย่อสําหรับ "หาก fishFoodTreats ไม่ใช่ null ให้เลิกใช้และใช้ค่า มิเช่นนั้นจะใช้ค่าหลัง ?: ซึ่งเท่ากับ 0." หาก fishFoodTreats คือ null ระบบจะหยุดการประเมินและจะไม่เรียกใช้เมธอด dec()

ประเด็นเกี่ยวกับตัวชี้ Null

ถ้าคุณชอบ NullPointerExceptions มาก Kotlin ช่วยให้คุณเก็บพวกเขาไว้ได้ โอเปอเรเตอร์การยืนยันที่ไม่เป็นค่าว่าง !! (double-bang) จะแปลงค่าใดๆ เป็นประเภทที่ไม่ใช่ Null และส่งข้อยกเว้นหากค่าเป็น null

val len = s!!.length   // throws NullPointerException if s is null

ในงานนี้ คุณจะได้เรียนรู้เกี่ยวกับอาร์เรย์และรายการ และได้เรียนรู้วิธีต่างๆ ในการสร้างการวนซ้ําในภาษาโปรแกรม Kotlin

ขั้นตอนที่ 1: สร้างรายการ

รายการเป็นประเภทพื้นฐานใน Kotlin และคล้ายกับรายการในภาษาอื่นๆ

  1. ประกาศรายการโดยใช้ listOf และพิมพ์ออกมา รายการนี้เปลี่ยนแปลงไม่ได้
val school = listOf("mackerel", "trout", "halibut")
println(school)
⇒ [mackerel, trout, halibut]
  1. ประกาศรายการที่เปลี่ยนแปลงได้โดยใช้ mutableListOf นํารายการออก
val myList = mutableListOf("tuna", "salmon", "shark")
myList.remove("shark")
⇒ res36: kotlin.Boolean = true

เมธอด remove() แสดงผล true เมื่อนํารายการออกเรียบร้อยแล้ว

ขั้นตอนที่ 2: สร้างอาร์เรย์

Kotlin มีอาร์เรย์เช่นเดียวกับภาษาอื่นๆ ไม่มี Array เวอร์ชันที่เปลี่ยนแปลงไม่ได้ ซึ่งต่างจากรายการใน Kotlin ที่มีเวอร์ชันที่เปลี่ยนแปลงไม่ได้ เมื่อสร้างอาร์เรย์แล้ว ขนาดจะคงที่ คุณเพิ่มหรือนําองค์ประกอบออกไม่ได้ ยกเว้นการคัดลอกไปยังอาร์เรย์ใหม่

กฎเกี่ยวกับการใช้ val และ var จะเหมือนกันกับอาร์เรย์ที่มีรายการ

  1. ประกาศอาร์เรย์ของสตริงโดยใช้ arrayOf ใช้เครื่องมืออาร์เรย์ java.util.Arrays.toString() เพื่อพิมพ์
val school = arrayOf("shark", "salmon", "minnow")
println(java.util.Arrays.toString(school))
⇒ [shark, salmon, minnow]
  1. อาร์เรย์ที่ประกาศด้วย arrayOf ไม่มีประเภทที่เชื่อมโยงกับองค์ประกอบ คุณจึงผสมผสานประเภทที่เป็นประโยชน์ได้ ประกาศอาร์เรย์ที่มีประเภทต่างๆ
val mix = arrayOf("fish", 2)
  1. และยังประกาศอาร์เรย์ที่มี 1 ประเภทสําหรับองค์ประกอบทั้งหมดได้ด้วย ประกาศอาร์เรย์ของจํานวนเต็มโดยใช้ intArrayOf() มีเครื่องมือสร้างที่เกี่ยวข้องหรือฟังก์ชันการเริ่มต้นสําหรับอาร์เรย์ประเภทอื่นๆ
val numbers = intArrayOf(1,2,3)
  1. รวมอาร์เรย์ 2 รายการกับโอเปอเรเตอร์ +
val numbers = intArrayOf(1,2,3)
val numbers3 = intArrayOf(4,5,6)
val foo2 = numbers3 + numbers
println(foo2[5])
=> 3
  1. ลองใช้ชุดค่าผสมของอาร์เรย์และรายการที่ซ้อนกันหลายรายการ เช่นเดียวกับภาษาอื่นๆ คุณสามารถฝังอาร์เรย์และรายการได้ กล่าวคือ เมื่อคุณใส่อาร์เรย์ภายในอาร์เรย์ คุณจะมีอาร์เรย์ 1 ชุด ไม่ใช่อาร์เรย์ที่แยกเป็นเนื้อหาของทั้ง 2 อาร์เรย์ องค์ประกอบของอาร์เรย์อาจเป็นรายการ และองค์ประกอบของรายการอาจเป็นอาร์เรย์
val numbers = intArrayOf(1, 2, 3)
val oceans = listOf("Atlantic", "Pacific")
val oddList = listOf(numbers, oceans, "salmon")
println(oddList)
⇒ [[I@89178b4, [Atlantic, Pacific], salmon]

องค์ประกอบแรก numbers คือ Array เมื่อคุณไม่ใช้ยูทิลิตีอาร์เรย์เพื่อพิมพ์ Kotlin จะพิมพ์ที่อยู่แทนเนื้อหาของอาร์เรย์

  1. ฟีเจอร์ที่ดีอย่างหนึ่งของ Kotlin คือคุณสามารถเริ่มอาร์เรย์ด้วยโค้ดแทนที่จะเริ่มต้นเป็น 0 ดังตัวอย่างต่อไปนี้
val array = Array (5) { it * 2 }
println(java.util.Arrays.toString(array))
⇒ [0, 2, 4, 6, 8]

โค้ดการเริ่มต้นอยู่ระหว่างวงเล็บปีกกา {} ในโค้ด it หมายถึงดัชนีอาร์เรย์ที่ขึ้นต้นด้วย 0

ขั้นตอนที่ 3: วนซ้ํา

เมื่อคุณมีรายการและอาร์เรย์แล้ว การวนซ้ําองค์ประกอบต่างๆ ก็จะทํางานตามที่คุณคาดไว้

  1. สร้างอาร์เรย์ ใช้วนซ้ํา for ซ้ําผ่านอาร์เรย์และพิมพ์องค์ประกอบ
val school = arrayOf("shark", "salmon", "minnow")
for (element in school) {
    print(element + " ")
}
⇒ shark salmon minnow
  1. ใน Kotlin คุณวนซ้ําองค์ประกอบและดัชนีพร้อมกันได้ ดังตัวอย่างต่อไปนี้
for ((index, element) in school.withIndex()) {
    println("Item at $index is $element\n")
}
⇒ Item at 0 is shark
Item at 1 is salmon
Item at 2 is minnow
  1. ลองใช้ขนาดและช่วงขนาดต่างๆ คุณสามารถระบุช่วงตัวเลขหรืออักขระตามตัวอักษร และในภาษาอื่น คุณไม่ต้องก้าวไปข้างหน้าทีละ 1 ครั้ง คุณย้อนกลับไปได้โดยใช้ downTo
for (i in 1..5) print(i)
⇒ 12345

for (i in 5 downTo 1) print(i)
⇒ 54321

for (i in 3..6 step 2) print(i)
⇒ 35

for (i in 'd'..'g') print (i)
⇒ defg
  1. ทดลองวนซ้ํา Kotlin มีภาษา while วนซ้ํา do...while รอบ และมีโอเปอเรเตอร์ ++ และ -- เช่นเดียวกับภาษาอื่นๆ Kotlin ยังมีวนซ้ํา repeat รายการ
var bubbles = 0
while (bubbles < 50) {
    bubbles++
}
println("$bubbles bubbles in the water\n")

do {
    bubbles--
} while (bubbles > 50)
println("$bubbles bubbles in the water\n")

repeat(2) {
     println("A fish is swimming")
}
⇒ 50 bubbles in the water
49 bubbles in the water
A fish is swimmingA fish is swimming

Kotlin คล้ายกับภาษาอื่นๆ อย่างมากเมื่อพูดถึงข้อมูลพื้นฐาน เช่น โอเปอเรเตอร์ รายการ และลูป แต่มีความแตกต่างที่สําคัญบางอย่าง

ฟีเจอร์ต่อไปนี้ใน Kotlin อาจแตกต่างจากที่คุณคุ้นเคยในภาษาอื่นๆ

  • ประเภท Kotlin แปลงไม่ได้โดยนัย ให้ใช้การแคสต์
  • กําหนดตัวแปรที่ประกาศด้วย val ได้เพียงครั้งเดียว
  • ตัวแปร Kotlin ต้องไม่เป็นค่าว่างโดยค่าเริ่มต้น ใช้ ? เพื่อทําให้ตัวแปรเป็น Null
  • เมื่อใช้ Kotlin คุณจะวนซ้ําดัชนีและองค์ประกอบของอาร์เรย์พร้อมกันได้วนซ้ํา for

โครงสร้างโปรแกรม Kotlin ต่อไปนี้คล้ายกับโครงสร้างในภาษาอื่นๆ

  • อาร์เรย์และรายการอาจมีประเภทเดียวหรือหลายประเภทผสมกัน
  • อาร์เรย์และรายการสามารถซ้อนกันได้
  • คุณสามารถสร้างการวนซ้ําได้โดยใช้ for, while, do/while และ repeat
  • คําสั่ง when คือคําสั่ง switch ในรูปแบบ Kotlin&#39 แต่ when มีความยืดหยุ่นมากกว่า

เอกสารประกอบเกี่ยวกับ Kotlin

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อใดก็ตามในหลักสูตรนี้หรือคุณติดค้าง https://kotlinlang.org คือจุดเริ่มต้นที่ดีที่สุด

บทแนะนําเกี่ยวกับ Kotlin

เว็บไซต์ https://try.kotlinlang.org มีบทแนะนําที่ครอบคลุมชื่อ Kotlin Koans ซึ่งเป็นล่ามบนเว็บ และชุดเอกสารอ้างอิงที่สมบูรณ์พร้อมตัวอย่าง

หลักสูตร Udacity

ดูหลักสูตร Udacity เกี่ยวกับหัวข้อนี้ที่หัวข้อ Kotlin Bootcamp สําหรับโปรแกรมเมอร์

IntelliJ IDEA

ดูเอกสารสําหรับ IntelliJ IDEA ได้ในเว็บไซต์ JetBrains

ส่วนนี้จะอธิบายการบ้านและรายงานสําหรับนักเรียนที่ทํางานผ่าน Codelab นี้ซึ่งเป็นส่วนหนึ่งของหลักสูตรที่นําโดยผู้สอน สิ่งที่ผู้สอนต้องทํามีดังนี้

  • มอบหมายการบ้านหากจําเป็น
  • สื่อสารกับนักเรียนเกี่ยวกับวิธีส่งงานทําการบ้าน
  • ตัดเกรดการบ้าน

ผู้สอนจะใช้คําแนะนําเหล่านี้เท่าใดก็ได้หรือตามที่ต้องการก็ได้ และสามารถกําหนดให้การบ้านอื่นๆ ที่ตนคิดว่าเหมาะสมได้

หากคุณใช้ Codelab ด้วยตัวเอง ก็ให้ใช้การบ้านเพื่อทดสอบความรู้ของคุณได้

ตอบคําถามเหล่านี้

คำถามที่ 1

ข้อใดต่อไปนี้ประกาศรายการสตริงที่เปลี่ยนแปลงไม่ได้

val school = arrayOf("shark", "salmon", "minnow")

var school = arrayOf("shark", "salmon", "minnow")

val school = listOf("shark", "salmon", "minnow")

val school = mutableListOf("shark", "salmon", "minnow")

คำถามที่ 2

ผลลัพธ์ของโค้ดต่อไปนี้คืออะไร
for (i in 3..8 step 2) print(i)

▢ 345678

▢ 468

▢ 38

▢ 357

คำถามที่ 3

วัตถุประสงค์ของเครื่องหมายคําถามในโค้ดนี้คืออะไร
var rocks: Int? = 3

▢ ประเภทของตัวแปร rocks ไม่คงที่

▢ ตัวแปร rocks สามารถตั้งค่าเป็น Null

▢ จะตั้งค่าตัวแปร rocks เป็น Null ไม่ได้

▢ ตัวแปร rocks ไม่ควรเริ่มต้นทันที

ไปยังบทเรียนถัดไป ดังนี้ 3. ฟังก์ชัน

ดูภาพรวมของหลักสูตร รวมถึงลิงก์ไปยัง Codelab อื่นๆ ได้ที่ "Kotlin Bootcamp สําหรับโปรแกรมเมอร์: ยินดีต้อนรับสู่หลักสูตร"