Strings are used for storing text.
A String variable contains a collection of characters surrounded by double quotes:
Create a variable of type String and assign it a value:
String greeting = "Hello";
A String in Java is actually an object, which contain methods that can perform certain operations on strings. For example, the length of a string can be found with the length() method:
String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println("The length of the txt string is: " + txt.length());
There are many string methods available, for example toUpperCase() and toLowerCase():
String txt = "Hello World";
System.out.println(txt.toUpperCase()); // Outputs "HELLO WORLD"
System.out.println(txt.toLowerCase()); // Outputs "hello world"
The indexOf() method returns the index (the position) of the first occurrence of a specified text in a string (including whitespace):
String txt = "Please locate where 'locate' occurs!";
System.out.println(txt.indexOf("locate")); // Outputs 7
Java counts positions from zero.
0 is the first position in a string, 1 is the second, 2 is the third ...
The + operator can be used between strings to combine them. This is called concatenation:
String firstName = "John";
String lastName = "Doe";
System.out.println(firstName + " " + lastName);
Note that we have added an empty text (" ") to create a space between firstName and lastName on print.
You can also use the concat() method to concatenate two strings:
String firstName = "John ";
String lastName = "Doe";
System.out.println(firstName.concat(lastName));
Because strings must be written within quotes, Java will misunderstand this string, and generate an error:
String txt = "We are the so-called "Vikings" from the north.";
The solution to avoid this problem, is to use the backslash escape character.
The backslash (\) escape character turns special characters into string characters:
Escape character
Result
Description
\'
'
Single quote
\"
"
Double quote
\\
\
Backslash
The sequence \" inserts a double quote in a string:
String txt = "We are the so-called \"Vikings\" from the north.";
The sequence \' inserts a single quote in a string:
String txt = "It\'s alright.";
The sequence \\ inserts a single backslash in a string:
String txt = "The character \\ is called backslash.";
Six other escape sequences are valid in Java:
Code
Result
Try it
\n
New Line
\r
Carriage Return
\t
Tab
\b
Backspace
\f
Form Feed
WARNING!
Java uses the + operator for both addition and concatenation.
Numbers are added. Strings are concatenated.
If you add two numbers, the result will be a number:
int x = 10;
int y = 20;
int z = x + y; // z will be 30 (an integer/number)
If you add two strings, the result will be a string concatenation:
String x = "10";
String y = "20";
String z = x + y; // z will be 1020 (a String)
If you add a number and a string, the result will be a string concatenation:
String x = "10";
int y = 20;
String z = x + y; // z will be 1020 (a String)
For a complete reference of String methods, go to our Java String Methods Reference.
The reference contains descriptions and examples of all string methods.
The Java Math class has many methods that allows you to perform mathematical tasks on numbers.
The Math.max(x,y) method can be used to find the highest value of x and y:
Math.max(5, 10);
The Math.min(x,y) method can be used to find the lowest value of x and y:
Math.min(5, 10);
The Math.sqrt(x) method returns the square root of x:
Math.sqrt(64);
The Math.abs(x) method returns the absolute (positive) value of x:
Math.abs(-4.7);
Math.random() returns a random number between 0.0 (inclusive), and 1.0 (exclusive):
Math.random();
To get more control over the random number, e.g. you only want a random number between 0 and 100, you can use the following formula:
int randomNum = (int)(Math.random() * 101); // 0 to 100
For a complete reference of Math methods, go to our Java Math Methods Reference.
Very often, in programming, you will need a data type that can only have one of two values, like:
YES / NO
ON / OFF
TRUE / FALSE
For this, Java has a boolean data type, which can take the values true or false.
A boolean type is declared with the boolean keyword and can only take the values true or false:
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // Outputs true
System.out.println(isFishTasty); // Outputs false
However, it is more common to return boolean values from boolean expressions, for conditional testing (see below).
A Boolean expression is a Java expression that returns a Boolean value: true or false.
You can use a comparison operator, such as the greater than (>) operator to find out if an expression (or a variable) is true:
int x = 10;
int y = 9;
System.out.println(x > y); // returns true, because 10 is higher than 9
Or even easier:
System.out.println(10 > 9); // returns true, because 10 is higher than 9
In the examples below, we use the equal to (==) operator to evaluate an expression:
int x = 10;
System.out.println(x == 10); // returns true, because the value of x is equal to 10
System.out.println(10 == 15); // returns false, because 10 is not equal to 15
The Boolean value of an expression is the basis for all Java comparisons and conditions.
You will learn more about conditions in the next chapter.