The String Literal

Young businesswoman working in an office
Lindsay Upson/Image Source/Getty Images


literal is a sequence of characters used by Java programmers to populate
objects or display text to a user. The characters could be letters, numbers or symbols and are enclosed within two quotation marks. For exam

"I live at 22b Baker Street!"

is a


Although in your Java code you will be writing the text within the quotes, the Java compiler will interpret the characters as Unicode code points.

Unicode is a standard that assigns all letters, numbers, and symbols a unique numerical code. This means that every computer will display the same character for each numerical code. This means that if you know the number values you can actually write

literals using Unicode val


represents the same

value as "I live at 22b Baker Street!" but obviously it's not as nice to wr

Unicode and normal text characters can also be mixed. This is useful for characters you might not know how to type. For example, a character with an umlaut (e.g., Ä, Ö) as in "Thomas Müller plays for Germany." would be:

"Thomas M\u00FCller plays for Germany."

To assign a

object a value just use a

String text = "So does Dr Watson";

Escape Sequences

There are certain characters that you might want to include into a

literal which need to be identified to the compiler. Otherwise, it might get confused and not know what the
value is supposed to be. For example, imagine you want to put a quotation mark within a

"So my friend said, "It's how big?""

This would confuse the compiler because it expects all

literals to begin and end with a quotation mark. To get around this we can use what is known as an escape sequence - these are characters which are preceded by a backslash (in fact you've already seen several if you look back at the Unicode character codes). For example, a quotation mark has the escape seque


So the

literal above would be writ

"So my friend said, \"It's how big?\""

Now the compiler will come to the backslash and know the quotation mark is part of the

literal instead of its end point. If you're thinking ahead you're probably wondering but what if I want to have a backslash in my
literal? Well, that's easy - its escape sequence follows the same pattern - a backslash before the charac


Some of the escape sequences available don't actually print a character to the screen. There are times when you might want to display some text split by a newline. For example:

The first line.
The second line.

This can be done by using the escape sequence for the newline character:

"The first line.\nThe second line."

It's a useful way to put a little bit of formatting into one


There are several useful escape sequences worth knowing:

  • \t
    is for inserting tabs into the literal
  • \b
    inserts a backspace
  • \n
    inserts a newline
  • \r
    inserts a carriage return
  • \'
    inserts a single quotation mark
  • \"
    inserts a double quotation mark
  • \\
    inserts a backslash

Example Java code can be found in the Fun With Strings Example Code.