Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?
Mostrando postagens com marcador Escrevendo na tela. Mostrar todas as postagens
Mostrando postagens com marcador Escrevendo na tela. Mostrar todas as postagens

Exibindo mensagens de textos na tela: print, println e printf em Java

 Agora que já aprendemos como configurar nosso ambiente de desenvolvimento para programar bem como criar e executar nosso primeiro programa em Java, vamos modificar este primeiro programa que fizemos, para entender melhor como exibir mensagens de texto na tela.

Vamos aprender o que é, como funciona e como usar os comandos print, println e printf.


Imprimir mensagens na tela, em Java

print, em inglês, significa imprimir. A primeira coisa que vem em nossa mente, quando falamos em imprimir, é lembrar de uma impressora, não é verdade?

Mas imprimir tem um significado mais amplo. O que fizemos no nosso primeiro programa, o Olá, mundo! também foi uma impressão. No caso, imprimimos uma frase na tela de nosso computador (especificamente, no terminal de comando do Netbeans).

Mas também é possível imprimir um texto para um arquivo, por exemplo. Ou seja, você roda o programa, e o Java envia um texto para um arquivo, como um .txt e salva ele no seu computador. Aprenderemos isso mais a frente, em nosso curso, na seção de Files.

Nesse tutorial, vamos aprender como usar três comandos para imprimir mensagens de texto na tela:

  • print
  • println
  • printf

Esses comandos, que são chamados de métodos, fazem parte do objeto System.out
Não se assuste com os termos, bem em breve você vai entender o que são objetos, métodos, classes e toda essa sopa de nomes esquisitos.


O método System.out.print do Java

Vamos começar por um código que já fizemos, usando o método print. Como vocês perceberam no tutorial anterior, eles simplesmente imprimiu uma mensagem na tela. 

Em programação, chamamos um pedaço de texto de string, ok? Vamos mudar a string passada "Olá, mundo!", para "Curso Programação Progressiva", nosso código fica assim:

  1. package enten.meuprimeiroprograma;
  2.  
  3. public class MeuPrimeiroPrograma {
  4. public static void main(String[] args) {
  5. System.out.print("Curso Java Progressivo");
  6. }
  7. }

Teste e rode novamente.

Como exibir imagens de texto em Java

O caractere de quebra de linha em Java: \n

E se quisermos exibir a mensagem:
"Curso Java Progressivo"
"Aluno: [seu nome]"

Como fazer? Simples, use o comando duas vezes.
Veja como fica o código:

  1. package enten.meuprimeiroprograma;
  2.  
  3. public class MeuPrimeiroPrograma {
  4.  
  5. public static void main(String[] args) {
  6. System.out.print("Curso Java Progressivo");
  7. System.out.print("Aluno: Bill Gates");
  8. }
  9. }

Agora teste e veja o resultado:

Como exibir texto no Java
Opa...calma aí. Eu queria:
"Curso Java Progressivo"
"Aluno: Bill Gates"

E não "Curso Java ProgressivoAluno: Bill Gates"
Deu erro! O que houve?

Simples, o método print enviou a primeira string ("Curso Java Progressivo") e logo em seguida enviou para a tela a segunda string ("Aluno: Bill Gates"). E o que tem entre uma string e outra?
Nada. Por isso ele não exibiu nada entre as strings, o que fez ela saírem coladas.

Aqui vai o grande segredo: entre um texto e outro, queríamos dar uma quebra de linha (famoso Enter, do teclado). E a quebra de linha também é um caractere!

Esse caractere é representado por: \n
Sempre que o Java se deparar com este código (uma barra e a letra n), ele vai inserir uma quebra de linha na tela. Teste o seguinte código, com o caractere de new line no final da primeira string:

  1. System.out.print("Curso Java Progressivo \n");
  2. System.out.print("Aluno: Bill Gates");
E o resultado vai sair perfeito! Outra maneira seria usar da seguinte forma, no começo da segunda string:

  1. System.out.print("Curso Java Progressivo");
  2. System.out.print("\nAluno: Bill Gates");
Desafio de Java:
Crie um programa, em Java, usando o método print, apenas uma vez de modo a imprimir o texto na tela:
"Curso
 Java
 Progressivo"

Ou seja, uma palavra em cada linha. Mas repetindo: usando o comando System.out.print apenas uma vez! A resposta você pode conferir em nossa Apostila Java Progressivo.

O método System.out.println do Java

O 'ln', no comando println vem de...line, ou linha em inglês.

Esse comando faz a mesma coisa que o print, porém ele pula de linha automaticamente, ao final da string. 

Faça o teste com o código abaixo:

  1. package enten.meuprimeiroprograma;
  2.  
  3. public class MeuPrimeiroPrograma {
  4.  
  5. public static void main(String[] args) {
  6. System.out.println("Curso Java Progressivo");
  7. System.out.print("Aluno: Bill Gates");
  8. }
  9. }

E o resultado:

Como exibir uma frase na tela em Java

Veja que usamos os dois comandos. Primeiro o println, que exibiu a primeira frase e em seguida deu a quebra de linha automaticamente, colocando o cursos no início da linha debaixo, no terminal de comando. Depois, o print normal, pois não necessitamos de mais uma quebra de linha.


O método System.out.printf do Java

E, por fim, o método printf, que serve para exibir mensagens formatadas. Com esse recurso, você tem uma gama bem maior e melhor de possibilidades para imprimir mensagens de texto. Por exemplo, teste o seguinte código:

  1. package enten.meuprimeiroprograma;
  2.  
  3. public class MeuPrimeiroPrograma {
  4.  
  5. public static void main(String[] args) {
  6. System.out.printf("Minha idade é: %d anos", 2112);
  7. }
  8. }

O resultado vai ser:
"Minha idade é: 2112 anos"

Agora vamos entender o que aconteceu. Dentro da string tem um código especial, o %d, ele serve para representar números inteiros. Ele é um tipo de especificador de formato, no caso o formato de dados é o número 2112, que é um inteiro, que foi colocado dentro do comando printf, depois da string.

Dizemos que "Minha idade é: %d anos" e 2112 são argumentos (informações), que demos para o método printf. O especificados %d vai pegar a informação do próximo argumento, que é o número inteiro 2112.

Uma string, por exemplo, é representada pelo especificador %s. Teste o código:

  1. System.out.printf("%s: %d anos", "Minha idade é: ", 2112);

Temos aí três argumentos:

  1. string: "%s: %d anos"
  2. string: "Minha idade é: "
  3. número inteiro: 2112
O especificador de formato %s foi no próximo argumento e pegou a string 'Minha idade é: ' e colocou no lugar do código %s. Em seguida, foi próximo no argumento (inteiro 2112) e colocou no lugar do especificador %d, para exibir a mensagem final no terminal de comando:
  • "Minha idade é: 2112 anos"

Ao longo de nosso curso, vamos aprender a usar melhor o printf, quando aprendermos mais sobre os tipos de dados (números inteiros, números decimais, números binários, caracteres, booleanos etc).

Contribuir com o Java Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo