0% found this document useful (0 votes)
31 views

W 3 JAVA

This document provides an introduction to the Java programming language. It discusses what Java is, why it should be used, how to install Java, and provides a basic 'Hello World' example. The document contains detailed explanations of Java syntax and concepts like classes, methods, and printing output.

Uploaded by

degadisa104
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

W 3 JAVA

This document provides an introduction to the Java programming language. It discusses what Java is, why it should be used, how to install Java, and provides a basic 'Hello World' example. The document contains detailed explanations of Java syntax and concepts like classes, methods, and printing output.

Uploaded by

degadisa104
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 97

JAVA PROGRAMMING LANGUAGE TUTORIAL

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.

Examples in Each Chapter


Our "Try it Yourself" editor makes it easy to learn Java. You can edit Java code and view the
result in your browser.

ExampleGet your own Java Server


public class Main {

public static void main(String[] args) {

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

Try it Yourself »

Click on the "Run example" button to see how it works.

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

public class MyClass {

public static void main(String[] args) {

. . ("Hello World");

Submit Answer »

Learn by Examples
Learn by examples! This tutorial supplements all explanations with clarifying examples.

See All Java Examples

My Learning
Track your progress with the free "My Learning" program here at W3Schools.

Log in to your account, and start earning points!

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

Java String Methods

Java Math Methods

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?

Java is a popular programming language, created in 1995. It is owned by


Oracle, and more than 3 billion devices run Java.

It is used for:

 Mobile applications (specially Android apps)


 Desktop applications
 Web applications
 Web servers and application servers
 Games
 Database connection
 And much, much more!

1.2 Why Use Java?

 Java works on different platforms (Windows, Mac, Linux, Raspberry Pi,


etc.)
 It is one of the most popular programming language in the world
 It has a large demand in the current job market
 It is easy to learn and simple to use
 It is open-source and free
 It is secure, fast and powerful
 It has a huge community support (tens of millions of developers)
 Java is an object oriented language which gives a clear structure to
programs and allows code to be reused, lowering development costs
 As Java is close to C++ and C#, it makes it easy for programmers to
switch to Java or vice versa

JAVA Page 4
JAVA PROGRAMMING LANGUAGE TUTORIAL

1.3 Java Install

Some PCs might have Java already installed.

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):

C:\Users\Your Name>java -version

If Java is installed, you will see something like this (depending on version):

java version "11.0.1" 2018-10-16 LTS


Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

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.

Setup for Windows

To install Java on Windows:

1. Go to "System Properties" (Can be found on Control Panel > System


and Security > System > Advanced System Settings)
2. Click on the "Environment variables" button under the "Advanced" tab
3. Then, select the "Path" variable in System variables and click on the
"Edit" button
4. Click on the "New" button and add the path where Java is installed,
followed by \bin. By default, Java is installed in C:\Program Files\Java\
jdk-11.0.1 (If nothing else was specified when you installed it). In that
case, You will have to add a new path with: C:\Program Files\Java\
JAVA Page 5
JAVA PROGRAMMING LANGUAGE TUTORIAL

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

Show how to install Java step-by-step with images »Step 2 »


Step 2

JAVA Page 6
JAVA PROGRAMMING LANGUAGE TUTORIAL

Step 3

Step 4

JAVA Page 7
JAVA PROGRAMMING LANGUAGE TUTORIAL

Step 5

Write the following in the command line (cmd.exe):

C:\Users\Your Name>java -version

If Java was successfully installed, you will see something like this (depending
on version):

java version "11.0.1" 2018-10-16 LTS


Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode

1.4 Java Quickstart

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

public class Main

public static void main(String[] args)

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.

For now, focus on how to run the code above.

 Save the code in Notepad as "Main.java".


 Open Command Prompt (cmd.exe), navigate to the directory where
you saved your file, and type "javac Main.java":

C:\Users\Your Name>javac Main.java

This will compile your code. If there are no errors in the code, the command
prompt will take you to the next line.

 Now, type "java Main" to run the file:

C:\Users\Your Name>java Main

The output should read:

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

public class Main {

public static void main(String[] args) {

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.

Note: Java is case-sensitive: "MyClass" and "myclass" has different meaning.

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

The main() method is required and you will see it in every Java program:

public static void main(String[] args)

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:

public static void main(String[] args) {

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".

public class MyClass {

public static void main(String[] args) {

. . ("Hello World");

1.6 Java Output / Print

Print Text

You learned from the previous chapter that you can use the println() method
to output values or print text in Java:

ExampleGet your own Java Server

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("I am learning Java.");

System.out.println("It is awesome!");

Double Quotes

When you are working with text, it must be wrapped inside double
quotations marks "".

If you forget the double quotes, an error occurs:

Example

System.out.println("This sentence will work!");

System.out.println(This sentence will produce an error);

The Print() Method

There is also a print() method, which is similar to println().

The only difference is that it does not insert a new line at the end of the
output:

Example

System.out.print("Hello World! ");

System.out.print("I will print on the same line.");

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

1.7 Java Output Numbers

Print Numbers

You can also use the println() method to print numbers.

However, unlike text, we don't put numbers inside double quotes:

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);

1.8 Java Comments

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.

1.8.1 Single-line Comments

Single-line comments start with two forward slashes (//).

Any text between // and the end of the line is ignored by Java (will not be
executed).

This example uses a single-line comment before a line of code:

JAVA Page 13
JAVA PROGRAMMING LANGUAGE TUTORIAL

Example

// This is a comment

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

This example uses a single-line comment at the end of a line of code:

Example

System.out.println("Hello World"); // This is a comment


1.8.2 Java Multi-line Comments

Multi-line comments start with /* and ends with */.

Any text between /* and */ will be ignored by Java.

This example uses a multi-line comment (a comment block) to explain the


code:

Example

/* The code below will print the words Hello World

to the screen, and it is amazing */

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

Single or multi-line comments?

It is up to you which you want to use. Normally, we use // for short


comments, and /* */ for longer.

Exercise:

Insert the missing part to create two types of comments.

This is a single-line comment


This is a multi-line comment

JAVA Page 14
JAVA PROGRAMMING LANGUAGE TUTORIAL

1.9 Java Variables

Variables are containers for storing data values.

In Java, there are different types of variables, for example:

 String - stores text, such as "Hello". String values are surrounded by


double quotes
 int - stores integers (whole numbers), without decimals, such as 123 or
-123
 float - stores floating point numbers, with decimals, such as 19.99 or -
19.99
 char - stores single characters, such as 'a' or 'B'. Char values are
surrounded by single quotes
 boolean - stores values with two states: true or false

Declaring (Creating) Variables

To create a variable, you must specify the type and assign it a value:

Syntax

type variableName = value;

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":

String name = "John";

System.out.println(name);

To create a variable that should store a number, look at the following


example:
JAVA Page 15
JAVA PROGRAMMING LANGUAGE TUTORIAL

Example

Create a variable called myNum of type int and assign it the value 15:

int myNum = 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

Change the value of myNum from 15 to 20:

int myNum = 15;

myNum = 20; // myNum is now 20

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

final int myNum = 15;

JAVA Page 16
JAVA PROGRAMMING LANGUAGE TUTORIAL

myNum = 20; // will generate an error: cannot assign a value to a final


variable

Other Types

A demonstration of how to declare variables of other types:

Example

int myNum = 5;

float myFloatNum = 5.99f;

char myLetter = 'D';

boolean myBool = true;

String myText = "Hello";

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

The println() method is often used to display variables.

To combine both text and a variable, use the + character:

ExampleGet your own Java Server

String name = "John";

System.out.println("Hello " + name);

JAVA Page 17
JAVA PROGRAMMING LANGUAGE TUTORIAL

You can also use the + character to add a variable to another variable:

Example

String firstName = "John ";

String lastName = "Doe";

String fullName = firstName + lastName;

System.out.println(fullName);

For numeric values, the + character works as a


mathematical operator (notice that we use int (integer) variables here):

Example

int x = 5;

int y = 6;

System.out.println(x + y); // Print the value of x + y

From the example above, you can expect:

 x stores the value 5


 y stores the value 6
 Then we use the println() method to display the value of x + y, which
is 11

Java Declare Multiple Variables


Declare Many Variables

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);

You can simply write:

int x = 5, y = 6, z = 50;

System.out.println(x + y + z);

One Value to Multiple Variables

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:

x=5 y=6 z = 50;

Bottom of Form

JAVA Page 19
JAVA PROGRAMMING LANGUAGE TUTORIAL

Java Identifiers
1.10 Identifiers

All Java variables must be identified with unique names.

These unique names are called identifiers.

Identifiers can be short names (like x and y) or more descriptive names (age,
sum, totalVolume).

Note: It is recommended to use descriptive names in order to create


understandable and maintainable code:

Example

// Good

int minutesPerHour = 60;

// OK, but not so easy to understand what m actually is

int m = 60;

The general rules for naming variables are:

 Names can contain letters, digits, underscores, and dollar signs


 Names must begin with a letter
 Names should start with a lowercase letter and it cannot contain
whitespace
 Names can also begin with $ and _ (but we will not use it in this
tutorial)
 Names are case sensitive ("myVar" and "myvar" are different variables)
 Reserved words (like Java keywords, such as int or boolean) cannot be
used as names

JAVA Page 20
JAVA PROGRAMMING LANGUAGE TUTORIAL

Java Data Types


Java Data Types

As explained in the previous chapter, a variable in Java must be a specified


data type:

Example

int myNum = 5; // Integer (whole number)

float myFloatNum = 5.99f; // Floating point number

char myLetter = 'D'; // Character

boolean myBool = true; // Boolean

String myText = "Hello"; // String

Data types are divided into two groups:

 Primitive data types -


includes byte, short, int, long, float, double, boolean and char
 Non-primitive data types - such as String, Arrays and Classes (you will
learn more about these in a later chapter)

Primitive Data Types

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

There are eight primitive data types in Java:

Data Size Description


Type

byte 1 byte Stores whole numbers from -128 to 127

short 2 bytes Stores whole numbers from -32,768 to 32,767

int 4 bytes Stores whole numbers from -2,147,483,648 to


2,147,483,647

long 8 bytes Stores whole numbers from -


9,223,372,036,854,775,808 to
9,223,372,036,854,775,807

float 4 bytes Stores fractional numbers. Sufficient for


storing 6 to 7 decimal digits

double 8 bytes Stores fractional numbers. Sufficient for


storing 15 decimal digits

boolean 1 bit Stores true or false values

JAVA Page 22
JAVA PROGRAMMING LANGUAGE TUTORIAL

char 2 bytes Stores a single character/letter or ASCII


values

Exercise:

Add the correct data type for the following variables:

myNum = 9;
myFloatNum = 8.99f;
myLetter = 'A';
myBool = false;
myText = "Hello World";

Bottom of Form

Java Numbers
Numbers

Primitive number types are divided into two groups:

Integer types stores whole numbers, positive or negative (such as 123 or -


456), without decimals. Valid types are byte, short, int and long. Which type
you should use, depends on the numeric value.

Floating point types represents numbers with a fractional part, containing


one or more decimals. There are two types: float and double.

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:

ExampleGet your own Java Server

byte myNum = 100;

System.out.println(myNum);

Try it Yourself »

Short

The short data type can store whole numbers from -32768 to 32767:

Example

short myNum = 5000;

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

int myNum = 100000;

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

long myNum = 15000000000L;

System.out.println(myNum);

Floating Point Types

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

float myNum = 5.75f;

System.out.println(myNum);

Double Example

double myNum = 19.99d;

System.out.println(myNum);

Use float or double?

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

A floating point number can also be a scientific number with an "e" to


indicate the power of 10:

Example

float f1 = 35e3f;

double d1 = 12E4d;

System.out.println(f1);

System.out.println(d1);

Java Boolean Data Types


Boolean Types

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:

ExampleGet your own Java Server

boolean isJavaFun = true;

boolean isFishTasty = false;

System.out.println(isJavaFun); // Outputs true

System.out.println(isFishTasty); // Outputs false

Boolean values are mostly used for conditional testing.

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':

ExampleGet your own Java Server

char myGrade = 'B';

System.out.println(myGrade);

Try it Yourself »

Alternatively, if you are familiar with ASCII values, you can use those to
display certain characters:

Example

char myVar1 = 65, myVar2 = 66, myVar3 = 67;

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

String greeting = "Hello World";

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".

A String in Java is actually a non-primitive data type, because it refers to an


object. The String object has methods that are used to perform certain
operations on strings. Don't worry if you don't understand the term
"object" just yet. We will learn more about strings and objects in a later
chapter.

Java Non-Primitive Data Types

❮ PreviousNext ❯

Non-Primitive Data Types

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

 Primitive types are predefined (already defined) in Java. Non-primitive


types are created by the programmer and is not defined by Java (except
for String).
 Non-primitive types can be used to call methods to perform certain
operations, while primitive types cannot.
 A primitive type has always a value, while non-primitive types can
be null.
 A primitive type starts with a lowercase letter, while non-primitive
types starts with an uppercase letter.

Examples of non-primitive types are Strings, Arrays, Classes, Interface, etc.


You will learn more about these in a later chapter.

Java Type Casting

❮ PreviousNext ❯

Java Type Casting

Type casting is when you assign a value of one primitive data type to another
type.

In Java, there are two types of casting:

 Widening Casting (automatically) - converting a smaller type to a


larger type size
byte -> short -> char -> int -> long -> float -> double

 Narrowing Casting (manually) - converting a larger type to a smaller


size type
double -> float -> long -> int -> char -> short -> byte

Widening Casting

JAVA Page 29
JAVA PROGRAMMING LANGUAGE TUTORIAL

Widening casting is done automatically when passing a smaller size type to a


larger size type:

ExampleGet your own Java Server

public class Main {

public static void main(String[] args) {

int myInt = 9;

double myDouble = myInt; // Automatic casting: int to double

System.out.println(myInt); // Outputs 9

System.out.println(myDouble); // Outputs 9.0

Try it Yourself »

Narrowing Casting

Narrowing casting must be done manually by placing the type in parentheses


in front of the value:

Example

public class Main {

public static void main(String[] args) {

double myDouble = 9.78d;

int myInt = (int) myDouble; // Manual casting: double to int

JAVA Page 30
JAVA PROGRAMMING LANGUAGE TUTORIAL

System.out.println(myDouble); // Outputs 9.78

System.out.println(myInt); // Outputs 9

Try it Yourself »
Java Operators

❮ PreviousNext ❯

Java Operators

Operators are used to perform operations on variables and values.

In the example below, we use the + operator to add together two values:

ExampleGet your own Java Server

int x = 100 + 50;

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

int sum1 = 100 + 50; // 150 (100 + 50)

int sum2 = sum1 + 250; // 400 (150 + 250)

int sum3 = sum2 + sum2; // 800 (400 + 400)

Try it Yourself »

JAVA Page 31
JAVA PROGRAMMING LANGUAGE TUTORIAL

Java divides the operators into the following groups:

 Arithmetic operators
 Assignment operators
 Comparison operators
 Logical operators
 Bitwise operators

Arithmetic Operators

Arithmetic operators are used to perform common mathematical operations.

Operator Name Description Example

+ Addition Adds together two values x+y

- Subtraction Subtracts one value from another x-y

* Multiplication Multiplies two values x*y

/ Division Divides one value by another x/y

% Modulus Returns the division remainder x%y

++ Increment Increases the value of a variable by 1 ++x

JAVA Page 32
JAVA PROGRAMMING LANGUAGE TUTORIAL

-- Decrement Decreases the value of a variable by 1 --x

ADVERTISEMENT

Java Assignment Operators

Assignment operators are used to assign values to variables.

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 »

The addition assignment operator (+=) adds a value to a variable:

Example

int x = 10;

x += 5;

Try it Yourself »

A list of all assignment operators:

Operator Example Same As

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

^= x ^= 3 x=x^3

>>= x >>= 3 x = x >> 3

<<= x <<= 3 x = x << 3

JAVA Page 34
JAVA PROGRAMMING LANGUAGE TUTORIAL

Java Comparison Operators

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;

System.out.println(x > y); // returns true, because 5 is higher than 3

Try it Yourself »

Operator Name Exampl Try it


e

== Equal to x == y Try it »

!= Not equal x != y Try it »

JAVA Page 35
JAVA PROGRAMMING LANGUAGE TUTORIAL

> Greater than x>y Try it »

< Less than x<y Try it »

>= Greater than or x >= y Try it »


equal to

<= Less than or equal x <= y Try it »


to

Java Logical Operators

You can also test for true or false values with logical operators.

Logical operators are used to determine the logic between variables or


values:

Operato Name Description Example Try


r it

&& Logical Returns true if both statements x < 5 && x < Try
and are true 10 it »

JAVA Page 36
JAVA PROGRAMMING LANGUAGE TUTORIAL

|| Logical Returns true if one of the x < 5 || x < 4 Try


or statements is true it »

! Logical Reverse the result, returns false !(x < 5 && x Try
not if the result is true < 10) it »

Test Yourself With Exercises


Exercise:

Multiply 10 with 5, and print the result.

System.out.println(10 5);

Submit Answer »

Start the Exercise

Java Strings

❮ PreviousNext ❯

Java Strings

Strings are used for storing text.

A String variable contains a collection of characters surrounded by double


quotes:

ExampleGet your own Java Server

Create a variable of type String and assign it a value:


JAVA Page 37
JAVA PROGRAMMING LANGUAGE TUTORIAL

String greeting = "Hello";

Try it Yourself »

String Length

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:

Example

String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

System.out.println("The length of the txt string is: " + txt.length());

Try it Yourself »

More String Methods

There are many string methods available, for


example toUpperCase() and toLowerCase():

Example

String txt = "Hello World";

System.out.println(txt.toUpperCase()); // Outputs "HELLO WORLD"

System.out.println(txt.toLowerCase()); // Outputs "hello world"

Try it Yourself »

Finding a Character in a String

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

String txt = "Please locate where 'locate' occurs!";

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 ...

Complete String Reference

For a complete reference of String methods, go to our Java String Methods


Reference.

The reference contains descriptions and examples of all string methods.

Test Yourself With Exercises


Exercise:

Fill in the missing part to create a greeting variable of type String and assign it the
value Hello.

greeting = ;

Submit Answer »

Start the Exercise

Java String Concatenation

❮ PreviousNext ❯

JAVA Page 39
JAVA PROGRAMMING LANGUAGE TUTORIAL

String Concatenation

The + operator can be used between strings to combine them. This is


called concatenation:

ExampleGet your own Java Server

String firstName = "John";

String lastName = "Doe";

System.out.println(firstName + " " + lastName);

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

String firstName = "John ";

String lastName = "Doe";

System.out.println(firstName.concat(lastName));
Java Numbers and Strings

❮ PreviousNext ❯

Adding Numbers and Strings


WARNING!

Java uses the + operator for both addition and concatenation.

JAVA Page 40
JAVA PROGRAMMING LANGUAGE TUTORIAL

Numbers are added. Strings are concatenated.

If you add two numbers, the result will be a number:

ExampleGet your own Java Server

int x = 10;

int y = 20;

int z = x + y; // z will be 30 (an integer/number)

Try it Yourself »

If you add two strings, the result will be a string concatenation:

Example

String x = "10";

String y = "20";

String z = x + y; // z will be 1020 (a String)

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;

String z = x + y; // z will be 1020 (a String)

Try it Yourself »

JAVA Page 41
JAVA PROGRAMMING LANGUAGE TUTORIAL

❮ PreviousNext ❯

Java Special Characters

❮ PreviousNext ❯

Strings - Special Characters

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 Result Description


character

\' ' Single quote

\" " Double quote

\\ \ Backslash

The sequence \" inserts a double quote in a string:

JAVA Page 42
JAVA PROGRAMMING LANGUAGE TUTORIAL

ExampleGet your own Java Server

String txt = "We are the so-called \"Vikings\" from the north.";

Try it Yourself »

The sequence \' inserts a single quote in a string:

Example

String txt = "It\'s alright.";

Try it Yourself »

The sequence \\ inserts a single backslash in a string:

Example

String txt = "The character \\ is called backslash.";

Try it Yourself »

Other common escape sequences that are valid in Java are:

Code Result Try it

\n New Line Try it »

\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:

ExampleGet your own Java Server

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)

The Math.sqrt(x) method returns the square root of x:

Example

Math.sqrt(64);

Try it Yourself »

ADVERTISEMENT

Math.abs(x)

The Math.abs(x) method returns the absolute (positive) value of x:

Example

Math.abs(-4.7);

Try it Yourself »

Random Numbers

Math.random() returns a random number between 0.0 (inclusive), and 1.0


(exclusive):

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

int randomNum = (int)(Math.random() * 101); // 0 to 100

Try it Yourself »

Complete Math Reference

For a complete reference of Math methods, go to our Java Math Methods


Reference.

Test Yourself With Exercises


Exercise:

Use the correct method to find the highest value of x and y.

int x = 5;
int y = 10;
Math. (x, y);

Submit Answer »

Start the Exercise

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:

ExampleGet your own Java Server

boolean isJavaFun = true;

boolean isFishTasty = false;

System.out.println(isJavaFun); // Outputs true

System.out.println(isFishTasty); // Outputs false

Try it Yourself »

However, it is more common to return boolean values from boolean


expressions, for conditional testing (see below).

Boolean Expression

A Boolean expression returns a boolean value: true or false.

This is useful to build logic, and find answers.

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;

System.out.println(x > y); // returns true, because 10 is higher than 9

Try it Yourself »

Or even easier:

Example

System.out.println(10 > 9); // returns true, because 10 is higher than 9

Try it Yourself »

In the examples below, we use the equal to (==) operator to evaluate an


expression:

Example

int x = 10;

System.out.println(x == 10); // returns true, because the value of x is equal to


10

Try it Yourself »
Example

System.out.println(10 == 15); // returns false, because 10 is not equal to 15

Try it Yourself »

Real Life Example

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

int myAge = 25;

int votingAge = 18;

System.out.println(myAge >= votingAge);

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

Output "Old enough to vote!" if myAge is greater than or equal to 18.


Otherwise output "Not old enough to vote.":

int myAge = 25;

int votingAge = 18;

if (myAge >= votingAge) {

System.out.println("Old enough to vote!");

} else {

System.out.println("Not old enough to vote.");

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

Test Yourself With Exercises


Exercise:

Fill in the missing parts to print the values true and false:

isJavaFun = true;
isFishTasty = false;
System.out.println(isJavaFun);
System.out.println(isFishTasty);

Java If ... Else

❮ PreviousNext ❯

Java Conditions and If Statements

You already know that Java supports the usual logical conditions from
mathematics:

 Less than: a < b


 Less than or equal to: a <= b
 Greater than: a > b
 Greater than or equal to: a >= b
 Equal to a == b
 Not Equal to: a != b

You can use these conditions to perform different actions for different
decisions.

Java has the following conditional statements:

 Use if to specify a block of code to be executed, if a specified condition


is true

JAVA Page 50
JAVA PROGRAMMING LANGUAGE TUTORIAL

 Use else to specify a block of code to be executed, if the same


condition is false
 Use else if to specify a new condition to test, if the first condition is
false
 Use switch to specify many alternative blocks of code to be executed

The if Statement

Use the if statement to specify a block of Java code to be executed if a


condition is true.

SyntaxGet your own Java Server

if (condition) {

// block of code to be executed if the condition is true

}
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

if (20 > 18) {

System.out.println("20 is greater than 18");

Try it Yourself »

We can also test variables:

Example

int x = 20;
JAVA Page 51
JAVA PROGRAMMING LANGUAGE TUTORIAL

int y = 18;

if (x > y) {

System.out.println("x is greater than y");

Try it Yourself »
Example explained

In the example above we use two variables, x and y, to test whether x is


greater than y (using the > operator). As x is 20, and y is 18, and we know
that 20 is greater than 18, we print to the screen that "x is greater than y".

ADVERTISEMENT

The else Statement

Use the else statement to specify a block of code to be executed if the


condition is false.

Syntax

if (condition) {

// block of code to be executed if the condition is true

} else {

// block of code to be executed if the condition is false

}
Example

int time = 20;

JAVA Page 52
JAVA PROGRAMMING LANGUAGE TUTORIAL

if (time < 18) {

System.out.println("Good day.");

} else {

System.out.println("Good evening.");

// Outputs "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".

The else if Statement

Use the else if statement to specify a new condition if the first condition
is false.

Syntax

if (condition1) {

// block of code to be executed if condition1 is true

} else if (condition2) {

// block of code to be executed if the condition1 is false and condition2 is true

} else {

// block of code to be executed if the condition1 is false and condition2 is false


JAVA Page 53
JAVA PROGRAMMING LANGUAGE TUTORIAL

}
Example

int time = 22;

if (time < 10) {

System.out.println("Good morning.");

} else if (time < 18) {

System.out.println("Good day.");

} else {

System.out.println("Good evening.");

// Outputs "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."

Test Yourself With Exercises


Exercise:

Print "Hello World" if x is greater than y.

JAVA Page 54
JAVA PROGRAMMING LANGUAGE TUTORIAL

int x = 50;
int y = 10;
(x y) {
System.out.println("Hello World");
}

Submit Answer »

Start the Exercise

❮ PreviousNext ❯

+1

Java Short Hand If...Else (Ternary Operator)

❮ PreviousNext ❯

Short Hand If...Else

There is also a short-hand if else, which is known as the ternary


operator because it consists of three operands.

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:

SyntaxGet your own Java Server

variable = (condition) ? expressionTrue : expressionFalse;

Instead of writing:

JAVA Page 55
JAVA PROGRAMMING LANGUAGE TUTORIAL

Example

int time = 20;

if (time < 18) {

System.out.println("Good day.");

} else {

System.out.println("Good evening.");

Try it Yourself »

You can simply write:

Example

int time = 20;

String result = (time < 18) ? "Good day." : "Good evening.";

System.out.println(result);

Try it Yourself »

Test Yourself With Exercises


Exercise:

Insert the missing parts to complete the following "short hand if...else" statement:

int time = 20;


String result = time < 18 "Good day." "Good
evening.";
System.out.println(result);

Submit Answer »

JAVA Page 56
JAVA PROGRAMMING LANGUAGE TUTORIAL

Start the Exercise

Java Switch

❮ PreviousNext ❯

Java Switch Statements

Instead of writing many if..else statements, you can use


the switch statement.

The switch statement selects one of many code blocks to be executed:

SyntaxGet your own Java Server

switch(expression) {

case x:

// code block

break;

case y:

// code block

break;

default:

// code block

This is how it works:

 The switch expression is evaluated once.


 The value of the expression is compared with the values of each case.

JAVA Page 57
JAVA PROGRAMMING LANGUAGE TUTORIAL

 If there is a match, the associated block of code is executed.


 The break and default keywords are optional, and will be described
later in this chapter

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;

// Outputs "Thursday" (day 4)

Try it Yourself »

The break Keyword

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

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:

System.out.println("Looking forward to the Weekend");

// Outputs "Looking forward to the Weekend"

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.

Test Yourself With Exercises


Exercise:

Insert the missing parts to complete the following switch statement.

int day = 2;
switch ( ){

JAVA Page 60
JAVA PROGRAMMING LANGUAGE TUTORIAL

1:
System.out.println("Saturday");
break;
2:
System.out.println("Sunday");
;
}

Submit Answer »

Start the Exercise

Java While Loop

❮ PreviousNext ❯

Loops

Loops can execute a block of code as long as a specified condition is reached.

Loops are handy because they save time, reduce errors, and they make code
more readable.

Java While Loop

The while loop loops through a block of code as long as a specified condition
is true:

SyntaxGet your own Java Server

while (condition) {

// code block to be executed

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

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 {

// code block to be executed

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++;

while (i < 5);

Try it Yourself »
Do not forget to increase the variable used in the condition, otherwise the
loop will never end!

Test Yourself With Exercises


Exercise:

Print i as long as i is less than 6.

int i = 1;
(i < 6) {
System.out.println(i);
;
}

Submit Answer »

Start the Exercise

Java For Loop


JAVA Page 63
JAVA PROGRAMMING LANGUAGE TUTORIAL

❮ PreviousNext ❯

Java For Loop

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:

SyntaxGet your own Java Server

for (statement 1; statement 2; statement 3) {

// code block to be executed

Statement 1 is executed (one time) before the execution of the code block.

Statement 2 defines the condition for executing the code block.

Statement 3 is executed (every time) after the code block has been
executed.

The example below will print the numbers 0 to 4:

Example

for (int i = 0; i < 5; i++) {

System.out.println(i);

Try it Yourself »
Example explained

Statement 1 sets a variable before the loop starts (int i = 0).

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

for (int i = 0; i <= 10; i = i + 2) {

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

for (int i = 1; i <= 2; i++) {

System.out.println("Outer: " + i); // Executes 2 times

JAVA Page 65
JAVA PROGRAMMING LANGUAGE TUTORIAL

// Inner loop

for (int j = 1; j <= 3; j++) {

System.out.println(" Inner: " + j); // Executes 6 times (2 * 3)

Try it Yourself »
Test Yourself With Exercises
Exercise:

Use a for loop to print "Yes" 5 times.

(int i = 0; i < 5; ){
System.out.println( );
}

Submit Answer »

Start the Exercise

❮ PreviousNext ❯

Java For Each Loop

❮ PreviousNext ❯

For-Each Loop

JAVA Page 66
JAVA PROGRAMMING LANGUAGE TUTORIAL

There is also a "for-each" loop, which is used exclusively to loop through


elements in an array:

SyntaxGet your own Java Server

for (type variableName : arrayName) {

// code block to be executed

The following example outputs all elements in the cars array, using a "for-
each" loop:

Example

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (String i : cars) {

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.

Java Break and Continue

❮ 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

The break statement can also be used to jump out of a loop.

This example stops the loop when i is equal to 4:

ExampleGet your own Java Server

for (int i = 0; i < 10; i++) {

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.

This example skips the value of 4:

Example

for (int i = 0; i < 10; i++) {

if (i == 4) {

continue;

System.out.println(i);

JAVA Page 68
JAVA PROGRAMMING LANGUAGE TUTORIAL

Try it Yourself »

ADVERTISEMENT

Break and Continue in While Loop

You can also use break and continue in while loops:

Break Example

int i = 0;

while (i < 10) {

System.out.println(i);

i++;

if (i == 4) {

break;

Try it Yourself »

Continue Example

int i = 0;

while (i < 10) {

JAVA Page 69
JAVA PROGRAMMING LANGUAGE TUTORIAL

if (i == 4) {

i++;

continue;

System.out.println(i);

i++;

Try it Yourself »

Test Yourself With Exercises


Exercise:

Stop the loop if i is 5.

for (int i = 0; i < 10; i++) {


if (i == 5) {
;
}
System.out.println(i);
}

Submit Answer »

Start the Exercise

Java Arrays

❮ PreviousNext ❯

JAVA Page 70
JAVA PROGRAMMING LANGUAGE TUTORIAL

Java Arrays

Arrays are used to store multiple values in a single variable, instead of


declaring separate variables for each value.

To declare an array, define the variable type with square brackets:

String[] cars;

We have now declared a variable that holds an array of strings. To insert


values to it, you can place the values in a comma-separated list, inside curly
braces:

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

To create an array of integers, you could write:

int[] myNum = {10, 20, 30, 40};

Access the Elements of an Array

You can access an array element by referring to the index number.

This statement accesses the value of the first element in cars:

ExampleGet your own Java Server

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

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

Change an Array Element

To change the value of a specific element, refer to the index number:

Example

cars[0] = "Opel";

Example

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

cars[0] = "Opel";

System.out.println(cars[0]);

// Now outputs Opel instead of Volvo

Try it Yourself »

Array Length

To find out how many elements an array has, use the length property:

Example

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

System.out.println(cars.length);

// Outputs 4

Try it Yourself »

Test Yourself With Exercises

JAVA Page 72
JAVA PROGRAMMING LANGUAGE TUTORIAL

Exercise:

Create an array of type String called cars.

= {"Volvo", "BMW", "Ford"};

Submit Answer »

Java Arrays Loop

❮ PreviousNext ❯

Loop Through an Array

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.

The following example outputs all elements in the cars array:

ExampleGet your own Java Server

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (int i = 0; i < cars.length; i++) {

System.out.println(cars[i]);

Try it Yourself »

Loop Through an Array with For-Each

There is also a "for-each" loop, which is used exclusively to loop through


elements in arrays:

JAVA Page 73
JAVA PROGRAMMING LANGUAGE TUTORIAL

Syntax

for (type variable : arrayname) {

...

The following example outputs all elements in the cars array, using a "for-
each" loop:

Example

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (String i : cars) {

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.

Test Yourself With Exercises


Exercise:

Loop through the items in the cars array.

String[] cars = {"Volvo", "BMW", "Ford"};


(String i : ){
System.out.println(i);

JAVA Page 74
JAVA PROGRAMMING LANGUAGE TUTORIAL

Submit Answer »

Java Multi-Dimensional Arrays

❮ PreviousNext ❯

Multidimensional Arrays

A multidimensional array is an array of 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:

ExampleGet your own Java Server

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

myNumbers is now an array with two arrays as its elements.

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

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

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.

Change Element Values

You can also change the value of an element:

Example

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

myNumbers[1][2] = 9;

System.out.println(myNumbers[1][2]); // Outputs 9 instead of 7

Try it Yourself »

Loop Through a Multi-Dimensional Array

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

public class Main {

public static void main(String[] args) {

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

for (int i = 0; i < myNumbers.length; ++i) {

for(int j = 0; j < myNumbers[i].length; ++j) {

System.out.println(myNumbers[i][j]);

JAVA Page 76
JAVA PROGRAMMING LANGUAGE TUTORIAL

}
}

Try it Yourself »

Test Yourself With Exercises


Exercise:

Insert the missing part to create a two-dimensional array.

myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };

Submit Answer »

Java Methods

❮ PreviousNext ❯

A method is a block of code which only runs when it is called.

You can pass data, known as parameters, into a method.

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:

ExampleGet your own Java Server

Create a method inside Main:

public class Main {

static void myMethod() {

// code to be executed

Example Explained

 myMethod() is the name of the method


 static means that the method belongs to the Main class and not an
object of the Main class. You will learn more about objects and how to
access methods through objects later in this tutorial.
 void means that this method does not have a return value. You will
learn more about return values later in this chapter

Call a Method

To call a method in Java, write the method's name followed by two


parentheses () and a semicolon;

In the following example, myMethod() is used to print a text (the action),


when it is called:

JAVA Page 78
JAVA PROGRAMMING LANGUAGE TUTORIAL

Example

Inside main, call the myMethod() method:

public class Main {

static void myMethod() {

System.out.println("I just got executed!");

public static void main(String[] args) {

myMethod();

// Outputs "I just got executed!"

Try it Yourself »

A method can also be called multiple times:

Example

public class Main {

static void myMethod() {

System.out.println("I just got executed!");

JAVA Page 79
JAVA PROGRAMMING LANGUAGE TUTORIAL

public static void main(String[] args) {

myMethod();

myMethod();

myMethod();

// I just got executed!

// I just got executed!

// I just got executed!

Try it Yourself »

In the next chapter, Method Parameters, you will learn how to pass data
(parameters) into a method.

Test Yourself With Exercises


Exercise:

Insert the missing part to call myMethod from main.

static void myMethod() {


System.out.println("I just got executed!");
}

public static void main(String[] args) {


JAVA Page 80
JAVA PROGRAMMING LANGUAGE TUTORIAL

;
}

Submit Answer »

Java Method Parameters

❮ PreviousNext ❯

Parameters and Arguments

Information can be passed to methods as parameter. Parameters act as


variables inside the method.

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:

ExampleGet your own Java Server

public class Main {

static void myMethod(String fname) {

System.out.println(fname + " Refsnes");

public static void main(String[] args) {

myMethod("Liam");

myMethod("Jenny");
JAVA Page 81
JAVA PROGRAMMING LANGUAGE TUTORIAL

myMethod("Anja");

// Liam Refsnes

// Jenny Refsnes

// Anja Refsnes

Try it Yourself »

When a parameter is passed to the method, it is called an argument. So,


from the example above: fname is a parameter,
while Liam, Jenny and Anja are arguments.

Multiple Parameters

You can have as many parameters as you like:

Example

public class Main {

static void myMethod(String fname, int age) {

System.out.println(fname + " is " + age);

JAVA Page 82
JAVA PROGRAMMING LANGUAGE TUTORIAL

public static void main(String[] args) {

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

public class Main {

static int myMethod(int x) {

JAVA Page 83
JAVA PROGRAMMING LANGUAGE TUTORIAL

return 5 + x;

public static void main(String[] args) {

System.out.println(myMethod(3));

// Outputs 8 (5 + 3)

Try it Yourself »

This example returns the sum of a method's two parameters:

Example

public class Main {

static int myMethod(int x, int y) {

return x + y;

public static void main(String[] args) {

System.out.println(myMethod(5, 3));

// Outputs 8 (5 + 3)

JAVA Page 84
JAVA PROGRAMMING LANGUAGE TUTORIAL

Try it Yourself »

You can also store the result in a variable (recommended, as it is easier to


read and maintain):

Example

public class Main {

static int myMethod(int x, int y) {

return x + y;

public static void main(String[] args) {

int z = myMethod(5, 3);

System.out.println(z);

// Outputs 8 (5 + 3)

Try it Yourself »

ADVERTISEMENT

A Method with If...Else

It is common to use if...else statements inside methods:

JAVA Page 85
JAVA PROGRAMMING LANGUAGE TUTORIAL

Example

public class Main {

// Create a checkAge() method with an integer variable called age

static void checkAge(int age) {

// If age is less than 18, print "access denied"

if (age < 18) {

System.out.println("Access denied - You are not old enough!");

// If age is greater than, or equal to, 18, print "access granted"

} else {

System.out.println("Access granted - You are old enough!");

public static void main(String[] args) {

checkAge(20); // Call the checkAge method and pass along an age of 20

JAVA Page 86
JAVA PROGRAMMING LANGUAGE TUTORIAL

// Outputs "Access granted - You are old enough!"

Try it Yourself »

Test Yourself With Exercises


Exercise:

Add a fname parameter of type String to myMethod, and output "John Doe":

static void myMethod( ){


System.out.println( + " Doe");
}

public static void main(String[] args) {


myMethod("John");
}

Submit Answer »

Java Method Overloading

❮ PreviousNext ❯

Method Overloading

With method overloading, multiple methods can have the same name with
different parameters:

ExampleGet your own Java Server

int myMethod(int x)

float myMethod(float x)

JAVA Page 87
JAVA PROGRAMMING LANGUAGE TUTORIAL

double myMethod(double x, double y)

Consider the following example, which has two methods that add numbers
of different type:

Example

static int plusMethodInt(int x, int y) {

return x + y;

static double plusMethodDouble(double x, double y) {

return x + y;

public static void main(String[] args) {

int myNum1 = plusMethodInt(8, 5);

double myNum2 = plusMethodDouble(4.3, 6.26);

System.out.println("int: " + myNum1);

System.out.println("double: " + myNum2);

Try it Yourself »

Instead of defining two methods that should do the same thing, it is better to
overload one.

In the example below, we overload the plusMethod method to work for


both int and double:

JAVA Page 88
JAVA PROGRAMMING LANGUAGE TUTORIAL

Example

static int plusMethod(int x, int y) {

return x + y;

static double plusMethod(double x, double y) {

return x + y;

public static void main(String[] args) {

int myNum1 = plusMethod(8, 5);

double myNum2 = plusMethod(4.3, 6.26);

System.out.println("int: " + myNum1);

System.out.println("double: " + myNum2);

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

Variables declared directly inside a method are available anywhere in the


method following the line of code in which they were declared:

ExampleGet your own Java Server

public class Main {

public static void main(String[] args) {

// Code here CANNOT use x

int x = 100;

// Code here can use x

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

public class Main {

public static void main(String[] args) {

// Code here CANNOT use x

{ // This is a block

// Code here CANNOT use x

int x = 100;

// Code here CAN use x

System.out.println(x);

JAVA Page 91
JAVA PROGRAMMING LANGUAGE TUTORIAL

} // The block ends here

// Code here CANNOT use x

Try it Yourself »

A block of code may exist on its own or it can belong to


an if, while or for statement. In the case of for statements, variables declared
in the statement itself are also available inside the block's scope.

Java Recursion

❮ PreviousNext ❯

Java Recursion

Recursion is the technique of making a function call itself. This technique


provides a way to break complicated problems down into simple problems
which are easier to solve.

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

Use recursion to add all of the numbers up to 10.

public class Main {

public static void main(String[] args) {

int result = sum(10);

System.out.println(result);

public static int sum(int k) {

if (k > 0) {

return k + sum(k - 1);

} 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.

It is helpful to see a variety of different examples to better understand the


concept. In this example, the function adds a range of numbers between a
start and an end. The halting condition for this recursive function is
when end is not greater than start:

Example

Use recursion to add all of the numbers between 5 to 10.

public class Main {

public static void main(String[] args) {

int result = sum(5, 10);

System.out.println(result);

public static int sum(int start, int end) {

if (end > start) {

return end + sum(start, end - 1);

} 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 - What is OOP?

OOP stands for Object-Oriented Programming.

Procedural programming is about writing procedures or methods that


perform operations on the data, while object-oriented programming is about
creating objects that contain both data and methods.

Object-oriented programming has several advantages over procedural


programming:

 OOP is faster and easier to execute


 OOP provides a clear structure for the programs
 OOP helps to keep the Java code DRY "Don't Repeat Yourself", and
makes the code easier to maintain, modify and debug
 OOP makes it possible to create full reusable applications with less
code and shorter development time

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.

Java - What are Classes and Objects?

Classes and objects are the two main aspects of object-oriented


programming.

Look at the following illustration to see the difference between class and
objects:

Another example:

JAVA Page 96
JAVA PROGRAMMING LANGUAGE TUTORIAL

So, a class is a template for objects, and an object is an instance of a class.

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

You might also like