Ce face println
println este funcția cu care afișezi orice pe ecran în Kotlin. Primește o singură valoare, de orice tip, o transformă în text (cu toString()) și adaugă la final un rând nou. Apelată fără argument, println() afișează doar un rând gol.
print face același lucru, dar nu trece la rând nou: următorul text se lipește de cel afișat. Este utilă când construiești un rând din mai multe bucăți, de exemplu într-o buclă.
Ca să afișezi mai multe valori deodată, folosește un string template: println("$nume are $varsta ani"). Pentru expresii, pune acolade: "${a + b}". Valoarea null se afișează ca textul null, iar listele și clasele data apar într-o formă ușor de citit.
Parametri
| Parametru | Descriere |
|---|---|
message: Any? |
Valoarea de afișat. Poate fi orice, inclusiv null. |
Ce returnează
Nimic (Unit).
Exemple
Exemplul 1: Afișare cu string templates
Variabilele se pun în text cu $, iar expresiile cu ${}. Fiecare println începe un rând nou.
fun main() {
val nume = "Ana"
val varsta = 21
val media = 9.45
println("Salut, $nume!")
println("$nume are $varsta de ani și media $media.")
println("Peste 5 ani va avea ${varsta + 5} de ani.")
println()
println(42)
println(null)
}
Rezultat
Salut, Ana!
Ana are 21 de ani și media 9.45.
Peste 5 ani va avea 26 de ani.
42
null
Exemplul 2: print pentru un rând construit din bucăți
print nu adaugă rând nou, așa că numerele apar unul lângă altul. La final, un println() gol închide rândul.
fun main() {
print("Numere pare: ")
for (i in 2..10 step 2) {
print("$i ")
}
println()
print("Iași")
print(", ")
println("Cluj")
}
Rezultat
Numere pare: 2 4 6 8 10
Iași, Cluj
Exemplul 3: Liste și clase data se afișează direct
println apelează toString(); listele, map-urile și clasele data au deja o formă de afișare utilă.
data class Student(val nume: String, val nota: Int)
fun main() {
val note = listOf(9, 7, 10)
val orase = mapOf("Iași" to 5, "Cluj" to 2)
println(note)
println(orase)
println(Student("Ion", 8))
println("Primul element: ${note[0]}, numărul de note: ${note.size}")
}
Rezultat
[9, 7, 10]
{Iași=5, Cluj=2}
Student(nume=Ion, nota=8)
Primul element: 9, numărul de note: 3
Greșeli frecvente
- Scrii
println("Nota:", nota)ca în Python. println primește o singură valoare, deci codul nu compilează. Folosește un template:println("Nota: $nota"). - Scrii
"$student.nume"și obții tot obiectul urmat de.nume. După$se ia doar numele variabilei; pentru proprietăți folosește acolade:"${student.nume}". - Uiți că print nu trece la rând nou și următorul println continuă pe același rând. Pune un
println()gol după buclă.
Comenzi înrudite
readln: Citește un rând scris de utilizator la tastatură; readlnOrNull returnează null când nu mai există date.buildString: buildString construiește un text din bucăți cu append și appendLine, apoi îl returnează ca String.String.format: Construiește un text după un șablon cu marcaje ca %d, %s, %.2f, de exemplu pentru numere cu două zecimale.Any.toString: toString dă textul unui obiect (folosit de println și de templates); hashCode dă un număr folosit de HashMap și HashSet.