W 3 JAVA
W 3 JAVA
Java Tutorial
Learn Java
Java is a popular programming language.
Java is used to develop mobile apps, web apps, desktop apps, games and much more.
System.out.println("Hello World");
Try it Yourself »
We recommend reading this tutorial, in the sequence listed in the left menu.
Java is an object oriented language and some concepts may be new. Take breaks when
needed, and go over the examples as many times as needed.
Exercise:
Insert the missing part of the code below to output "Hello World".
JAVA Page 1
JAVA PROGRAMMING LANGUAGE TUTORIAL
. . ("Hello World");
Submit Answer »
Learn by Examples
Learn by examples! This tutorial supplements all explanations with clarifying examples.
My Learning
Track your progress with the free "My Learning" program here at W3Schools.
This is an optional feature. You can study at W3Schools without using My Learning.
JAVA Page 2
JAVA PROGRAMMING LANGUAGE TUTORIAL
Java Reference
Java Keywords
Download Java
Download Java from the official Java web site: https://www.oracle.com
JAVA Page 3
JAVA PROGRAMMING LANGUAGE TUTORIAL
CHAPTER 1
Java Introduction
1. 1 What is Java?
It is used for:
JAVA Page 4
JAVA PROGRAMMING LANGUAGE TUTORIAL
To check if you have Java installed on a Windows PC, search in the start bar
for Java or type the following in Command Prompt (cmd.exe):
If Java is installed, you will see something like this (depending on version):
If you do not have Java installed on your computer, you can download it for
free at oracle.com.
Note: In this tutorial, we will write Java code in a text editor. However, it is
possible to write Java in an Integrated Development Environment, such as
IntelliJ IDEA, Netbeans or Eclipse, which are particularly useful when
managing larger collections of Java files.
jdk-11.0.1\bin
Then, click "OK", and save the settings
5. At last, open Command Prompt (cmd.exe) and type java -version to
see if Java is running on your machine
JAVA Page 6
JAVA PROGRAMMING LANGUAGE TUTORIAL
Step 3
Step 4
JAVA Page 7
JAVA PROGRAMMING LANGUAGE TUTORIAL
Step 5
If Java was successfully installed, you will see something like this (depending
on version):
In Java, every application begins with a class name, and that class must
match the filename. Let's create our first Java file, called Main.java, which
can be done in any text editor (like Notepad).
The file should contain a "Hello World" message, which is written with the
following code:
Main.java
System.out.println("Hello World");
JAVA Page 8
JAVA PROGRAMMING LANGUAGE TUTORIAL
Don't worry if you don't understand the code above - we will discuss it in
detail in later chapters.
This will compile your code. If there are no errors in the code, the command
prompt will take you to the next line.
Hello World
1.5 Java Syntax
In the previous chapter, we created a Java file called Main.java, and we used
the following code to print "Hello World" to the screen:
Main.java
System.out.println("Hello World");
JAVA Page 9
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example explained
Every line of code that runs in Java must be inside a class. In our example, we
named the class Main. A class should always start with an uppercase first
letter.
The name of the java file must match the class name. When saving the file,
save it using the class name and add ".java" to the end of the filename. To
run the example above on your computer, make sure that Java is properly
installed: Go to the Get Started Chapter for how to install Java. The output
should be:
Hello World
The main() method is required and you will see it in every Java program:
Any code inside the main() method will be executed. Don't worry about the
keywords before and after main. You will get to know them bit by bit while
reading this tutorial.
For now, just remember that every Java program has a class name which
must match the filename, and that every program must contain
the main() method.
System.out.println()
Inside the main() method, we can use the println() method to print a line of
text to the screen:
System.out.println("Hello World");
JAVA Page 10
JAVA PROGRAMMING LANGUAGE TUTORIAL
Note: The curly braces {} marks the beginning and the end of a block of
code.
System is a built-in Java class that contains useful members, such as out,
which is short for "output". The println() method, short for "print line", is
used to print a value to the screen (or a file).
Don't worry too much about System, out and println(). Just know that you
need them together to print stuff to the screen.
You should also note that each code statement must end with a semicolon
(;).
Exercise:
Insert the missing part of the code below to output "Hello World".
. . ("Hello World");
Print Text
You learned from the previous chapter that you can use the println() method
to output values or print text in Java:
System.out.println("Hello World!");
You can add as many println() methods as you want. Note that it will add a
new line for each method:
JAVA Page 11
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
System.out.println("Hello World!");
System.out.println("It is awesome!");
Double Quotes
When you are working with text, it must be wrapped inside double
quotations marks "".
Example
The only difference is that it does not insert a new line at the end of the
output:
Example
Note that we add an extra space (after "Hello World!" in the example above),
for better readability.
In this tutorial, we will only use println() as it makes it easier to read the
output of code.
JAVA Page 12
JAVA PROGRAMMING LANGUAGE TUTORIAL
Print Numbers
Example
System.out.println(3);
System.out.println(358);
System.out.println(50000);
You can also perform mathematical calculations inside the println() method:
Example
System.out.println(3 + 3);
Example
System.out.println(2 * 5);
Comments can be used to explain Java code, and to make it more readable. It
can also be used to prevent execution when testing alternative code.
Any text between // and the end of the line is ignored by Java (will not be
executed).
JAVA Page 13
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
// This is a comment
System.out.println("Hello World");
Example
Example
System.out.println("Hello World");
Exercise:
JAVA Page 14
JAVA PROGRAMMING LANGUAGE TUTORIAL
To create a variable, you must specify the type and assign it a value:
Syntax
Where type is one of Java's types (such as int or String), and variableName is
the name of the variable (such as x or name). The equal sign is used to
assign values to the variable.
To create a variable that should store text, look at the following example:
Example
Create a variable called name of type String and assign it the value "John":
System.out.println(name);
Example
Create a variable called myNum of type int and assign it the value 15:
System.out.println(myNum);
You can also declare a variable without assigning the value, and assign the
value later:
Example
int myNum;
myNum = 15;
System.out.println(myNum);
Note that if you assign a new value to an existing variable, it will overwrite
the previous value:
Example
System.out.println(myNum);
Final Variables
If you don't want others (or yourself) to overwrite existing values, use
the final keyword (this will declare the variable as "final" or "constant", which
means unchangeable and read-only):
Example
JAVA Page 16
JAVA PROGRAMMING LANGUAGE TUTORIAL
Other Types
Example
int myNum = 5;
You will learn more about data types in the next section.
Exercise:
Create a variable named carName and assign the value Volvo to it.
= ;
Java Print Variables
Display Variables
JAVA Page 17
JAVA PROGRAMMING LANGUAGE TUTORIAL
You can also use the + character to add a variable to another variable:
Example
System.out.println(fullName);
Example
int x = 5;
int y = 6;
JAVA Page 18
JAVA PROGRAMMING LANGUAGE TUTORIAL
To declare more than one variable of the same type, you can use a comma-
separated list:
Example
Instead of writing:
int x = 5;
int y = 6;
int z = 50;
System.out.println(x + y + z);
int x = 5, y = 6, z = 50;
System.out.println(x + y + z);
You can also assign the same value to multiple variables in one line:
Example
int x, y, z;
x = y = z = 50;
Exercise:
Fill in the missing parts to create three variables of the same type, using a
comma-separated list:
Bottom of Form
JAVA Page 19
JAVA PROGRAMMING LANGUAGE TUTORIAL
Java Identifiers
1.10 Identifiers
Identifiers can be short names (like x and y) or more descriptive names (age,
sum, totalVolume).
Example
// Good
int m = 60;
JAVA Page 20
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
A primitive data type specifies the size and type of variable values, and it has
no additional methods.
JAVA Page 21
JAVA PROGRAMMING LANGUAGE TUTORIAL
JAVA Page 22
JAVA PROGRAMMING LANGUAGE TUTORIAL
Exercise:
myNum = 9;
myFloatNum = 8.99f;
myLetter = 'A';
myBool = false;
myText = "Hello World";
Bottom of Form
Java Numbers
Numbers
Even though there are many numeric types in Java, the most used for
numbers are int (for whole numbers) and double (for floating point
numbers). However, we will describe them all as you continue to read.
JAVA Page 23
JAVA PROGRAMMING LANGUAGE TUTORIAL
Integer Types
Byte
The byte data type can store whole numbers from -128 to 127. This can be
used instead of int or other integer types to save memory when you are
certain that the value will be within -128 and 127:
System.out.println(myNum);
Try it Yourself »
Short
The short data type can store whole numbers from -32768 to 32767:
Example
System.out.println(myNum);
Try it Yourself »
Int
The int data type can store whole numbers from -2147483648 to
2147483647. In general, and in our tutorial, the int data type is the preferred
data type when we create variables with a numeric value.
Example
System.out.println(myNum);
JAVA Page 24
JAVA PROGRAMMING LANGUAGE TUTORIAL
Long
The long data type can store whole numbers from -9223372036854775808 to
9223372036854775807. This is used when int is not large enough to store the
value. Note that you should end the value with an "L":
Example
System.out.println(myNum);
You should use a floating point type whenever you need a number with a
decimal, such as 9.99 or 3.14515.
The float and double data types can store fractional numbers. Note that you
should end the value with an "f" for floats and "d" for doubles:
Float Example
System.out.println(myNum);
Double Example
System.out.println(myNum);
The precision of a floating point value indicates how many digits the value
can have after the decimal point. The precision of float is only six or seven
decimal digits, while double variables have a precision of about 15 digits.
Therefore it is safer to use double for most calculations.
JAVA Page 25
JAVA PROGRAMMING LANGUAGE TUTORIAL
Scientific Numbers
Example
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
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 only take the
values true or false:
JAVA Page 26
JAVA PROGRAMMING LANGUAGE TUTORIAL
You will learn much more about booleans and conditions later in this
tutorial.
Java Characters
❮ PreviousNext ❯
Characters
The char data type is used to store a single character. The character must be
surrounded by single quotes, like 'A' or 'c':
System.out.println(myGrade);
Try it Yourself »
Alternatively, if you are familiar with ASCII values, you can use those to
display certain characters:
Example
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
Try it Yourself »
Tip: A list of all ASCII values can be found in our ASCII Table Reference.
JAVA Page 27
JAVA PROGRAMMING LANGUAGE TUTORIAL
Strings
The String data type is used to store a sequence of characters (text). String
values must be surrounded by double quotes:
Example
System.out.println(greeting);
Try it Yourself »
The String type is so much used and integrated in Java, that some call it "the
special ninth type".
❮ PreviousNext ❯
Non-primitive data types are called reference types because they refer to
objects.
The main difference between primitive and non-primitive data types are:
JAVA Page 28
JAVA PROGRAMMING LANGUAGE TUTORIAL
❮ PreviousNext ❯
Type casting is when you assign a value of one primitive data type to another
type.
Widening Casting
JAVA Page 29
JAVA PROGRAMMING LANGUAGE TUTORIAL
int myInt = 9;
System.out.println(myInt); // Outputs 9
Try it Yourself »
Narrowing Casting
Example
JAVA Page 30
JAVA PROGRAMMING LANGUAGE TUTORIAL
System.out.println(myInt); // Outputs 9
Try it Yourself »
Java Operators
❮ PreviousNext ❯
Java Operators
In the example below, we use the + operator to add together two values:
Try it Yourself »
Although the + operator is often used to add together two values, like in the
example above, it can also be used to add together a variable and a value, or
a variable and another variable:
Example
Try it Yourself »
JAVA Page 31
JAVA PROGRAMMING LANGUAGE TUTORIAL
Arithmetic operators
Assignment operators
Comparison operators
Logical operators
Bitwise operators
Arithmetic Operators
JAVA Page 32
JAVA PROGRAMMING LANGUAGE TUTORIAL
ADVERTISEMENT
In the example below, we use the assignment operator (=) to assign the
value 10 to a variable called x:
Example
int x = 10;
Try it Yourself »
Example
int x = 10;
x += 5;
Try it Yourself »
JAVA Page 33
JAVA PROGRAMMING LANGUAGE TUTORIAL
= x=5 x=5
+= x += 3 x=x+3
-= x -= 3 x=x-3
*= x *= 3 x=x*3
/= x /= 3 x=x/3
%= x %= 3 x=x%3
|= x |= 3 x=x|3
^= x ^= 3 x=x^3
JAVA Page 34
JAVA PROGRAMMING LANGUAGE TUTORIAL
Comparison operators are used to compare two values (or variables). This is
important in programming, because it helps us to find answers and make
decisions.
The return value of a comparison is either true or false. These values are
known as Boolean values, and you will learn more about them in
the Booleans and If..Else chapter.
In the following example, we use the greater than operator (>) to find out if
5 is greater than 3:
Example
int x = 5;
int y = 3;
Try it Yourself »
== Equal to x == y Try it »
JAVA Page 35
JAVA PROGRAMMING LANGUAGE TUTORIAL
You can also test for true or false values with logical operators.
&& Logical Returns true if both statements x < 5 && x < Try
and are true 10 it »
JAVA Page 36
JAVA PROGRAMMING LANGUAGE TUTORIAL
! Logical Reverse the result, returns false !(x < 5 && x Try
not if the result is true < 10) it »
System.out.println(10 5);
Submit Answer »
Java Strings
❮ PreviousNext ❯
Java Strings
Try it Yourself »
String Length
Example
Try it Yourself »
Example
Try it Yourself »
JAVA Page 38
JAVA PROGRAMMING LANGUAGE TUTORIAL
The indexOf() method returns the index (the position) of the first
occurrence of a specified text in a string (including whitespace):
Example
System.out.println(txt.indexOf("locate")); // Outputs 7
Try it Yourself »
Java counts positions from zero.
0 is the first position in a string, 1 is the second, 2 is the third ...
Fill in the missing part to create a greeting variable of type String and assign it the
value Hello.
greeting = ;
Submit Answer »
❮ PreviousNext ❯
JAVA Page 39
JAVA PROGRAMMING LANGUAGE TUTORIAL
String Concatenation
Try it Yourself »
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:
Example
System.out.println(firstName.concat(lastName));
Java Numbers and Strings
❮ PreviousNext ❯
JAVA Page 40
JAVA PROGRAMMING LANGUAGE TUTORIAL
int x = 10;
int y = 20;
Try it Yourself »
Example
String x = "10";
String y = "20";
Try it Yourself »
If you add a number and a string, the result will be a string concatenation:
Example
String x = "10";
int y = 20;
Try it Yourself »
JAVA Page 41
JAVA PROGRAMMING LANGUAGE TUTORIAL
❮ PreviousNext ❯
❮ PreviousNext ❯
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 backslash (\) escape character turns special characters into string
characters:
\\ \ Backslash
JAVA Page 42
JAVA PROGRAMMING LANGUAGE TUTORIAL
String txt = "We are the so-called \"Vikings\" from the north.";
Try it Yourself »
Example
Try it Yourself »
Example
Try it Yourself »
\r Carriage Try it »
Return
\t Tab Try it »
JAVA Page 43
JAVA PROGRAMMING LANGUAGE TUTORIAL
\b Backspace Try it »
\f Form Feed
Java Math
❮ PreviousNext ❯
The Java Math class has many methods that allows you to perform
mathematical tasks on numbers.
Math.max(x,y)
The Math.max(x,y) method can be used to find the highest value of x and y:
Math.max(5, 10);
Try it Yourself »
Math.min(x,y)
The Math.min(x,y) method can be used to find the lowest value of x and y:
Example
Math.min(5, 10);
JAVA Page 44
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
Math.sqrt(x)
Example
Math.sqrt(64);
Try it Yourself »
ADVERTISEMENT
Math.abs(x)
Example
Math.abs(-4.7);
Try it Yourself »
Random Numbers
Example
Math.random();
Try it Yourself »
JAVA Page 45
JAVA PROGRAMMING LANGUAGE TUTORIAL
To get more control over the random number, for example, if you only want
a random number between 0 and 100, you can use the following formula:
Example
Try it Yourself »
int x = 5;
int y = 10;
Math. (x, y);
Submit Answer »
Java Booleans
❮ PreviousNext ❯
Java Booleans
JAVA Page 46
JAVA PROGRAMMING LANGUAGE TUTORIAL
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 store true or false values.
Boolean Values
A boolean type is declared with the boolean keyword and can only take the
values true or false:
Try it Yourself »
Boolean Expression
For example, you can use a comparison operator, such as the greater
than (>) operator, to find out if an expression (or a variable) is true or false:
JAVA Page 47
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
int x = 10;
int y = 9;
Try it Yourself »
Or even easier:
Example
Try it Yourself »
Example
int x = 10;
Try it Yourself »
Example
Try it Yourself »
Let's think of a "real life example" where we need to find out if a person is old
enough to vote.
JAVA Page 48
JAVA PROGRAMMING LANGUAGE TUTORIAL
In the example below, we use the >= comparison operator to find out if the
age (25) is greater than OR equal to the voting age limit, which is set to 18:
Example
Try it Yourself »
Cool, right? An even better approach (since we are on a roll now), would be
to wrap the code above in an if...else statement, so we can perform different
actions depending on the result:
Example
} else {
Try it Yourself »
Booleans are the basis for all Java comparisons and conditions.
You will learn more about conditions (if...else) in the next chapter.
JAVA Page 49
JAVA PROGRAMMING LANGUAGE TUTORIAL
Fill in the missing parts to print the values true and false:
isJavaFun = true;
isFishTasty = false;
System.out.println(isJavaFun);
System.out.println(isFishTasty);
❮ PreviousNext ❯
You already know that Java supports the usual logical conditions from
mathematics:
You can use these conditions to perform different actions for different
decisions.
JAVA Page 50
JAVA PROGRAMMING LANGUAGE TUTORIAL
The if Statement
if (condition) {
}
Note that if is in lowercase letters. Uppercase letters (If or IF) will generate
an error.
In the example below, we test two values to find out if 20 is greater than 18. If
the condition is true, print some text:
Example
Try it Yourself »
Example
int x = 20;
JAVA Page 51
JAVA PROGRAMMING LANGUAGE TUTORIAL
int y = 18;
if (x > y) {
Try it Yourself »
Example explained
ADVERTISEMENT
Syntax
if (condition) {
} else {
}
Example
JAVA Page 52
JAVA PROGRAMMING LANGUAGE TUTORIAL
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
Try it Yourself »
Example explained
In the example above, time (20) is greater than 18, so the condition is false.
Because of this, we move on to the else condition and print to the screen
"Good evening". If the time was less than 18, the program would print "Good
day".
Use the else if statement to specify a new condition if the first condition
is false.
Syntax
if (condition1) {
} else if (condition2) {
} else {
}
Example
System.out.println("Good morning.");
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
Try it Yourself »
Example explained
In the example above, time (22) is greater than 10, so the first
condition is false. The next condition, in the else if statement, is also false,
so we move on to the else condition since condition1 and condition2 is
both false - and print to the screen "Good evening".
However, if the time was 14, our program would print "Good day."
JAVA Page 54
JAVA PROGRAMMING LANGUAGE TUTORIAL
int x = 50;
int y = 10;
(x y) {
System.out.println("Hello World");
}
Submit Answer »
❮ PreviousNext ❯
+1
❮ PreviousNext ❯
It can be used to replace multiple lines of code with a single line, and is most
often used to replace simple if else statements:
Instead of writing:
JAVA Page 55
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
Try it Yourself »
Example
System.out.println(result);
Try it Yourself »
Insert the missing parts to complete the following "short hand if...else" statement:
Submit Answer »
JAVA Page 56
JAVA PROGRAMMING LANGUAGE TUTORIAL
Java Switch
❮ PreviousNext ❯
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
JAVA Page 57
JAVA PROGRAMMING LANGUAGE TUTORIAL
The example below uses the weekday number to calculate the weekday
name:
Example
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
JAVA Page 58
JAVA PROGRAMMING LANGUAGE TUTORIAL
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
Try it Yourself »
When Java reaches a break keyword, it breaks out of the switch block.
This will stop the execution of more code and case testing inside the block.
When a match is found, and the job is done, it's time for a break. There is no
need for more testing.
A break can save a lot of execution time because it "ignores" the execution of
all the rest of the code in the switch block.
ADVERTISEMENT
The default keyword specifies some code to run if there is no case match:
JAVA Page 59
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
Try it Yourself »
Note that if the default statement is used as the last statement in a switch
block, it does not need a break.
int day = 2;
switch ( ){
JAVA Page 60
JAVA PROGRAMMING LANGUAGE TUTORIAL
1:
System.out.println("Saturday");
break;
2:
System.out.println("Sunday");
;
}
Submit Answer »
❮ PreviousNext ❯
Loops
Loops are handy because they save time, reduce errors, and they make code
more readable.
The while loop loops through a block of code as long as a specified condition
is true:
while (condition) {
JAVA Page 61
JAVA PROGRAMMING LANGUAGE TUTORIAL
In the example below, the code in the loop will run, over and over again, as
long as a variable (i) is less than 5:
Example
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
Try it Yourself »
Note: Do not forget to increase the variable used in the condition, otherwise
the loop will never end!
ADVERTISEMENT
The do/while loop is a variant of the while loop. This loop will execute the
code block once, before checking if the condition is true, then it will repeat
the loop as long as the condition is true.
Syntax
do {
while (condition);
JAVA Page 62
JAVA PROGRAMMING LANGUAGE TUTORIAL
The example below uses a do/while loop. The loop will always be executed at
least once, even if the condition is false, because the code block is executed
before the condition is tested:
Example
int i = 0;
do {
System.out.println(i);
i++;
Try it Yourself »
Do not forget to increase the variable used in the condition, otherwise the
loop will never end!
int i = 1;
(i < 6) {
System.out.println(i);
;
}
Submit Answer »
❮ PreviousNext ❯
When you know exactly how many times you want to loop through a block
of code, use the for loop instead of a while loop:
Statement 1 is executed (one time) before the execution of the code block.
Statement 3 is executed (every time) after the code block has been
executed.
Example
System.out.println(i);
Try it Yourself »
Example explained
JAVA Page 64
JAVA PROGRAMMING LANGUAGE TUTORIAL
Statement 2 defines the condition for the loop to run (i must be less than 5).
If the condition is true, the loop will start over again, if it is false, the loop
will end.
Statement 3 increases a value (i++) each time the code block in the loop has
been executed.
Another Example
This example will only print even values between 0 and 10:
Example
System.out.println(i);
Try it Yourself »
Nested Loops
It is also possible to place a loop inside another loop. This is called a nested
loop.
The "inner loop" will be executed one time for each iteration of the "outer
loop":
Example
// Outer loop
JAVA Page 65
JAVA PROGRAMMING LANGUAGE TUTORIAL
// Inner loop
Try it Yourself »
Test Yourself With Exercises
Exercise:
(int i = 0; i < 5; ){
System.out.println( );
}
Submit Answer »
❮ PreviousNext ❯
❮ PreviousNext ❯
For-Each Loop
JAVA Page 66
JAVA PROGRAMMING LANGUAGE TUTORIAL
The following example outputs all elements in the cars array, using a "for-
each" loop:
Example
System.out.println(i);
Try it Yourself »
Note: Don't worry if you don't understand the example above. You will learn
more about Arrays in the Java Arrays chapter.
❮ PreviousNext ❯
Java Break
You have already seen the break statement used in an earlier chapter of this
tutorial. It was used to "jump out" of a switch statement.
JAVA Page 67
JAVA PROGRAMMING LANGUAGE TUTORIAL
if (i == 4) {
break;
System.out.println(i);
Try it Yourself »
Java Continue
The continue statement breaks one iteration (in the loop), if a specified
condition occurs, and continues with the next iteration in the loop.
Example
if (i == 4) {
continue;
System.out.println(i);
JAVA Page 68
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
ADVERTISEMENT
Break Example
int i = 0;
System.out.println(i);
i++;
if (i == 4) {
break;
Try it Yourself »
Continue Example
int i = 0;
JAVA Page 69
JAVA PROGRAMMING LANGUAGE TUTORIAL
if (i == 4) {
i++;
continue;
System.out.println(i);
i++;
Try it Yourself »
Submit Answer »
Java Arrays
❮ PreviousNext ❯
JAVA Page 70
JAVA PROGRAMMING LANGUAGE TUTORIAL
Java Arrays
String[] cars;
System.out.println(cars[0]);
// Outputs Volvo
Try it Yourself »
Note: Array indexes start with 0: [0] is the first element. [1] is the second
element, etc.
JAVA Page 71
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
cars[0] = "Opel";
Example
cars[0] = "Opel";
System.out.println(cars[0]);
Try it Yourself »
Array Length
To find out how many elements an array has, use the length property:
Example
System.out.println(cars.length);
// Outputs 4
Try it Yourself »
JAVA Page 72
JAVA PROGRAMMING LANGUAGE TUTORIAL
Exercise:
Submit Answer »
❮ PreviousNext ❯
You can loop through the array elements with the for loop, and use
the length property to specify how many times the loop should run.
System.out.println(cars[i]);
Try it Yourself »
JAVA Page 73
JAVA PROGRAMMING LANGUAGE TUTORIAL
Syntax
...
The following example outputs all elements in the cars array, using a "for-
each" loop:
Example
System.out.println(i);
Try it Yourself »
The example above can be read like this: for each String element (called i -
as in index) in cars, print out the value of i.
If you compare the for loop and for-each loop, you will see that the for-
each method is easier to write, it does not require a counter (using the
length property), and it is more readable.
JAVA Page 74
JAVA PROGRAMMING LANGUAGE TUTORIAL
Submit Answer »
❮ PreviousNext ❯
Multidimensional Arrays
Multidimensional arrays are useful when you want to store data as a tabular
form, like a table with rows and columns.
To create a two-dimensional array, add each array within its own set of curly
braces:
Access Elements
To access the elements of the myNumbers array, specify two indexes: one
for the array, and one for the element inside that array. This example
accesses the third element (2) in the second array (1) of myNumbers:
Example
System.out.println(myNumbers[1][2]); // Outputs 7
JAVA Page 75
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
Remember that: Array indexes start with 0: [0] is the first element. [1] is the
second element, etc.
Example
myNumbers[1][2] = 9;
Try it Yourself »
We can also use a for loop inside another for loop to get the elements of a
two-dimensional array (we still have to point to the two indexes):
Example
System.out.println(myNumbers[i][j]);
JAVA Page 76
JAVA PROGRAMMING LANGUAGE TUTORIAL
}
}
Try it Yourself »
Submit Answer »
Java Methods
❮ PreviousNext ❯
Methods are used to perform certain actions, and they are also known
as functions.
Why use methods? To reuse code: define the code once, and use it many
times.
Create a Method
JAVA Page 77
JAVA PROGRAMMING LANGUAGE TUTORIAL
A method must be declared within a class. It is defined with the name of the
method, followed by parentheses (). Java provides some pre-defined
methods, such as System.out.println(), but you can also create your own
methods to perform certain actions:
// code to be executed
Example Explained
Call a Method
JAVA Page 78
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
myMethod();
Try it Yourself »
Example
JAVA Page 79
JAVA PROGRAMMING LANGUAGE TUTORIAL
myMethod();
myMethod();
myMethod();
Try it Yourself »
In the next chapter, Method Parameters, you will learn how to pass data
(parameters) into a method.
;
}
Submit Answer »
❮ PreviousNext ❯
Parameters are specified after the method name, inside the parentheses. You
can add as many parameters as you want, just separate them with a comma.
The following example has a method that takes a String called fname as
parameter. When the method is called, we pass along a first name, which is
used inside the method to print the full name:
myMethod("Liam");
myMethod("Jenny");
JAVA Page 81
JAVA PROGRAMMING LANGUAGE TUTORIAL
myMethod("Anja");
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes
Try it Yourself »
Multiple Parameters
Example
JAVA Page 82
JAVA PROGRAMMING LANGUAGE TUTORIAL
myMethod("Liam", 5);
myMethod("Jenny", 8);
myMethod("Anja", 31);
// Liam is 5
// Jenny is 8
// Anja is 31
Try it Yourself »
Note that when you are working with multiple parameters, the method call
must have the same number of arguments as there are parameters, and the
arguments must be passed in the same order.
Return Values
The void keyword, used in the examples above, indicates that the method
should not return a value. If you want the method to return a value, you can
use a primitive data type (such as int, char, etc.) instead of void, and use
the return keyword inside the method:
Example
JAVA Page 83
JAVA PROGRAMMING LANGUAGE TUTORIAL
return 5 + x;
System.out.println(myMethod(3));
// Outputs 8 (5 + 3)
Try it Yourself »
Example
return x + y;
System.out.println(myMethod(5, 3));
// Outputs 8 (5 + 3)
JAVA Page 84
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
Example
return x + y;
System.out.println(z);
// Outputs 8 (5 + 3)
Try it Yourself »
ADVERTISEMENT
JAVA Page 85
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
} else {
JAVA Page 86
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
Add a fname parameter of type String to myMethod, and output "John Doe":
Submit Answer »
❮ PreviousNext ❯
Method Overloading
With method overloading, multiple methods can have the same name with
different parameters:
int myMethod(int x)
float myMethod(float x)
JAVA Page 87
JAVA PROGRAMMING LANGUAGE TUTORIAL
Consider the following example, which has two methods that add numbers
of different type:
Example
return x + y;
return x + y;
Try it Yourself »
Instead of defining two methods that should do the same thing, it is better to
overload one.
JAVA Page 88
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
return x + y;
return x + y;
Try it Yourself »
Note: Multiple methods can have the same name as long as the number
and/or type of parameters are different.
JAVA Page 89
JAVA PROGRAMMING LANGUAGE TUTORIAL
Java Scope
❮ PreviousNext ❯
Java Scope
In Java, variables are only accessible inside the region they are created. This
is called scope.
Method Scope
int x = 100;
System.out.println(x);
JAVA Page 90
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
Block Scope
A block of code refers to all of the code between curly braces {}.
Variables declared inside blocks of code are only accessible by the code
between the curly braces, which follows the line in which the variable was
declared:
Example
{ // This is a block
int x = 100;
System.out.println(x);
JAVA Page 91
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
Java Recursion
❮ PreviousNext ❯
Java Recursion
Recursion may be a bit difficult to understand. The best way to figure out
how it works is to experiment with it.
Recursion Example
Adding two numbers together is easy to do, but adding a range of numbers is
more complicated. In the following example, recursion is used to add a range
of numbers together by breaking it down into the simple task of adding two
numbers:
JAVA Page 92
JAVA PROGRAMMING LANGUAGE TUTORIAL
Example
System.out.println(result);
if (k > 0) {
} else {
return 0;
Example Explained
When the sum() function is called, it adds parameter k to the sum of all
numbers smaller than k and returns the result. When k becomes 0, the
function just returns 0. When running, the program follows these steps:
10 + sum(9)
10 + ( 9 + sum(8) )
10 + ( 9 + ( 8 + sum(7) ) )
...
10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + sum( 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0
JAVA Page 93
JAVA PROGRAMMING LANGUAGE TUTORIAL
Since the function does not call itself when k is 0, the program stops there
and returns the result.
Halting Condition
Just as loops can run into the problem of infinite looping, recursive functions
can run into the problem of infinite recursion. Infinite recursion is when the
function never stops calling itself. Every recursive function should have a
halting condition, which is the condition where the function stops calling
itself. In the previous example, the halting condition is when the
parameter k becomes 0.
Example
System.out.println(result);
} else {
return end;
}
JAVA Page 94
JAVA PROGRAMMING LANGUAGE TUTORIAL
Try it Yourself »
The developer should be very careful with recursion as it can be quite easy to
slip into writing a function which never terminates, or one that uses excess
amounts of memory or processor power. However, when written correctly
recursion can be a very efficient and mathematically-elegant approach to
programming.
Java OOP
❮ PreviousNext ❯
JAVA Page 95
JAVA PROGRAMMING LANGUAGE TUTORIAL
Tip: The "Don't Repeat Yourself" (DRY) principle is about reducing the
repetition of code. You should extract out the codes that are common for the
application, and place them at a single place and reuse them instead of
repeating it.
Look at the following illustration to see the difference between class and
objects:
Another example:
JAVA Page 96
JAVA PROGRAMMING LANGUAGE TUTORIAL
When the individual objects are created, they inherit all the variables and
methods from the class.
You will learn much more about classes and objects in the next chapter.
JAVA Page 97