Classe System

A classe System é uma classe do pacote java.lang que fornece métodos e propriedades para interagir com o ambiente em que o programa está sendo executado. Entre as funcionalidades da classe System, destacam-se o acesso a variáveis de ambiente, a propriedades do sistema e a manipulação de entradas e saídas.

Os objetos System.in, System.out e System.err são instâncias predefinidas das classes InputStream, PrintStream e PrintStream, respectivamente.

O objeto System.out é uma instância da classe PrintStream que fornece métodos para imprimir dados na saída padrão. Entre os métodos mais comuns da classe PrintStream, destacam-se:

  • println(): Imprime uma string na saída padrão seguida por uma quebra de linha.

  • print(): Imprime uma string na saída padrão sem quebra de linha.

  • printf(): Imprime uma string formatada na saída padrão.

O objeto System.err por ser também uma instância da classe PrintStream possui os mesmos métodos disponíveis que a System.out com a diferença de que referencia a saída padrão para erros, que normalemente é a mesma.

O objeto System.in é uma instância da classe InputStream que fornece métodos para ler dados de entrada. Os métodos mais comuns da classe InputStream são:

  • read(): Lê um byte de entrada e o retorna como um inteiro.

  • read(byte[]): Lê uma sequência de bytes de entrada e armazena-os em um array de bytes.

  • available(): Retorna o número de bytes disponíveis para leitura.

A classe Scanner, do pacote java.util, permite a leitura de dados de entrada em formatos diversos, incluindo tipos primitivos, strings e expressões regulares. Entre os métodos mais comuns da classe Scanner, destacam-se:

  • nextInt(): Lê um inteiro da entrada.

  • nextDouble(): Lê um número real da entrada.

  • nextLine(): Lê uma linha da entrada como uma string.

  • next(): Lê a próxima palavra da entrada como uma string.

Exemplo de uso da classe System.out:

int x = 10;
System.out.println("O valor de x é " + x);

Exemplo de uso da classe System.err:

System.err.println("Erro: valor inválido!");

Exemplo de uso da classe System.in:

try {
    int b = System.in.read();
    System.out.println("O byte lido foi: " + b);
} catch (IOException e) {
    System.err.println("Erro na leitura do byte: " + e);
}

Exemplo de uso da classe System.in e da classe Scanner para ler um inteiro da entrada:

Scanner scanner = new Scanner(System.in);
System.out.print("Digite um número: ");
int x = scanner.nextInt();
System.out.println("O número digitado foi " + x);

Referências

Last updated