web-dev-qa-db-fra.com

Comment puis-je créer des citations d'impression Java, comme "Bonjour"?

Comment puis-je imprimer Java "Hello"?

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

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

Le caractère de citation double doit être échappé avec une barre oblique inverse dans un littéral de chaîne Java. Parmi les autres personnages nécessitant un traitement spécial, citons:

  • Retour chariot et nouvelle ligne: "\r" et "\n"
  • Barre oblique inverse: "\\\\"
  • Devis simple: "\'"
  • Onglet horizontal et alimentation de formulaire: "\t" et "\f"

La liste complète des échappements littéraux de caractères et de chaînes de caractères Java est disponible dans la section section 3.10.6 du JLS.

Il convient également de noter que vous pouvez inclure des caractères Unicode arbitraires dans votre code source à l'aide de séquences d'échappement Unicode de la forme "\ uxxxx", où les "x" sont des chiffres hexadécimaux. Cependant, elles diffèrent des chaînes ordinaires et des caractères d'échappement, car vous pouvez les utiliser n'importe où dans un programme Java ... pas seulement dans les littéraux de chaîne et de caractères; voir les sections JLS 3.1 , 3.2 et 3.3 pour plus de détails sur l'utilisation de Unicode dans le code source Java.

Voir également:

112
Stephen C

char ch = '"';

System.out.println (ch + "Chaîne" + ch);

Ou

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

7
Akmishra

Echappez les guillemets doubles dans votre chaîne: "\"Hello\""

Plus d'informations sur le sujet (voir la partie "Séquences d'échappement")

5
Nikita Rybak

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

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

Vous recherchez Séquences d'échappement

Voir plus Liste des séquences d'échappement

3
devDeejay

L'ajout des caractères de citation ne représente qu'une infime partie du problème. Une fois que vous avez fait cela, vous êtes probablement confronté au vrai problème: que se passera-t-il si la chaîne contient déjà des guillemets, des sauts de ligne ou d’autres caractères non imprimables?

La méthode suivante s'occupera 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();
}
3
Mike Nakis

Vous pouvez le faire en utilisant également un caractère Unicode

System.out.print('\u0022' + "Hello" + '\u0022');
2
sadananda salam

Il y a deux méthodes faciles:

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

Par exemple:

System.out.println("\"Hello\"");                       
System.out.println("''Hello''"); 
2
Atishay Jain
System.out.println("\"Hello\"")
2
keshav84

Utilisez la séquence d'échappement.

\"Hello\"

Cela affichera "Bonjour". 

1
Logan

Prenez note, il y a certaines choses à prendre en compte lorsque vous exécutez des barres obliques inverses avec des caractères spécifiques.

System.out.println ("Hello \\"); *édité 
La sortie ci-dessus sera:

Bonjour\

System.out.println ("Hello \" "); Le résultat ci-dessus sera:

Bonjour"

0
user3185910