Afişarea în consolă

Mesaje

Pentru a afişa textul poţi folosi instrucţiunea pe care ai văzut-o şi în tutorialul anterior. Aceasta afişează oricâte mesaje de orice fel.

System.out.println();

Mesajele text din interior sunt în general puse între ghilimele.

"mesaj"

Poţi afişa mai multe mesaje, pe mai multe rânduri dacă foloseşti de mai multe ori aceeaşi instrucţiune.

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println("Hello, new programmer!");
        System.out.println("This is my secod line of code");
    }
}

Copiază codul de mai sus şi apasă butonul de rulare. Vei vedea în cosolă cele două mesaje.

Numere întregi

Pe lângă text, mai poţi afişa şi numere sau rezultatul unor operaţii matematice. Acestea se pun la fel, între parantezele de la System.out.println(), dar fără ghilimele (acestea se folosesc doar pentru text).

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println(1);
        System.out.println(1 + 1);
        System.out.println(20 - 10);
        System.out.println(4 * 5);
        System.out.println(3000 / 3);
        System.out.println(17 % 5);
    }
}

Operaţiile aritmetice se fac între 2 numere şi se folosesc semnele din matematică denumite operatori:

  • + adunare
  • - scădere
  • * înmulţire
  • / împărţire
  • % restul împărţirii

Mesaje şi adunări

Atenţie la combinarea mesajelor cu operaţiile aritmetice! Se vor face adunări între numere până la întâlnirea primului mesaj, apoi se vor afişa toate numerele aşa cum sunt trecute. Rulează exemplele de mai jos pentru a înţelege mai bine cum funcţionează combinarea numerelor cu mesajele.

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println("My number is " + "one");
        System.out.println("My number is " + 1);
        System.out.println(1 + " is my number.");
        System.out.println(20 + 4 + " is my result.");
        System.out.println("My numbers are " + 20 + 4);
        System.out.println("My result is " + (20 + 4));
        System.out.println("My result is " + 15 - 6);
    }
}

Ca să înţelegi mai bine fiecare linie, ai mai jos explicaţii:

  • "My number is " + "one": în acest caz, operatorul + va concatena cele 2 şiruri de caractere, adică le va pune unul după altul
  • "My number is " + 1: va afişa mesajul şi numărul aşa cum le vezi
  • 1 + " is my number.": va afişa la fel ca mai sus
  • 20 + 4 + " is my result.": primul + face adunarea între numere, iar al doilea concatenarea între şiruri de caractere; va fi afişat rezultatul împreună cu textul de după
  • "My numbers are " + 20 + 4: ambii operatori + vor face concatenarea între şiruri astfel încât se vor afişa numerele aşa cum sunt scrise în mesaj
  • "My result is " + (20 + 4): va ţine cont de ordinea stabilită de paranteze şi va afişa rezultatul adunării
  • "My result is " + 15 - 6: va da o eroare de compilare, deoarece codul nu este scris corect; acesta încearcă să scadă un şir de caractere şi un număr; pentru a putea rula codul, şterge instrucţiunea sau pune operaţia de scădere între paranteze

Numere reale

La fel ca numerele întregi, putem afişa numere reale şi rezultatul unor operaţii aritmetice cu acestea. Acestea se scriu cu punct (.) pentru a despărţi partea întreagă de cea zecimală.

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println(20.5 + 18.67);
    }
}

Atunci când împarţim 2 numere, dacă ambele sunt întregi rezultatul va fi tot un număr întreg. Dacă cel puţin unul dintre operanzi (număr ce participă la operaţie) este real, atunci rezultatul va fi un număr real.

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println(10 / 3);
        System.out.println(10.0 / 3);
    }
}

Acest lucru se întâmplă din cauza modului în care sunt salvate rezultatele expresiilor în Java.

Comparaţii

Pe lângă operaţii aritmetice, se mai pot afişa şi rezultatul diverselor operaţii de comparaţie. Rezultatul va fi unul din cuvintele true sau false, în funcţie de valorile comparate. Acestea se pot realiza doar între numere şi este nevoie de următorii operatori:

  • == verifică dacă 2 numere sunt egale
  • != opusul lui ==, verifică dacă 2 numere sunt diferite
  • < primul număr este strict mai mic ca al doilea
  • > primul număr este strict mai mare ca al doilea
  • <= primul număr este mai mic sau egal cu al doilea
  • >= primul număr este mai mare sau egal cu al doilea

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println(10 > 3);
        System.out.println(18 != 16);
        System.out.println(6 == 4);
        System.out.println(11 <= 11);
        System.out.println(8 + 2 == 15 - 5);
    }
}

Ordinea operaţiilor

La fel ca în matematică, fiecare operator are o prioritate mai mare sau mai mică (înmulţirea se execută înainte de adunare, şi adunarea înainte de comparaţii). Şi la fel ca în matematică poţi forţa ordinea operaţiilor folosind ().

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println((7 + 9) * (3 - 8));
        System.out.println((20 * 6) + (14 / 2));
    }
}

Rulaţi codul de mai sus cu şi fără paranteze şi comparaţi rezultatele obţinute. Dacă ai operaţii mai complexe, poţi folosi oricâte seturi de paranteze ai nevoie!

Caractere Escape

Există cazuri când vrei să afişezi diverse caractere cu semnificaţie specială în Java, cum ar fi, de exemplu, ghilimelele ("): acestea reprezintă începutul şi sfârşitul unei bucăţi de text. În mod normal nu pot fi afişate, decât dacă îl foloseşti ca şi caracter special, pe scurt să o pui după un backslash (\).

La fel funcţionează pentru \ sau chiar pentru taburi sau rânduri noi.

  • \" caracterul ghilimele
  • \\ caracterul backslash
  • \t tab
  • \n rand nou

public class MySecondMessageClass {
    public static void main(String[] args) {
        System.out.println("I displayed some \"\" \n on the same line");
    }
}

Exerciţii

1. Să se afişeze următoarele desene:

*****
*****
*****
*****
*****
8
88
888
8888
88888

Soluţie 1

Soluţie 1

public class SolutionOne {
    public static void main(String[] args) {
        System.out.println("*****");
        System.out.println("*****");
        System.out.println("*****");
        System.out.println("*****");
        System.out.println("*****");
    }
}


Soluţie 2

Soluţie 2

public class SolutionTwo {
    public static void main(String[] args) {
      System.out.println("8");
      System.out.println("88");
      System.out.println("888");
      System.out.println("8888");
      System.out.println("88888");
      
    }
}


2. Să se afişeze următoarele mesaje:

Hello World!
Hello Again
I like typing this.
This is fun.
Yay! Printing.
I'd much rather you 'not'.
I "said" do not touch this.

3. Gândeşte-te care ar fi rezultatul următoarelor operaţii dacă ar fi scrise în interiorul parantezelor de la System.out.println();, apoi scrie codul Java care le calculează automat.

"I will now count my chickens:"
"Hens " + (25 + 30 / 6)
"Roosters " + (100 - 10 * 3 % 4)
"Now I will count the eggs:"
3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6
"Is it true that 3 + 2 < 5 - 7?"
3 + 2 < 5 - 7
"What is 3 + 2? " + ( 3 + 2 )
"What is 5 - 7? " + ( 5 - 7 )
"Oh, that's why it's false."
"Hai sa facem suma lui 3 + 2: " +  3 + 2
"De ce nu a iesit?"
3 + 2 + " Ce s-a intamplat acum?"

Resurse

You could leave a comment if you were logged in.