Hoe kan ik Java afdrukken "Hello"
?
Als ik System.out.print("Hello");
typ, is de uitvoer Hello
. Wat ik zoek is "Hello"
met de aanhalingstekens(""
).
Antwoord 1, autoriteit 100%
System.out.print("\"Hello\"");
Het dubbele aanhalingsteken moet worden geëscaped met een backslash in een letterlijke Java-tekenreeks. Andere karakters die een speciale behandeling nodig hebben zijn:
- Carriage return en nieuwe regel:
"\r"
en"\n"
- Backslash:
"\\\\"
- Enkel aanhalingsteken:
"\'"
- Horizontaal tabblad en formulierfeed:
"\t"
en"\f"
De volledige lijst met ontsnappingen voor Java-tekenreeksen en lettertekens is te vinden in de sectie 3.10.6van de JLS.
Het is ook vermeldenswaard dat u willekeurige Unicode-tekens in uw broncode kunt opnemen met behulp van Unicode-escapereeksen van de vorm “\uxxxx”, waarbij de “x”-en hexadecimale cijfers zijn. Deze zijn echter anders dan gewone tekenreeksen en teken-escapes omdat u ze overal in een Java-programma kunt gebruiken … niet alleen in letterlijke tekenreeksen en lettertekens; zie JLS-secties 3.1, 3.2en 3.3voor meer informatie over het gebruik van Unicode in Java-broncode.
Zie ook:
-
De Oracle Java-zelfstudie: Cijfers en tekenreeksen – Tekens
-
http://stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-have-to-escape-quote(Antwoord: Nee)
Antwoord 2, autoriteit 7%
char ch='"';
System.out.println(ch + "String" + ch);
Of
System.out.println('"' + "ASHISH" + '"');
Antwoord 3, autoriteit 5%
Escape dubbele aanhalingstekens in uw tekenreeks: "\"Hello\""
Meer over het onderwerp(controleer ‘Escape Sequences’ deel)
Antwoord 4, autoriteit 3%
Je kunt het ook doen met een unicode-teken
System.out.print('\u0022' + "Hello" + '\u0022');
Antwoord 5, autoriteit 3%
Het toevoegen van de eigenlijke aanhalingstekens is slechts een klein deel van het probleem; als je dat eenmaal hebt gedaan, loop je waarschijnlijk tegen het echte probleem aan: wat gebeurt er als de tekenreeks al aanhalingstekens, regelinvoer of andere niet-afdrukbare tekens bevat?
De volgende methode zorgt voor alles:
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();
}
Antwoord 6, autoriteit 3%
System.out.println("\"Hello\"");
Antwoord 7
System.out.println("\"Hello\"")
Antwoord 8
Er zijn twee eenvoudige methoden:
- Gebruik backslash
\
voor dubbele aanhalingstekens. - Gebruik twee enkele aanhalingstekens in plaats van dubbele aanhalingstekens zoals
''
in plaats van"
Bijvoorbeeld:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
Antwoord 9
Let op, er zijn een paar dingen waar u rekening mee moet houden bij het uitvoeren van backslashes met specifieke tekens.
System.out.println("Hello\\\");
De bovenstaande uitvoer is:
Hallo\
System.out.println(" Hello\" ");
De bovenstaande uitvoer is:
Hallo”
Antwoord 10
Gebruik Escape-reeks.
\"Hello\"
Hiermee wordt “Hallo” afgedrukt.