Barra ( \ ) funciona como Escape, outro exemplo é se voce precisar de utilizar aspas duplas em um System.out.println
Ex:
System.out.println("Ola \"Mundo\"!");
Com a Barra ( \ ) o compiler não reclama e imprime Ola “Mundo”.
Flw
R
Rachel_da_Silveira_C
Desculpe o tópico duplicado, ontem tentava entrar no guj e estava dando problema no meu lap e deu pau em tudo!!
V
Vingdel
Rachel da Silveira Campos:
Olá,
Não sei se é isso que você quer exatamente…
Abs.
package Exemplo;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Ola Mundo!! " + "\n" + "Estou bem");
Olá, Rachel!
Não existe a necessidade de fazer a concatenação para usar a quebra de linha, basta fazer como o amigo slompo sugeriu.
A tua sugestão funciona, porém com menos eficiência.
Super Fabio, se não tens mais dúvida quanto a quebra de linha, por favor, edite a sua postagem inicial e adicione [RESOLVIDO] ao início do assunto.
Obrigado e até mais!
Abraço!
J
Javax2011
\n
R
rodrigolujan
System.out.print(“blablablabla\n blablablabla”);
M
MatheusFalcade
System.out.print("É assim \n ajudou? \n ;D");
D
doravan
Rachel da Silveira Campos:
Olá,
Não sei se é isso que você quer exatamente…
Abs.
package Exemplo;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Ola Mundo!! " + "\n" + "Estou bem");
opa Rachel, não é bom utilizar concatenação de strings, nesse caso a JVM vai criar três variáveis do tipo String, ao passo que você só precisa de uma.
Eficiência em primeiro lugar.
P
pmlm
Neste caso concreto, usar ou não concatenação de strings tem exactamente a mesma eficiência.
O compilador é inteligente para saber que “a” + “b” é igual a “ab”
R
Rachel_da_Silveira_C
Olá galera!!
Bom saber disso, agora já sei!!
Obrigada
D
Diguinho.Max
System.out.println("Oi\n como vai ?");
abraços
S
slompo
pmlm:
Neste caso concreto, usar ou não concatenação de strings tem exactamente a mesma eficiência.
O compilador é inteligente para saber que “a” + “b” é igual a “ab”
Na realidade há uma diferença de performace…
Isto está implicito na definição de String, vejamos…
"Hahaha uma String"
Na String acima, quando for compilado irá gerar uma única String.
"Hahaha "+"uma "+"String"
Já neste outro, quando for compilado irá gerar 4 Strings, sendo:
1 - Hahaha
2 - uma
3 - String
4 - Hahaha uma String
P
pmlm
Como já disse atrás, o compilador é inteligente para perceber isso…
Se, em compile time, o compilador sabe o valor de uma variável, esse valor é substituído.
S
slompo
Com todo respeito pmlm, veja a citação abaixo:
ViniGodoy:
Só complementando a explicação.
A String foi feita para ser imutável. Portanto, não é possível altera-la.
Quando você faz: String x = “Vinícius” String y = “Godoy” String novaString = x + " " + y;
Você criou 4 objetos String. Um deles para a palavra Vinícius, outro para o espaço, outro para a palavra Godoye a String final, com o nome “Vinícius Godoy”.
Como não foi prevista mutabilidade na String, a classe não foi preparada para que operações como a concatenação ou substituição fossem eficientes. A VM consegue otimizar o uso dos strings até certo aspecto, mas ainda sim, é extremamente lento concatenar strings da forma acima.
Para isso, criaram as classes StringBuilder e StringBuffer. Basicamente elas são Strings mutáveis. Foi colocado no projeto dessas classes métodos para alterar ou modificar o conteúdo interno, sem que necessariamente um novo objeto seja criado.
Mais do que isso, o código interno dessas classes foi projetado para ser extremamente rápido. O quão mais rápido, segundo diz o item 33 do capítulo 7 do livro Effective Java, cerca de 9 vezes mais rápido para um bloco de 800 caracteres.
Caso ainda tenha dúvidas a respeito veja o post completo: