Pierwszy program – budowa i uruchamianie

Rozłożymy na części program fun main(), poznasz polecenia println i print, dowiesz się jak wygląda plik .kt, jak pisać komentarze oraz jak uruchomić kod w Kotlin Playground i w IntelliJ IDEA.

fun main() println / print komentarze Lekcja 0.2
1

Anatomia: fun main()

Każdy program w Kotlinie musi mieć punkt startowy – miejsce, od którego komputer zaczyna wykonywanie kodu. Tym punktem jest funkcja o nazwie main. Oto najprostszy kompletny program:

Najprostszy program
fun main() {
    println("Witaj, świecie!")
}

Rozłóżmy tę pierwszą linię na cztery elementy:

ElementCo oznacza
funSłowo kluczowe, które mówi „tu zaczynam definicję funkcji” (od ang. function).
mainNazwa funkcji. Nazwa main jest specjalna – to od niej program się uruchamia.
( )Nawiasy z listą parametrów funkcji. Tutaj są puste – main nie potrzebuje żadnych danych na wejściu.
{ }Klamry to ciało funkcji. Wszystko, co w środku, wykonuje się kolejno, linia po linii.
main to punkt startowy

Gdy uruchamiasz program, komputer szuka funkcji main i wykonuje po kolei instrukcje z jej wnętrza. Bez main program nie ma od czego zacząć i nie ruszy.

2

println() i print() – wypisywanie tekstu

Do wypisywania tekstu na ekran służą dwa polecenia. Różnią się jedną rzeczą: co dzieje się po wypisaniu tekstu.

PolecenieDziałanie
println(...)Wypisuje tekst i przechodzi do nowej linii (skrót print line).
print(...)Wypisuje tekst i zostaje w tej samej linii – kolejny tekst dopisze się obok.
print – wszystko w jednej linii
fun main() {
    print("Ala ")
    print("ma ")
    print("kota")
}
Wynik
Ala ma kota
println – każdy tekst w nowej linii
fun main() {
    println("Ala")
    println("ma")
    println("kota")
}
Wynik
Ala
ma
kota
Pusty println robi pustą linię

Samo println() bez tekstu nic nie wypisze, ale przejdzie do nowej linii – to wygodny sposób na zrobienie odstępu między wierszami wyniku.

3

Struktura pliku .kt

Kod Kotlina zapisujemy w plikach z rozszerzeniem .kt (np. Program.kt). W jednym pliku może być funkcja main oraz inne funkcje, których ona używa.

Nie musisz tworzyć klasy

W Kotlinie funkcję main można umieścić bezpośrednio w pliku – nie trzeba jej zamykać w żadnej klasie. Dzięki temu pierwsze programy są krótkie i czytelne.

Przykład pliku z dwiema funkcjami:

Program.kt
fun przywitaj() {
    println("Cześć!")
}

fun main() {
    przywitaj()                 // wywołujemy własną funkcję
    println("To jest program w Kotlinie")
}

Program zawsze startuje od main. Tutaj main najpierw wywołuje funkcję przywitaj(), a potem wypisuje drugą linię.

4

Komentarze

Komentarze to notatki w kodzie, które komputer ignoruje. Służą wyłącznie ludziom – do wyjaśnienia, co robi dany fragment. W Kotlinie są dwa rodzaje komentarzy:

Dwa rodzaje komentarzy
// Komentarz jednoliniowy – od // do końca linii

/*
   Komentarz wieloliniowy.
   Może zajmować wiele wierszy
   i opisywać większy fragment.
*/

fun main() {
    println("Test")   // komentarz może być też na końcu linii
}
ZapisRodzaj
// ...Komentarz jednoliniowy – do końca linii.
/* ... */Komentarz wieloliniowy – obejmuje wszystko między znacznikami.
Komentarze piszemy dla ludzi

Dobry komentarz tłumaczy dlaczego coś robimy, a nie powtarza to, co i tak widać w kodzie. Komentarzy używamy też do chwilowego wyłączenia linii kodu podczas testowania.

5

Pakiety i import (w skrócie)

W większych projektach kod dzieli się na pakiety – coś jak foldery porządkujące pliki. Pakiet deklaruje się w pierwszej linii pliku:

Deklaracja pakietu
package pl.schoolit.nauka

fun main() {
    println("Plik należy do pakietu pl.schoolit.nauka")
}

Z kolei import pozwala skorzystać z gotowych narzędzi z bibliotek Kotlina. Zamiast pisać za każdym razem ich pełną nazwę, importujesz je raz na górze pliku:

Użycie importu – losowa liczba
import kotlin.random.Random

fun main() {
    val los = Random.nextInt(1, 7)   // losowa liczba od 1 do 6
    println("Wyrzucono: " + los)
}
Na razie tylko sygnalizujemy

Pakietów i importów używa się na poważnie w dużych projektach. W ćwiczeniach w Kotlin Playground najczęściej nie potrzebujesz deklarować pakietu, a importy dochodzą same, gdy zaczniesz używać gotowych narzędzi. Wrócimy do tego przy konkretnych tematach.

6

Uruchamianie programu

Kotlin Playground (przeglądarka)

Najszybszy sposób na start – nic nie instalujesz. Wejdź na play.kotlinlang.org:

  1. W polu edycji wpisz swój kod (np. funkcję main z println).
  2. Kliknij przycisk Run ▶.
  3. Wynik pojawi się w panelu na dole. Tam też zobaczysz ewentualne błędy.

IntelliJ IDEA (program na komputerze)

IntelliJ IDEA to profesjonalne środowisko od JetBrains. Przyda się przy większych projektach, ale na początek nie jest konieczne. W skrócie:

  1. Utwórz nowy projekt typu Kotlin.
  2. W folderze src dodaj plik .kt z funkcją main.
  3. Kliknij zieloną strzałkę ▶ obok funkcji main (lub naciśnij Shift + F10).
  4. Wynik pojawi się w oknie konsoli na dole programu.
Na start wystarczy Playground

Wszystkie ćwiczenia z najbliższych lekcji spokojnie zrobisz w Kotlin Playground. IntelliJ zainstalujemy, gdy programy zaczną się składać z wielu plików.

7

Częste błędy

❌ Błąd 1: zła wielkość liter

❌ Println / Print z dużej litery

fun main() {
    Println("Cześć")
    // Błąd! Kotlin rozróżnia
    // wielkie i małe litery
}

✅ println małymi literami

fun main() {
    println("Cześć")
}

❌ Błąd 2: brak cudzysłowu wokół tekstu

❌ Tekst bez cudzysłowu

fun main() {
    println(Cześć)
    // Błąd! Tekst musi być
    // w cudzysłowie
}

✅ Tekst w cudzysłowie

fun main() {
    println("Cześć")
}

❌ Błąd 3: instrukcja poza funkcją main

❌ println poza main

println("Cześć")
// Błąd! Instrukcje muszą być
// wewnątrz funkcji
fun main() {
}

✅ println w środku main

fun main() {
    println("Cześć")
}

❌ Błąd 4: brak nawiasów po println

❌ println bez nawiasów

fun main() {
    println "Cześć"
    // Błąd! Po println muszą
    // być nawiasy ( )
}

✅ println z nawiasami

fun main() {
    println("Cześć")
}
8

Podsumowanie

  • Program startuje od funkcji fun main() – to jego punkt początkowy.
  • println() wypisuje tekst i przechodzi do nowej linii; print() zostaje w tej samej linii.
  • Kod zapisujemy w plikach .kt; funkcję main można umieścić bez klasy.
  • Komentarze (// oraz /* */) są dla ludzi – komputer je ignoruje.
  • package porządkuje kod w projekcie, a import daje dostęp do gotowych narzędzi.
  • Kod uruchomisz w Kotlin Playground (Run ▶) lub w IntelliJ IDEA (zielona strzałka).
9

Zadania do wykonania

Zadania wykonaj w Kotlin Playground (play.kotlinlang.org).

Zadanie 1 łatwe

Napisz program z funkcją main, który za pomocą trzech poleceń println wypisze w trzech liniach: Twoje imię, klasę i nazwę szkoły.

Zadanie 2 łatwe

Napisz dwie wersje tego samego programu: jedną z użyciem print, drugą z println. Uruchom obie i opisz w komentarzu, czym różni się wynik.

Zadanie 3 łatwe

Weź program z zadania 1 i dodaj do niego komentarze: jednoliniowy nad funkcją main (co robi program) oraz komentarz na końcu jednej z linii.

Zadanie 4 średnie

Napisz program, który wypisze prosty „paragon”: linia z nazwą sklepu, pusta linia (samo println()), kilka linii z produktami, znów pusta linia i na końcu napis „Dziękujemy”. Wykorzystaj zarówno println, jak i print tam, gdzie to ma sens.