Como posso fazer citações de impressão java, como "Olá"?
-
27-09-2019 - |
Pergunta
Como posso fazer impressão de java "Hello"
?
Quando eu digito System.out.print("Hello");
A saída será Hello
. O que estou procurando é "Hello"
com as citações (""
).
Solução
System.out.print("\"Hello\"");
O personagem de dupla citação deve ser escapar com uma barra de barra em uma corda java literal. Outros personagens que precisam de tratamento especial incluem:
- Retorno de carruagem e newline:
"\r"
e"\n"
- Barragem:
"\\\\"
- Citação única:
"\'"
- Guia horizontal e feed de formulário:
"\t"
e"\f"
A lista completa das cordas java e escapadas literais de caracteres pode ser encontrada no Seção 3.10.6 do JLS.
Também vale a pena notar que você pode incluir caracteres unicode arbitrários em seu código -fonte usando sequências de escape unicode do formulário " uxxxx", onde os "x" s são dígitos hexadecimais. No entanto, estes são diferentes das escapadas comuns de cordas e caracteres, pois você pode usá -las em qualquer lugar de um programa Java ... não apenas em literais de cordas e caracteres; Veja seções JLS 3.1, 3.2 e 3.3 Para obter detalhes sobre o uso do Unicode no código -fonte Java.
Veja também:
O tutorial do Oracle Java: Números e cordas - caracteres
http://stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-having-to-escape-cote (Resposta: Não)
Outras dicas
char ch='"';
System.out.println(ch + "String" + ch);
Ou
System.out.println('"' + "ASHISH" + '"');
Escape dupla-citações em sua string: "\"Hello\""
Mais sobre o assunto (Verifique a parte 'Sequências de Escape')
Você pode fazer isso usando um personagem unicode também
System.out.print('\u0022' + "Hello" + '\u0022');
System.out.println("\"Hello\"");
Adicionar os caracteres de cotação real é apenas uma pequena fração do problema; Depois de fazer isso, é provável que você enfrente o problema real: o que acontece se a string já contiver citações, ou feeds de linha ou outros caracteres não imprimíveis?
O método a seguir cuidará de tudo:
public static String escapeForJava( String value, boolean quote )
{
StringBuilder builder = new StringBuilder();
if( quote )
builder.append( "\"" );
for( char c : value.toCharArray() )
{
if( c == '\'' )
builder.append( "\\'" );
else if ( c == '\"' )
builder.append( "\\\"" );
else if( c == '\r' )
builder.append( "\\r" );
else if( c == '\n' )
builder.append( "\\n" );
else if( c == '\t' )
builder.append( "\\t" );
else if( c < 32 || c >= 127 )
builder.append( String.format( "\\u%04x", (int)c ) );
else
builder.append( c );
}
if( quote )
builder.append( "\"" );
return builder.toString();
}
System.out.println("\"Hello\"")
System.out.print("\"Hello\"");
Você está procurando Sequências de fuga
Ver mais Lista de sequências de fuga
Existem dois métodos fáceis:
- Use barragem
\
antes de citações duplas. - Use duas citações únicas em vez de citações duplas como
''
ao invés de"
Por exemplo:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
Use sequência de escape.
\"Hello\"
Isso imprimirá "Hello".
Tome nota, existem algumas certas coisas a serem observadas ao executar barras de barriga com caracteres específicos.
System.out.println("Hello\\\");
A saída acima será:
Olá
System.out.println(" Hello\" ");
A saída acima será:
Olá"