Как сделать кавычки для печати на Java, например «Hello»? - PullRequest
65 голосов
/ 02 октября 2010

Как мне сделать печать Java "Hello"?

Когда я наберу System.out.print("Hello");, вывод будет Hello.Я ищу "Hello" с кавычками ("").

Ответы [ 13 ]

118 голосов
/ 02 октября 2010
System.out.print("\"Hello\"");

Символ двойной кавычки должен быть экранирован обратной косой чертой в строковом литерале Java. Другие персонажи, которые требуют особого отношения, включают:

  • Возврат каретки и перевод строки: "\r" и "\n"
  • Обратная косая черта: "\\\\"
  • Одна цитата: "\'"
  • Горизонтальная вкладка и подача формы: "\t" и "\f"

Полный список Java-строк и символьных экранирований можно найти в разделе 3.10.6 JLS.

Стоит также отметить, что вы можете включать произвольные символы Unicode в ваш исходный код, используя escape-последовательности Unicode в форме "\ uxxxx", где "x" - это шестнадцатеричные цифры. Однако они отличаются от обычных экранированных строк и символов тем, что их можно использовать в любом месте Java-программы ... не только в строковых и символических литералах; см. разделы JLS 3.1 , 3.2 и 3.3 для получения подробной информации об использовании Unicode в исходном коде Java.

Смотри также:

8 голосов
/ 06 сентября 2014
char ch='"';

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

Или

System.out.println('"' + "ASHISH" + '"');
6 голосов
/ 02 октября 2010

Избегайте двойных кавычек в вашей строке: "\"Hello\""

Подробнее по теме (отметьте часть «Последовательности побега»)

4 голосов
/ 02 октября 2010

Вы можете сделать это, используя символ Unicode также

System.out.print('\u0022' + "Hello" + '\u0022');
4 голосов
/ 02 октября 2010

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

3 голосов
/ 08 марта 2017
System.out.print("\"Hello\"");

Вы ищете Последовательности побега

Подробнее Список последовательностей побега

3 голосов
/ 16 марта 2015

Добавление реальных символов кавычек - лишь малая часть проблемы; как только вы это сделаете, вы, вероятно, столкнетесь с реальной проблемой: что произойдет, если строка уже содержит кавычки, или переводы строк, или другие непечатаемые символы?

Следующий метод позаботится обо всем:

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();
}
2 голосов
/ 20 июня 2013

Существует два простых метода:

  1. Используйте обратную косую черту \ перед двойными кавычками.
  2. Используйте две одинарные кавычки вместо двойных, например '' вместо "

Например:

System.out.println("\"Hello\"");                       
System.out.println("''Hello''"); 
2 голосов
/ 02 октября 2010
System.out.println("\"Hello\"")
1 голос
/ 02 октября 2010

Использовать Escape-последовательность.

\"Hello\"

Это выведет «Hello».

...