El propòsit inicial dels computadors era computar números.
Introducció
Kotlin és un llenguatge que es pot utilitzar en una varietat de plataformes com ordinadors personals, servidors, mòbils, web, etc.
Entorn de treball
El primer que has de fer és instal·lar IntelliJ IDEA:
- Instal·la “ToolBox App” tal com s’explica a Jetbrains
- Arrenca el “ToolBox App” i instal·la IntelliJIDEA tal com s’explica a Idea.
Arrenca IDEA i crea un projecte Kotlin amb el nom computation
:
El projecte té un fitxer Main.kt
que té linies de codi.
Pots executar aquestes línies de codi prement la icona :
El resultat es mostra en la consola situada a baix a l’esquerra.
Hello, World!
Aquest és un codi una mica avançant! 🤨
Per tant, borra el codi del fitxer i comença amb un aquest codi més senzill.
fun main() {
}
Aquest programa consisteix en la declaració d’una Funció main
que no retorna cap valor ni fa res:
Token | |
---|---|
fun | És una paraula reservada diminitiu de “function” que indica a Kotlin que comença la declaració d’una funció |
main | És el nom de la funció |
( | Marca l’inici dels paràmetres de la funció |
) | Marca el final dels paràmetres de la funció |
{ | Marca l’inici de les sentències que ha d’executat la funció |
} | Marca el final de les sentències que ha d’executar la funció |
Torna a executar el programa.
Funciona correctament, tal com indica la consola de l’IDE: “status code 0”.
Això és un bon senyal perquè Kotlin és molt estricte i no et perdona cap error d‘“ortografia” a diferència del que fan la majoria de professors 🤔
Per exemple aquest codi no funciona:
func main() {
}
Pots veure que la IDE t’indica en vermell que hi ha un error de sintaxi, i si executes el codi passa el que t’havien dit:
El problema és que has escrit func
en lugar de fun
… se suposa que l’has escrit, no que has l’has copiat i enganxat 🤨.
A continuació farem que el programa escrigui el text “Hello, World!” a la consola:
fun main() {
println("Hello, World!")
}
Token | |
---|---|
println | És el nom d’una funció que incorpora Kotlin que imprimeix els seus paràmetres a la consola |
( | Marca l’inici dels paràmetres de la funció |
`“Hello, World!” | És un String (o text) perqué està entre cometes dobles i és el paràmetre de la funció |
) | Marca el final dels paràmetres de la funció |
Si executes el codi passa el que t’havien dit:
Modifica el codi per imprimir el teu nom a la consola, en lloc de “Hello, World!”.
fun main() {
println("Hello, David!")
}
Números
Des de fa més de 400 anys una computadora era una persona que calculava números:
Una part de la teva infància ha estat aprenent a fer càlculs amb números, i molts cops t’has preguntat que perquè has d’aprendre aquestes coses si el teu mòbil té una calculadora que ho fa molt millor que tu.
El mateix van pensar les empreses, els governs i els enginyers, i per això van crear els primers computadors mecànics.
A continuació tens la imatge de l’ENIAC dels anys 40, molt gran, però molt menys potent que el teu mòbil:
A principis de 1960 ja existien les primeres calculadores comercials.
A continuació tens la imatge de l’IBM 608:
Aquestes màquines mai s’equivoquen, no es posen malaltes, no protesten, etc.
I el que passa sempre, ja pots acomiadar a molta gent que no necessites i que s’ha de pagar bé perquè preparar una calculadora “humana” porta molt de temps.
Una professió centenària va desaparèixer 😔.
Doncs comencem des del principi, i recorda …
Encara que pensis que una computadora és per jugar, veure pel·lícules, etc. darrere d’aquests programes hi ha moltes operacions matemàtiques!
Literals
Bàsicament, tots els programes efectuen operacions sobre nombres, strings i altres valors.
Aquests valors s’anomenen literals, que vol dir que el que hi ha escrit és el que hi ha, a diferència d’una variable.
Nombres enters
Utilitzem nombres enters per comptar coses del món real.
Aquí hi ha diversos exemples de literals de nombres enters vàlids separats per comes: 0
, 1
, 2
, 10
, 11
, 100
.
Si un valor enter conté molts dígits, podem afegir guions baixos per dividir els dígits en blocs perquè aquest nombre sigui més llegible: per exemple, 1_000_000
és molt més fàcil de llegir que 1000000
.
Podeu afegir tants guions baixos com vulgueu: 1__000_000
, 1_2_3
. Recordeu que els guions baixos no poden aparèixer al principi ni al final del número. Si escrius _10
o 100_
, obteniu un error.
Char
Un sol caràcter pot representar un dígit, una lletra o un altre símbol.
Per escriure un sol caràcter, emboliquem un símbol entre cometes simples de la manera següent: 'A'
, 'B'
, 'C'
, 'x'
, 'y'
, 'z'
, '0'
, '1'
, '2'
, '9'
. Els literals de caràcters poden representar lletres de l’alfabet, dígits de '0'
a '9'
, espais en blanc (' '
) o alguns altres símbols (p. ex., '$'
).
No confongueu els caràcters que representen números (p. ex., '9'
) i els mateixos números (p. ex., 9
).
Un caràcter no pot incloure dos o més dígits o lletres perquè representa un sol símbol. Els dos exemples següents són incorrectes: 'abc'
, '543'
perquè aquests literals tenen massa caràcters.
String
Els strings representen informació de text, com ara el text d’un anunci, l’adreça d’una pàgina web o l’inici de sessió a un lloc web. Una cadena és una seqüència de caràcters individuals.
Per escriure strings, envoltem els caràcters entre cometes dobles en lloc de simples. Aquests són alguns exemples vàlids: "text"
, "I want to learn Kotlin"
, "123456"
, "e-mail@gmail.com"
. Per tant, els strings poden incloure lletres, dígits, espais en blanc i altres caràcters.
Una string també pot contenir un sol caràcter, com ara "A"
. No ho confonguis amb el caràcter 'A'
, que no és una string.
Sortida estàndard
La sortida estàndard és l’operació bàsica que mostra informació en un dispositiu. No tots els programes generen aquesta sortida. Per defecte, la sortida estàndard mostra les dades a la pantalla, però és possible redirigir-les a un fitxer.
Impressió de text
Kotlin té dues funcions que envien dades a la sortida estàndard: println
i print
.
La funció println
(print line) mostra una string seguida d’una nova línia a la pantalla.
Per exemple, el fragment de codi següent imprimeix quatre línies:
println("I")
println("know")
println("Kotlin")
println("well.")
Sortida:
I
know
Kotlin
well.
Com pots veure, totes les cadenes s’imprimeixen sense cometes dobles.
També pots imprimir una línia buida:
println("Kotlin is a modern programming language.")
println() // prints an empty line
println("It is used all over the world!")
Sortida:
Kotlin is a modern programming language.
It is used all over the world!
La funció print
mostra un valor i col·loca el cursor després de .
Aquest exmemple de codi genera totes les cadenes en una sola línia:
print("I ")
print("know ")
print("Kotlin ")
print("well.")
Sortida:
I know Kotlin well.
Impressió de números i caràcters
Amb les funcions println
i print
, un programa pot imprimir no només strings, sinó també números i caràcters .
Imprimim dos codis secrets:
print(108) // prints a number
print('c') // prints a character
print("Q") // prints a string
println('3') // prints a character that represents a digit
print(22)
print('E')
print(8)
println('1')
Sortida:
108cQ3
22E81
Igual que amb les cadenes, no hi ha cometes.
L’ operador %
En el llenguatge de programació Kotlin, l’operador $
s’utilitza sovint en plantilles d’string per inserir els valors de variables o expressions directament en una cadena.
Inserint el valor d’una variable:
val name = "Alice"
println("Hello, $name!") // Output: Hello, Alice!
Inserint el valor d’una expressió:
val a = 5
val b = 10
println("Sum of $a and $b is ${a + b}") // Output: Sum of 5 and 10 is 15
Tingueu en compte que quan voleu inserir una expressió més complexa o accedir a les propietats de l’objecte, feu servir claus {}
al voltant de l’expressió.
Així, l’operador $
de Kotlin permet la inserció còmoda i ràpida de valors variables i resultats d’expressió directament en literals de l’string.