Java Programming Language: Introduction To

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 113

Introduction to

Java Programming
Language
Prepared by: Sarwan
Outline (I)
• Introducing Java
• Installing Java
• Create Your First Application
• Java Syntax
• Java Comments
• Java Variables
• Java Data Types
• Java Type Casting
• Java Operators
Outline (II)
• Java Strings
• Java Math
• Java Booleans
• Java If…Else
• Java Switch
• Java While Loop
• Java For Loop
• Java Break & Continue
• Java Arrays
• Java Exceptions
• Java Methods
Introducing Java (I)

What is Java?
• Java is one of the most popular programming languages in the world
• Owned by Oracle, created in 1995 by Sun Microsystems
• More than 3 billion devices run Java
• A general-purpose programming language that is class-based and object-oriented
• Java is cross-platform and is called write once, run anywhere
Introducing Java (II)

What is Java used for?


• Mobile applications (specially Android apps)
• Desktop applications
• Web applications
• Web servers and application servers
• Games
• Database connection
• And much, much more!
Introducing Java (III)

Why use Java?


• Java works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc.)
• It is one of the most popular programming languages in the world
• 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)
Installing Java (I)

Your computer might have Java Installed already, to check if you have Java installed on
windows, type the following in Command Prompt (cmd.exe):
C:\Users\Your Name>java -version

If Java is installed, you will see something like this (based 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)
Installing Java (II)

If you don’t have java installed on your computer, you must download and install Java
Development Kit (JDK) from Oracle website:

https://www.oracle.com/technetwork/java/javase/downloads/index.html
Installing Java (III)

After you have JDK installed on your computer, perform the next step-by-step
Java development environment setup in order to be able to create Java
applications.
Installing java (IV)

Step 1: Open up Start menu and type “Environment


Variables” then hit enter, click on “Environment Variables”
Under “Advanced” tab as shown in the figure.
Installing java (V)

Step 2: select the "Path" variable in System variables


and click on the "Edit" button.
Installing java (VI)

Step 3: Click on the "New" button and add the path


where Java is installed:
C:\Program Files\Java\jdk-11.0.1\bin

Then, click "OK", and save the settings.


Installing java (VII)

Step 4: Click on the "New" button and add the path


where Java is installed:
C:\Program Files\Java\jdk-11.0.1\bin

Then, click "OK", and save the settings.


Installing java (VIII)

Step 5: at last, open Command Prompt (cmd.exe) and type “java –version”
to see if Java is running on your machine.
C:\Users\Your Name>java -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)
Create Your First Application (I)

Let’s create our first java application using windows Command Prompt (CMD), copy and
paste below code into Notepad and save the file as MyClass.java.

public class MyClass {

  public static void main(String[] args) {

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

  }

Don’t worry if you don’t understand the above code, for now just focus on how to run the code.
Note: the name of the saved file (MyClass.java) and the class name (MyClass) must be the same!
Create Your First Application (II)

Open CMD and navigate to the directory where you saved your file, and type
"javac MyClass.java“ to compile the code:
C:\Users\Your Name>javac MyClass.java

Now type "java MyClass" to run the generated file:


C:\Users\Your Name>java MyClass

The output will be as the following:


Hello World

Congratulations, you have written and executed your first Java program.
Java Syntax (I)

Explaining previous example code:


• Every line of code in Java must be inside a class (MyClass)
• Java is case-sensitive: "MyClass" and "myclass" are different
• Save files using the class name and add ".java" to the end of the filename
• The name of the java file must match the class name
Java Syntax (II)

The main Method


Every Java program must have a main() Method:
public static void main(String[] args)

The main Method is inside every Java program where any code inside it will be executed.
Java Syntax (III)

System.out.println() Method
Inside the main method, we can use println() method to print a line of text to the screen:
public static void main(String[] args) {
  System.out.println("Hello World");
}

Note: in Java, every code statement must end with a semicolon.


Java Comments (I)

• 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
• Single-line comments start with two forward slashes //
• Any text followed by slashes to the end of the line will be ignored (will not be executed)

Below example uses a single-line comment:

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

• Multi-line comments start with /* and end with */


• Any text between those two will be ignored by Java

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

/* The code below will print the words Hello World


to the screen, and it is amazing */
System.out.println("Hello World");
Java Variables (I)

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
Java Variables (II)

Declaring (Creating) Variables


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

• type: the type of the variable such as int, String or Boolean…


• variable: the name of the variable, any name you desire such as Jack
• = : the equal sign used to assign a value to the variable
• value: the value you want to assign to the variable
Java Variables (III)

Example
To create a variable that should store text, look at the following example:
String name = "John";
System.out.println(name);

To create a variable that should store a number, look at the following example:
int myNum = 15;
System.out.println(myNum);
Java Variables (IV)

Example
You can also declare a variable without assigning the value, and assign the value later:
int myNum;
myNum = 15;
System.out.println(myNum);

A demonstration of how to declare variables of other types:


int myNum = 5;
float myFloatNum = 5.99f;
char myLetter = 'D';
boolean myBool = true;
String myText = "Hello";
Java Variables (V)

Display Variables
The println() method is often used to display variables.
To combine both text and a variable, use the + character:

String name = "John";
System.out.println("Hello " + name);

String firstName = "John ";


String lastName = "Doe";
String fullName = firstName + lastName;
System.out.println(fullName);
Java Variables (VI)

Display Variables
For numeric values, the + character works as a mathematical operator (notice that we use int
(integer) variables here):
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 Variables (VII)

Declare Many Variables


To declare more than one variable of the same type, use a comma-separated list:
int x = 5, y = 6, z = 50;
System.out.println(x + y + z);
Java Variables (VIII)

Java 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).
The general rules for constructing names for variables (unique identifiers) are:
• Names can contain letters, digits, underscores, and dollar signs
• Names should begin with a letter
• 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)
• Names should start with a lowercase letter and it cannot contain whitespace
• Reserved words (like Java keywords, such as int or String) cannot be used as names
Java Data Types (I)

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

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
Java Data Types (II)

As explained in the previous chapter, a variable in Java must be a specified data type:
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
Java Data Types (III)

Data Type Size Description


byte 1 byte Stores whole numbers from -128 to 127
Primitive Data Types short 2 bytes Stores whole numbers from -32,768 to 32,767
int 4 bytes Stores whole numbers from -2,147,483,648 to
A primitive data type specifies 2,147,483,647
the size and type of variable long 8 bytes Stores whole numbers from
-9,223,372,036,854,775,808 to
values, and it has no additional 9,223,372,036,854,775,807
methods. float 4 bytes Stores fractional numbers. Sufficient for storing 6 to 7
decimal digits
There are eight primitive data
double 8 bytes Stores fractional numbers. Sufficient for storing 15
types in Java as shown in the decimal digits
table: boolean 1 bit Stores true or false values
char 2 bytes Stores a single character/letter or ASCII values
Java Data Types (IV)

Primitive Data Types: 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
• Floating point types represents numbers with a fractional part, containing one or more decimals.
There are two types: float and double.

Note: 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).
Java Data Types (V)

Primitive Data Types: Floating Point

You should use a floating-point type whenever you need a number with a decimal, such as 9.99 or
3.14515.

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 Data Types (VI)

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:
• 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
• The size of a primitive type depends on the data type, while non-primitive types have all the same size.
Java Data Types (VII)

Non-Primitive Data Types: String


The String data type is used to store a sequence of characters (text). String values must be
surrounded by double quotes:
String greeting = "Hello World";
System.out.println(greeting);

Note: 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 is 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 Type Casting (I)

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
Java Type Casting (II)

Widening Casting
Widening casting is done automatically when passing a smaller size type to a larger size type:
public class MyClass {
  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
  }
}
Java Type Casting (III)

Narrowing Casting
Narrowing casting must be done manually by placing the type in parentheses in front of the value:
public class MyClass {
  public static void main(String[] args) {
    double myDouble = 9.78;
    int myInt = (int) myDouble; // Manual casting: double to int

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


    System.out.println(myInt);      // Outputs 9
  }
}
Java Operators (I)

Operators are used to perform operations on variables and values.


The value is called an operand, while the operation (to be performed between the two operands) is
defined by an operator:
Operand Operator Operand
100 + 50

In the example below, the numbers 100 and 50 are operands, and the + sign is an operator:
int x = 100 + 50;
Java Operators (II)

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:

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


int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2 + sum2;     // 800 (400 + 400)
Java Operators (III)

Java divides the operators into the following groups:


• Arithmetic operators
• Assignment operators
• Comparison operators
• Logical operators
• Bitwise operators
Java Operators (IV)

Arithmetic Operators
Arithmetic operators
are used to perform
common mathematical
operations.
Java Operators (V)

Assignment Operators

Assignment operators
are used to assign
values to variables.
Java Operators (VI)

Comparison Operators

Comparison operators
are used to compare
two values.
Java Operators (VII)

Logical Operators
Logical operators are
used to determine the
logic between variables
or values.
Java Strings (I)

Strings are used for storing text.


A String variable contains a collection of characters surrounded by double quotes.

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


String greeting = "Hello";
Java Strings (II)

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:

String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println("The length of the txt string is: " + txt.length());
Java Strings (III)

More String Methods


There are many string methods available, for example toUpperCase() and toLowerCase():
String txt = "Hello World";
System.out.println(txt.toUpperCase());   // Outputs "HELLO WORLD"
System.out.println(txt.toLowerCase());   // Outputs "hello world"
Java Strings (IV)

Finding a String in a String


The indexOf() method returns the index (the position) of the first occurrence of a specified text
in a string (including whitespace):

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


System.out.println(txt.indexOf("locate")); // Outputs 7

Note: Java counts positions from zero.


0 is the first position in a string, 1 is the second, 2 is the third ...
Java Strings (V)

String Concatenation
The + operator can be used between strings to add them together to make a new string. This is
called concatenation:
String firstName = "John";
String lastName = "Doe";
System.out.println(firstName + " " + lastName);

You can also use the concat() method to concatenate those two strings.

Note: Note that we have added an empty text (" ") to create a space between firstName and
lastName on print.
Java Strings (VI)

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:
Java Strings (VII)

Special Characters
The sequence \" inserts a double quote in a string:
String txt = "We are the so-called \"Vikings\" from the north.";
The sequence \’ inserts a single quote in a string::
String txt = "It\'s alright.";
The sequence \\ inserts a backslash in a string:
String txt = "The character \\ is called backslash.";
Java Strings (VIII)

Special Characters
Six other escape sequences are valid in Java:
Java Strings (IX)

Adding Numbers and Strings


• If you add two numbers, the result will be a number
• If you add two strings, the result will be a string concatenation
• If you add a number and a string, the result will be a string concatenation
Java Math

Math Class
The Java Math class has many methods that allows you to perform mathematical operations
on numbers.
• Math.max(x,y): this method can be used to find the highest value of x and y
• Math.min(x,y): method can be used to find the lowest value of x and y
• Math.sqrt(x): method returns the square root of x
• Math.abs(x): method returns the absolute (positive) value of x
• Math.random(): returns a random number between 0 (inclusive), and 1 (exclusive)
Java Booleans (I)

Java Booleans
Very often, in programming, you will need a data type that can only have one of two values, like:
• YES / NO
• ON / OFF
• TRUE / FALSE
For this, Java has a boolean data type, which can take the values true or false.
Java Booleans (II)

Boolean Values
A boolean type is declared with the boolean keyword and can only take the values true or false:

boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);     // Outputs true
System.out.println(isFishTasty);   // Outputs false
Java Booleans (III)

Boolean Expression
A Boolean expression is a Java expression that returns a Boolean value: true or false.
You can use a comparison operator, such as the greater than (>) operator to find out if an
expression (or a variable) is true:

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

Boolean Expression
In the examples below, we use the equal to (==) operator to evaluate an expression:
int x = 10;
System.out.println(x == 10); // returns true, because the value of x is
equal to 10

Note:
The Boolean value of an expression is the basis for all Java comparisons and conditions.
You will learn more about conditions in the next chapter.
Java If…Else (I)

Java Conditions and If Statements


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
Java If…Else (II)

Java Conditions and If Statements


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
• 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
Java If…Else (III)

The if Statement
Use the if statement to specify a block of Java code to be executed if a condition is true.

if (condition) {
  // block of code to be executed if the condition is true
}

Note: Note that if is in lowercase letters. Uppercase letters (If or IF) will generate an error.
Java If…Else (IV)

The if Statement
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:
if (20 > 18) {
  System.out.println("20 is greater than 18");
}

Note: Note that if is in lowercase letters. Uppercase letters (If or IF) will generate an error.
Java If…Else (V)

The else Statement

Use the else statement to specify a block of code to be executed if the condition is false.
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
}
Java If…Else (VI)

The else Statement


In the example below, 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".

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}
// Outputs "Good evening."
Java If…Else (VII)

The else if Statement


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

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 If…Else (VIII)

The else if Statement


In the example below, 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."
int time = 22;
if (time < 10) {
  System.out.println("Good morning.");
} else if (time < 20) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}
// Outputs "Good evening."
Java If…Else (IX)

Short Hand If...Else (Ternary Operator)


If you have only one statement to execute, one for if, and one for else, you can put it all on the
same line:
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);
Java Switch (I)

Java Switch Statements


Use the switch statement to select one of many code blocks to be executed.
switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}
Java Switch (II)

This is how it works


• The switch expression is evaluated once.
• The value of the expression is compared with the values of each case.
• 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
Java Switch (III)

The example below uses the weekday number to calculate the weekday name:
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;
  case 6:
    System.out.println("Saturday");
    break;
  case 7:
    System.out.println("Sunday");
    break;
}
// Outputs "Thursday" (day 4)
Java Switch (IV)

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.

Note: 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.
Java Switch (V)

The default Keyword


The default keyword specifies some code to run if there is no case match:
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"

Note: Note that if the default statement is used as the last statement in a switch block, it does not need a break.
Java While Loop (I)

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

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

while (condition) {
  // code block to be executed
}
Java While Loop (II)

While Loop
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:

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

Note: do not forget to increase the variable used in the condition, otherwise the loop will
never end!
Java While Loop (III)

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.

do {
  // code block to be executed
}
while (condition);
Java While Loop (IV)

The Do/While Loop


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:
int i = 0;
do {
  System.out.println(i);
  i++;
}
while (i < 5);

Note: do not forget to increase the variable used in the condition, otherwise the loop will never end!
Java For Loop (I)

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:

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.
Java For Loop (II)

Java For Loop


The example below will print the numbers 0 to 4:

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


  System.out.println(i);
}

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


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.
Java For Loop (III)

Java For Loop: Another Example


This example will only print even values between 0 and 10:
for (int i = 0; i <= 10; i = i + 2) {
  System.out.println(i);
}
Java For Loop (IV)

For-Each Loop
There is also a "for-each" loop, which is used exclusively to loop through elements in an array:

for (type variable : arrayname) {
  // code block to be executed
}
Java For Loop (V)

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

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


for (String i : cars) {
  System.out.println(i);
}

Note: Don't worry if you don't understand the example above. You will learn more about Arrays later.
Java Break & Continue (I)

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.
The break statement can also be used to jump out of a loop.
This example jumps out of the loop when i is equal to 4:
for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  System.out.println(i);
}
Java Break & Continue (II)

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:


for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  System.out.println(i);
}
Java Arrays (I)

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;
Java Arrays (II)

Java Arrays

We have now declared a variable that holds an array of strings. To insert values to it, we can use
an array literal - 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};
Java Arrays (III)

Access the Elements of an Array

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


This statement accesses the value of the first element in cars:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]);
// Outputs Volvo

Note: Array indexes start with 0: [0] is the first element. [1] is the second element, etc.
Java Arrays (IV)

Change an Array Element

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

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


cars[0] = "Opel";
System.out.println(cars[0]);
// Now outputs Opel instead of Volvo
Java Arrays (V)

Array Length

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

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


System.out.println(cars.length);
// Outputs 4
Java Arrays (VI)

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:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length; i++) {
  System.out.println(cars[i]);
}
Java Arrays (VII)

Loop Through an Array with For-Each

There is also a "for-each" loop, which is used exclusively to loop through elements in arrays:

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


for (String i : cars) {
  System.out.println(i);
}
Java Arrays (VIII)

Multidimensional Arrays

A multidimensional array is an array containing one or more arrays.


To create a two-dimensional array, add each array within its own set of curly braces:

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

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


Java Arrays (XI)

Multidimensional Arrays

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:

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


int x = myNumbers[1][2];
System.out.println(x); // Outputs 7
Java Arrays (XII)

Multidimensional Arrays
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):
public class MyClass {
  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 Exceptions (I)

Java Exceptions

When executing Java code, different errors can occur: coding errors made by the programmer,
errors due to wrong input, or other unforeseeable things.
When an error occurs, Java will normally stop and generate an error message. The technical term
for this is: Java will throw an exception (throw an error).
Java Exceptions (II)

Java Exceptions
In the below example, an error will be generated because myNumbers[10] does not exist.

public class MyClass {


public static void main(String[ ] args) {
int[] myNumbers = {1, 2, 3};
System.out.println(myNumbers[10]); // error!
}
}

The output will be something like this:


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10 at MyClass.main(MyClass.java:4)
Java Exceptions (III)

Java try and catch


The try statement allows you to define a block of code to be tested for errors while it is being executed.
The catch statement allows you to define a block of code to be executed, if an error occurs in the try
block.
The try and catch keywords come in pairs:

try {
// Block of code to try
}
catch(Exception e) {
// Block of code to handle errors
}
Java Exceptions (IV)

Java try and catch


If an error occurs, we can use try...catch to catch the error and execute some code to handle it:

public class MyClass {


public static void main(String[ ] args) {
try {
The output will be:
int[] myNumbers = {1, 2, 3}; Something went wrong.
System.out.println(myNumbers[10]);
}
catch (Exception e) {
System.out.println("Something went wrong.");
}
}
}
Java Exceptions (V)

Finally
The finally statement lets you execute code, after try...catch, regardless of the result:
public class MyClass {
public static void main(String[] args) {
try {
int[] myNumbers = {1, 2, 3};
The output will be:
System.out.println(myNumbers[10]);
} Something went wrong.
catch (Exception e) { The 'try catch' is finished.
System.out.println("Something went wrong.");
}
finally {
System.out.println("The 'try catch' is finished.");
}
}
}
Java Exceptions (VI)

The throw keyword


The throw statement allows you to create a custom error.
The throw statement is used together with an exception type. There are many exception types
available in Java: ArithmeticException, FileNotFoundException, ArrayIndexOutOfBoundsException,
SecurityException, etc.
Java Exceptions (VII)

The throw keyword


Throw an exception if age is below 18 (print "Access denied"). If age is 18 or older, print "Access granted":
public class MyClass {
static void checkAge(int age) {
if (age < 18) {
throw new ArithmeticException("Access denied – The output will be:
You must be at least 18 years old.");
} Exception in thread "main"
else {
System.out.println("Access granted - You are java.lang.ArithmeticException: Access denied -
old enough!"); You must be at least 18 years old.
}
} at MyClass.checkAge(MyClass.java:4)
public static void main(String[] args) {
checkAge(15); at MyClass.main(MyClass.java:12)
// Set age to 15 (which is below 18...)
}
}
Java Methods (I)

Java Methods
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.
Java Methods (II)

Create a Method
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:

public class MyClass {


static void myMethod() {
// code to be executed
}
}
Java Methods (III)

Example Explained
• myMethod() is the name of the method
• static means that the method belongs to the MyClass class and not an object of the MyClass 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
Java Methods (IV)

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:
Inside main, call the myMethod() method:

public class MyClass {


static void myMethod() {
System.out.println("I just got executed!");
}
public static void main(String[] args) {
myMethod();
}
} // Outputs "I just got executed!"
Java Methods (V)

Call a Method
A method can also be called multiple times:

public class MyClass {


static void myMethod() {
System.out.println("I just got executed!");
}
public static void main(String[] args) {
myMethod();
myMethod();
myMethod();
}
} // Outputs "I just got executed!“ three times
Java Methods (VI)

Method Parameters
Information can be passed to functions 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.
Java Methods (VII)

Method Parameters
The example below 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:

public class MyClass {


static void myMethod(String fname) {
System.out.println(fname + " Refsnes");
}
public static void main(String[] args) {
myMethod("Liam"); myMethod("Jenny");
myMethod("Anja");
}
}
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes
Java Methods (VIII)

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:

public class MyClass {


static int myMethod(int x) {
return 5 + x;
}
public static void main(String[] args) {
System.out.println(myMethod(3));
}
} // Outputs 8 (5 + 3)
Java Methods (XI)

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

public class MyClass {


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 Methods (XII)

Return Values
You can also store the result in a variable (recommended):

public class MyClass {


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)
Thank you

You might also like