Question

Comment puis-je faire Java imprimer "Hello"?

Quand je tape System.out.print("Hello"); la sortie sera Hello. Ce que je cherche est "Hello" avec les guillemets ("").

Était-ce utile?

La solution

System.out.print("\"Hello\"");

Le guillemet doit être échappé avec une barre oblique inverse dans un littéral de chaîne Java. D'autres personnages qui ont besoin d'un traitement spécial comprennent:

  • Retour chariot et saut de ligne: "\r" et "\n"
  • Backslash: "\\\\"
  • Apostrophe: "\'"
  • onglet horizontal et forme alimentation: "\t" et "\f"

On peut trouver la liste complète des chaînes Java et le caractère des évasions littérales dans le section 3.10.6 des JLS.

Il est également intéressant de noter que vous pouvez inclure des caractères Unicode arbitraires dans votre code source en utilisant des séquences d'échappement Unicode de la forme « \ uxxxx » où les s « x » sont des chiffres hexadécimaux. Cependant, ceux-ci sont différents des chaînes ordinaires et le caractère échappe à ce que vous pouvez les utiliser partout dans un programme Java ... pas seulement dans la chaîne et de caractère littéraux; voir les sections JLS 3.1 , 3.2 et 3.3 pour un détails sur l'utilisation de l'Unicode dans le code source Java.

Voir aussi:

Autres conseils

char ch='"';

System.out.println(ch + "String" + ch);

ou

System.out.println('"' + "ASHISH" + '"');

Évadez guillemets doubles dans votre chaîne: "\"Hello\""

Plus sur le sujet (vérification 'Séquences d'échappement' partie)

Vous pouvez le faire en utilisant un caractère unicode aussi

System.out.print('\u0022' + "Hello" + '\u0022');
System.out.println("\"Hello\""); 

Ajout des caractères de citation réels ne représente qu'une infime fraction du problème; une fois que vous avez fait cela, vous êtes susceptible de faire face au problème réel: Qu'advient-il si la chaîne contient déjà des guillemets ou des sauts de ligne ou d'autres caractères non imprimables

La méthode suivante prendra soin de tout:

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\"");

Vous cherchez Séquences d'échappement

Voir plus Liste des séquences d'échappement

Il existe deux méthodes faciles:

  1. Utilisez la barre oblique inverse \ avant des guillemets doubles.
  2. Utiliser deux guillemets simples au lieu de guillemets doubles comme '' au lieu de "

Par exemple:

System.out.println("\"Hello\"");                       
System.out.println("''Hello''"); 

Utilisation séquence d'échappement.

\"Hello\"

imprimera « Bonjour ».

Prenez note, il y a quelques certaines choses à prendre note lors de l'exécution antislashs avec des caractères spécifiques.

System.out.println("Hello\\\");

La sortie ci-dessus sera:

Bonjour \


System.out.println(" Hello\"  ");

La sortie ci-dessus sera:

Bonjour "

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top