0Pricing
Scala for Backend Engineering & Functional Programming · Pelajaran

val, var, dan Tipe

Binding dan inferensi.

val, var, dan Tipe adalah pelajaran Scala for Backend Engineering & Functional Programming gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Scala for Backend Engineering & Functional Programming, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Scala for Backend Engineering & Functional Programming mencakup 4 pelajaran total.

Binding di Scala

Di Scala, Anda memberikan nama kepada nilai menggunakan binding. Dua kata kuncinya adalah val dan var.

val bersifat tidak dapat diubah (tidak dapat diberi nilai ulang), sedangkan var bersifat dapat diubah (dapat diberi nilai ulang).

Mendeklarasikan val

val mengikat sebuah nama ke suatu nilai satu kali. Mencoba memberikan nilai baru kepadanya akan menyebabkan kesalahan kompilasi.

Sebaiknya gunakan val secara default. Sifat tidak dapat diubah membuat kode lebih mudah dipahami.

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Ada"
    println(name)
  }
}

Mendeklarasikan var

var dapat diberi nilai baru menggunakan =. Gunakan hanya jika Anda benar-benar memerlukan keadaan yang dapat diubah.

Perhatikan bahwa nilai baru tersebut tetap harus sesuai dengan tipe awal.

object Main {
  def main(args: Array[String]): Unit = {
    var count = 0
    count = count + 1
    count = count + 1
    println(count)
  }
}

Inferensi Tipe

Scala biasanya menentukan tipe untuk Anda. Penulisan val x = 42 secara otomatis menjadikan x bertipe Int.

Hal ini disebut inferensi tipe: Anda memperoleh pengetikan statis tanpa harus selalu menuliskan tipenya.

object Main {
  def main(args: Array[String]): Unit = {
    val x = 42
    val pi = 3.14
    val flag = true
    println(x)
    println(pi)
    println(flag)
  }
}

Anotasi Tipe Eksplisit

Anda juga dapat menyatakan tipe secara eksplisit setelah titik dua: val x: Int = 42.

Ini berguna untuk dokumentasi atau untuk memilih tipe yang lebih luas daripada tipe yang disimpulkan.

object Main {
  def main(args: Array[String]): Unit = {
    val age: Int = 30
    val price: Double = 9.99
    val label: String = "Sale"
    println(label + ": " + price)
  }
}

Tipe Numerik Umum

Scala memiliki beberapa tipe numerik:

  • Int untuk bilangan bulat
  • Long untuk bilangan bulat besar
  • Double untuk bilangan desimal
  • Float untuk bilangan desimal yang lebih kecil

Literal bilangan bulat secara default bertipe Int; literal desimal secara default bertipe Double.

object Main {
  def main(args: Array[String]): Unit = {
    val whole: Int = 7
    val big: Long = 9000000000L
    val dec: Double = 2.5
    println(whole + dec)
  }
}

Boolean dan Char

Boolean menyimpan true atau false. Char menyimpan satu karakter yang ditulis dalam tanda petik tunggal.

Keduanya adalah tipe lengkap yang dapat Anda simpan dalam val dan var.

object Main {
  def main(args: Array[String]): Unit = {
    val isReady: Boolean = true
    val grade: Char = 'A'
    println(isReady)
    println(grade)
  }
}

Tipe String

String menyimpan teks dalam tanda petik ganda. String bersifat tidak dapat diubah di Scala.

Anda dapat menggabungkannya dengan + dan memanggil banyak metode yang berguna pada string tersebut.

object Main {
  def main(args: Array[String]): Unit = {
    val first = "Grace"
    val last = "Hopper"
    val full = first + " " + last
    println(full.toUpperCase)
  }
}

Mengapa val, Bukan var?

Nilai yang tidak dapat diubah mencegah banyak jenis kesalahan: tidak ada hal lain yang dapat mengubahnya tanpa sepengetahuan Anda.

  • Lebih mudah dipahami
  • Lebih aman dalam kode bersamaan
  • Mendorong gaya fungsional

Gunakan var hanya jika perubahan nilai benar-benar diperlukan.

Keamanan Tipe dalam Praktik

Karena Scala diketik secara statis, kompiler mendeteksi ketidaksesuaian tipe sebelum program dijalankan.

Menetapkan teks ke Int akan gagal saat kompilasi. Berikut adalah kode yang valid dan tipenya benar.

object Main {
  def main(args: Array[String]): Unit = {
    val quantity: Int = 3
    val unitPrice: Double = 4.50
    val total: Double = quantity * unitPrice
    println(total)
  }
}

Menyatukan Semuanya

Gabungkan binding yang tidak dapat diubah dan yang dapat diubah dengan inferensi serta anotasi dalam satu program kecil.

Perhatikan bagaimana kompiler melacak setiap tipe untuk Anda.

object Main {
  def main(args: Array[String]): Unit = {
    val base = 100
    var running = base
    val step: Int = 25
    running = running + step
    println(running)
  }
}

Pemeriksaan Singkat

Periksa pemahaman Anda tentang binding dan tipe.

Rangkuman

Anda telah mempelajari cara Scala memberi nama pada nilai:

  • val adalah binding yang tidak dapat diubah; var dapat diubah
  • Inferensi tipe menentukan tipe dari nilainya
  • Anda dapat menambahkan anotasi eksplisit seperti val x: Int
  • Tipe inti mencakup Int, Long, Double, Boolean, Char, dan String
  • Gunakan val untuk kode yang lebih aman dan jelas

Pertanyaan yang Sering Diajukan

Apakah pelajaran “val, var, dan Tipe” gratis?

Ya — teks lengkap “val, var, dan Tipe” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Scala for Backend Engineering & Functional Programming, upgrade ke CoddyKit PRO. Kursus Scala for Backend Engineering & Functional Programming mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “val, var, dan Tipe”?

Binding dan inferensi. Kamu berlatih Scala for Backend Engineering & Functional Programming dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Scala for Backend Engineering & Functional Programming?

Tidak diperlukan pengalaman sebelumnya. Scala for Backend Engineering & Functional Programming di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “val, var, dan Tipe” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Scala for Backend Engineering & Functional Programming ini?

Ya. Setiap pelajaran Scala for Backend Engineering & Functional Programming menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menggunakan REPL
  2. val, var, dan Tipe
  3. Ekspresi, bukan Pernyataan
  4. Interpolasi String
← Kembali ke Scala for Backend Engineering & Functional Programming