PrintStream.println în Java

println afișează o valoare și trece la rând nou; print o afișează și rămâne pe același rând.

Sintaxă
void println()
void println(String x)   // și pentru int, long, double, char, boolean, char[], Object
void print(String x)     // aceleași tipuri, fără rând nou

Ce face PrintStream.println

System.out.println(x) scrie valoarea x transformată în text, apoi separatorul de rând. println() fără argument scrie doar un rând gol. print(x) scrie valoarea fără să treacă la rând nou, util pentru întrebări („Nume: ”) sau pentru a construi un rând din mai multe bucăți.

Ambele au variante pentru toate tipurile simple și pentru Object: un obiect este afișat prin metoda lui toString(), iar null apare ca textul null. Un char[] este afișat ca text, dar un int[] apare ca ceva de forma [I@1b6d3586; pentru tablouri folosește Arrays.toString.

Parametri

Parametru Descriere
x Valoarea afișată (orice tip).

Ce returnează

Nimic (void).

Exemple

Exemplul 1: print față de println

public class Main {
    public static void main(String[] args) {
        System.out.print("Iași");
        System.out.print(" - ");
        System.out.print("Cluj");
        System.out.println();
        System.out.println("Distanța: " + 400 + " km");
        System.out.println();
        for (int i = 3; i >= 1; i--) {
            System.out.print(i + "... ");
        }
        System.out.println("Start!");
    }
}

Rezultat

Iași - Cluj
Distanța: 400 km

3... 2... 1... Start!

Exemplul 2: Cum se afișează diferite tipuri

Un record are toString() automat; un tablou de char apare ca text, iar unul de int are nevoie de Arrays.toString.

import java.util.Arrays;

public class Main {
    record Produs(String nume, double pret) {}

    public static void main(String[] args) {
        System.out.println(42);
        System.out.println(3.5);
        System.out.println(true);
        System.out.println('ș');
        System.out.println(new Produs("cafea", 32.5));
        Object nimic = null;
        System.out.println(nimic);
        System.out.println(new char[]{'J', 'a', 'v', 'a'});
        System.out.println(Arrays.toString(new int[]{9, 7, 10}));
    }
}

Rezultat

42
3.5
true
ș
Produs[nume=cafea, pret=32.5]
null
Java
[9, 7, 10]

Greșeli frecvente

  • Scrii System.out.println("Suma: " + 2 + 3) și primești „Suma: 23”. Textul se lipește de la stânga la dreapta; pune paranteze: (2 + 3).
  • Afișezi un tablou de numere direct și primești ceva ca [I@1b6d3586. Folosește Arrays.toString.

Comenzi înrudite

  • PrintStream: Fluxul de ieșire cu print, println și printf; System.out este un PrintStream. Poate scrie și în fișiere.
  • PrintStream.printf: Afișează text formatat după un șablon cu %s, %d, %.2f, %n: numere cu zecimale fixe, coloane aliniate.
  • String.valueOf: Transformă orice valoare (număr, boolean, char, obiect, char[]) în String; copyValueOf face un șir dintr-un char[].
  • main și structura unui program: Orice program Java pornește din metoda main a unei clase: public static void main(String[] args).