Literals i System.out.println

En aquesta primera activitat programaràs el teu primer programa Java.

Aprendràs:

Com es veu un programa Java bàsic per dintre Què són els literals i com utilitzar-los Com imprimir text correctament

Hello, world!

La tradició suggereix que el primer programa que es fa ha d'imprimir el text Hello, World! per pantalla. Així que som-hi!

public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } }

De moment no és necessari que comprenguis com funciona aquest codi. Així i tot, prova a resoldre aquest exercici:
Hola, <NOM>!

Literals

Independentment de la seva complexitat, un programa sempre realitza operacions sobre números, texts i altres valors. Aquests valors són anomenats literals. Hi ha molts tipus de literals en Java, però pel moment ens centrarem només en alguns d'ells: aquells que ens envolten tot el temps en el dia a dia.

Números

Enters

Aquests nombres s'utilitzen per a comptar coses al món real. I també, els utilitzarem sovint en Java.

Aquí tens exemples de literals 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 a dividir el nombre en blocs i augmentar la seva legibilitat: 1_000_000. És més legible que el mateix valor escrit 1000000.

Decimals

Els nombres decimals expressen una fracció d'un nombre enter. S'utilitzen en les medicions: l'alçada d'una persona, la temperatura, els diners.

En llenguatge Java expressarem els nombres decimals utilitzant el punt . i afegirem una f al final. Per exemple: 3.14f, 0.123f, 100.5f

Si la part decimal d'un número és .0 no és necessari posar-ho. És a dir, és el mateix 100.0f que 100f.

En els decimals també podem utilitzar guions baixos _ per a separar dígits. Per exemple: 10_000_000.75f.

Java també permet literals decimals sense la terminació f, però en aquest curs sempre els utilitzarem amb la f al final.

Hi ha altres formes per a representar literals: hexadecimals, binaris, notació científica, unicode, seqüències d'escapament, ...
Podeu trobar més info al tutorial de Java d'Oracle.

Text

Caracters

Un simple caracter pot representar un dígit, una lletra o un altre símbol. Per a escriure un caracter, utilitzem cometes simples així: 'A', 'B', 'C', 'z', '0', '1', '9'. Els literals caracter poden representar símbols d'un alfabet, dígits de '0' a '9', espais en blanc ' ', o altres símbols '$'.

No s'han de confondre caracters que representen números (e.g. '9'), amb els propis números (e.g. 9).

Un caracter no pot incloure més d'un dígit, lletra o símbol perquè només en pot representar un. Per exemple, 'abc' o '543', són incorrectes perquè contenen massa caracters.

Strings

Un string (cadena) és una seqüència de varis caracters. Els Strings representen un text.

Per a escriure un string utilitzarem cometes dobles en lloc de simples. Aquí hi ha alguns exemples vàlids: "text", "Vull aprendre Java", "123456", "email123@mail.com". Un string que conté només un caracter com "A" també és vàlid, per no s'ha de confondre amb el caracter 'A'.

Pots veure que els strings poden incloure lletres, dígits, espais, i altres caracters.

Booleans

Els valors booleans expressen la veracitat o falsedat d'una afirmació.

En Java hi ha dos valors especials, true i false, que permeten expressar els dos valors booleans.

S'escriuen en mínuscules i sense cometes.

Recorda! No s'han de confondre aquests literals:

Emparella els tipus de literals String "4631###0207" Enter 100_000_000 Caracter 'H' Booleà false Decimal 1.75f Literal invàlid 'text' Troba el literal invàlid "10000000" '10000000' 10_000_000 10000000 10000000f Selecciona els literals que NO són strings 7000 "7000" true '3' "false" "3" 'a' Els caracters literals s'escriuen com 'A', 'B', 'C',... A, B, C, ... {A}, {B}, {C}, ... "A", "B", "C", ... Selecciona els literals string vàlids 443 'q' "q" '5' "text" "2312" true Selecciona les sentències que NO són vàlides "123456"  és un número "1"  és un string '8'  és un caracter 1  és un número True  és un booleà 1f és un enter Quin literal és adequat per a representar una adreça postal? un caracteral literal un enter literal un string literal un decimal literal un booleà literal Selecciona els literals numèrics (enters i decimals) "500f" '8' "800_000" 100_000_000 0 0.0f 3_0_0f

El programa Hello World

Tornem a veure el programa Hello world:

public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } }

Quan executem aquest programa, veurem:

Hello, world!

Escriu i executa el programa Hello World utilitzant IntelliJ.

Terminologia bàsica

Un cop vist el resultat, anem a aprendre alguna terminologia bàsica i després tractarem d'entendre aquest programa.

El programa Hello World sota el microscopi

El programa Hello World conté els elements bàsics dels programes Java. De moment, veurem solament els més importants.

1. La classe pública. És la unitat bàsica d'un programa. Tots els programes Java han de tenir al menys una classe. La definició d'una classe consisteix amb la paraula-clau class seguit del nom de la classe. Una classe pot tenir qualsevol nom, com App, Main, Programa, però no pot començar amb un dígit. Un parell de claus {...} envolten el cos de la classe.

public class Main { // ... }

El text que va després de // és solament un comentari, no forma part del programa. Aprendrem més sobre comentaris més endavant.

2. El mètode main. Per a fer que un programa sigui executable, hem de posar un mètode anomenat main dintre de la classe. És el punt d'entrada al programa Java. Novament, les claus {...} envolten el cos del mètode, que conté sentències.

public static void main(String[] args) { // les sentencies van aqui }

Les paraules-clau public, static, i void les veurem més endavant, de moment només les has de recordar. El nom d'aquest mètode (main) està predefinit i sempre ha de ser el mateix. Les majúscules i minúscules importen; si anomenes el mètode Main, MAIN o d'una altra manera, el programa no es podrà iniciar.

L'element String[] args representa una seqüència d'arguments que es passen al programa des del món exterior. No et preocupis per ells ara mateix.

3. Imprimir "Hello, World!". El cos del mètode consisteix en sentències que determinen què ha de fer el programa quan s'inicia. El nostre programa imprimeix Hello, World! utilitzant aquesta sentència:

System.out.println("Hello, World!"); // les sentencies han d'acabar amb ;

Aquesta és una de les coses més importants que s'han de comprendre del programa Hello World. Estem invocant un mètode especial println per a mostrar un string seguit per una nova línia en pantalla. El text s'imprimeix sense les cometes que delimiten l'string.

Important!, "Hello, World!" no és una paraula-clau o un identificador; és solament un text per a ser imprimit.

Paraules-clau

Com pots veure, inclús un simple prorgama Java consisteix en molts elements, incloent paraules-clau que són parts del llenguatge. En total, Java té més de 50 paraules-clau que anirem aprenent durant el curs. Pots veure aquí la llista completa de paraules-clau, però no tractis de recordar-la en aquest moment.

Nota, main no està a la llista perquè no és una paraula clau.

Conclusió

Hem vist el programa més simple possible que es pot escriure en Java. Té una única classe amb un únic mètode main. Tots els programes Java han de tenir un mètode main ja que és el que s'executa en primer lloc quan s'inicia el programa.

Selecciona les afirmacions correctes sobre el següent programa:

public class HelloWorldProgram { public static void main(String[] args) { System.out.println("Hello, World!"); } }
HelloWorldProgram és un nom main és una paraula-clau void és una sentència class és una paraula-clau
Selecciona les afirmacions correctes El mètode main pot tenir un altre nom (start, run, program) Una classe que contingui el mètode main pot tenir qualsevol nom vàlid (Main, App, Demo, etc.) Per a mostrar un string li'l passem a System.out.println(...) El mètode main es pot posar a fora de la classe

Ara que has aprés l'anatomia bàsica d'un programa Java, prova a fer aquest exercici:
Cita Einstein

Imprimir dades

Durant aquest curs realitzarem molt sovint programes que imprimeixen dades a la pantalla. Anem a aprendre com fer-ho utilitzant la forma estàndard en Java.

Mostrar text amb println() i print()

Imprimir números i caracters

Ambdós mètodes, print i println permeten imprimir no solament strings, sinò també caracters, números i booleans.

System.out.print(108); // imprimir un enter System.out.print('c'); // imprimir un caràcter que representa una lletra System.out.print("Q"); // imprimir un string System.out.println('3'); // imprimir un caracter que representa un dígit System.out.print(22); System.out.print('E'); System.out.print(8); System.out.println('1'); Mostrarà: 108cQ3 22E81

Com passa amb els strings, no s'imprimeixen les cometes dels caracters.

Quan imprimim un número decimal, no s'imprimeix la f del final:

System.out.print(1.75f); 1.75

Els literals booleans s'imprimeixen tal qual:

System.out.println(true); System.out.println(false); true false

Què imprimirà el següent codi?

System.out.print("1"); System.out.print("2"); System.out.println("3"); System.out.println(); System.out.println("4");
1234 123 4 12 3 4 123 4

Què imprimirà el següent codi?

System.out.print("**"); System.out.println(); System.out.println("**"); System.out.print("**");
**** ** ** *** * ** ** ** ** ** ** ** ** **

Resol aquests problemes:
De 0 a 4
Jota amb asteriscs
Bonus track: Hello World ASCII-art