Is there a difference between single and double quotes in Java?

JavaSyntax

Java Problem Overview


Is there a difference between single and double quotes in Java?

Java Solutions


Solution 1 - Java

Use single quotes for literal chars, double quotes for literal Strings, like so:

char c = 'a';
String s = "hello";

They cannot be used any other way around (like in Python, for example).

Solution 2 - Java

A char is a single UTF-16 character, that is a letter, a digit, a punctuation mark, a tab, a space or something similar.

A char literal is either a single one character enclosed in single quote marks like this

char myCharacter = 'g'; 

or an escape sequence, or even a unicode escape sequence:

char a = '\t';    // Escape sequence: tab
char b = '\177'   // Escape sequence, octal.
char c = '\u03a9' // Unicode escape sequence. 

It is worth noting that Unicode escape sequences are processed very early during compilation and hence using '\u00A' will lead to a compiler error. For special symbols it is better to use escape sequences instead, i.e. '\n' instead of '\u00A' .

Double quotes being for String, you have to use a "double quote escape sequence" (\") inside strings where it would otherwise terminate the string.
For instance:

System.out.println("And then Jim said, \"Who's at the door?\"");

It isn't necessary to escape the double quote inside single quotes.
The following line is legal in Java:

char doublequote = '"';

Solution 3 - Java

Let's consider this lines of codes (Java):

System.out.println("H"+"A"); //HA
System.out.println('H'+'a'); //169
  1. First line is concatenation of H and A that will result in HA (String literal)

  2. Second we are adding the values of two char that according to the ASCII Table H=72 and a=97 that means that we are adding 72+97 it's like ('H'+'a').

  3. Let's consider another case where we would have:

    System.out.println("A"+'N');//AN

In this case we are dealing with concatenation of String A and char N that will result in AN.

Solution 4 - Java

Single quote indicates character and double quote indicates string..

char c='c';

'c'-----> c is a character

String s="stackoverflow";

"stackoverflow"------> stackoverflow is a string(i.e collection if characters)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpupenoView Question on Stackoverflow
Solution 1 - JavaYuval AdamView Answer on Stackoverflow
Solution 2 - JavaVonCView Answer on Stackoverflow
Solution 3 - JavaEddy BayonneView Answer on Stackoverflow
Solution 4 - JavaHorse_1995View Answer on Stackoverflow