Как сделать кавычки для печати на Java, например «Hello»?

java escaping double-quotes system.out

448794 просмотра

10 ответа

Как я могу сделать печать Java "Hello"?

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

Автор: Roy Источник Размещён: 12.11.2019 09:19

Ответы (10)


123 плюса

Решение
System.out.print("\"Hello\"");

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

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

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

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

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

Автор: Stephen C Размещён: 02.10.2010 06:08

8 плюса

char ch='"';

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

Или же

System.out.println('"' + "ASHISH" + '"');
Автор: Akmishra Размещён: 06.09.2014 09:53

6 плюса

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

Больше по теме (проверьте часть 'Escape Sequence')

Автор: Nikita Rybak Размещён: 02.10.2010 06:08

4 плюса

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

System.out.print('\u0022' + "Hello" + '\u0022');
Автор: sadananda salam Размещён: 02.10.2010 06:26

4 плюса

System.out.println("\"Hello\""); 
Автор: Dhananjay Размещён: 02.10.2010 06:09

3 плюса

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

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

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();
}
Автор: Mike Nakis Размещён: 16.03.2015 08:33

2 плюса

System.out.println("\"Hello\"")
Автор: keshav84 Размещён: 02.10.2010 06:08

1 плюс

Есть два простых метода:

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

Например:

System.out.println("\"Hello\"");                       
System.out.println("''Hello''"); 
Автор: Atishay Jain Размещён: 20.06.2013 03:13

0 плюса

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

\"Hello\"

Это напечатает «Привет».

Автор: Logan Размещён: 02.10.2010 01:04

0 плюса

Обратите внимание, что при запуске обратной косой черты с определенными символами необходимо учитывать несколько моментов.

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

Вывод выше будет:

Привет\


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

Вывод выше будет:

Привет"

Автор: user3185910 Размещён: 17.01.2015 06:26
Вопросы из категории :
32x32