0% found this document useful (0 votes)
5 views19 pages

Lecture -3

java

Uploaded by

Derrese Solomon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views19 pages

Lecture -3

java

Uploaded by

Derrese Solomon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Debre Tabor University

Faculty of Technology
Department of Electrical and Computer
Engineering

Object oriented programing


Lecture 3 : JAVA OPERATORS
What are Operators?
• Operators are special symbols used for
– mathematical functions
– assignment statements
– logical comparisons

• Examples:
3 + 5 // uses + operator
14 + 5 – 4 * (5 – 3) // uses +, -, * operators

• Expressions can be combinations of variables, primitives


and operators that result in a value
The Operator Groups

• There are 5 different groups of operators:

– Arithmetic operators
– Assignment operator
– Increment/Decrement operators
– Relational operators
– Conditional operators
Arithmetic Operators

• Java has 6 basic arithmetic operators


+ add
- subtract
* multiply
/ divide
% modulo (remainder)
^ exponent (to the power of)

• Order of operations (or precedence) when


evaluating an expression is the same as you
learned in school (PEMDAS).
Order of Operations
• Example: 10 + 15 / 5;

• The result is different depending on whether the


addition or division is performed first
(10 + 15) / 5 = 5
10 + (15 / 5) = 13

Without parentheses, Java will choose the


second case

• Note: you should be explicit and use


parentheses to avoid confusion
Integer Division

• In the previous example, we were


lucky that (10 + 15) / 5 gives an
exact integer answer (5).

• But what if we divide 63 by 35?

• Depending on the data types of the


variables that store the numbers,
we will get different results.
Integer Division Example
• int i = 63;
int j = 35;
System.out.println(i / j);
Output: 1

• double x = 63;
double y = 35;
System.out.println(x / y);
Ouput: 1.8

• The result of integer division is just


the integer part of the quotient!
Assignment Operator
• The basic assignment operator (=) assigns
the value of expr to var.
var = expr ;
• Java allows you to combine arithmetic and
assignment operators into a single
operator.
• Examples:
x = x + 5; is equivalent to x += 5;
y = y * 7; is equivalent to y *= 7;
Increment/Decrement Operators
count = count + 1;
can be written as:
++count; or count++;

++ is called the increment operator.

count = count - 1;
can be written as:
--count; or count--;

-- is called the decrement operator.


The increment/decrement operator has two forms:

– The prefix form ++count, --count


first adds 1 to the variable and then continues to any other
operator in the expression

int numOranges = 5;
int numApples = 10;
int numFruit;
numFruit = ++numOranges + numApples;
numFruit has value 16
numOranges has value 6

– The postfix form count++, count--


first evaluates the expression and then adds 1 to the variable

int numOranges = 5;
int numApples = 10;
int numFruit;
numFruit = numOranges++ + numApples;
numFruit has value 15
numOranges has value 6
Relational (Comparison) Operators
• Relational operators compare two values
• Produces a boolean value (true or false)
depending on the relationship

operation is true when . . .

a > b a is greater than b


a >= b a is greater than or equal to b
a == b a is equal to b
a != b a is not equal to b
a <= b a is less than or equal to b
a < b a is less than b
Examples of Relational Operations

int x = 3;
int y = 5;
boolean result;

1) result = (x > y);


now result is assigned the value false because
3 is not greater than 5

2) result = (15 == x*y);


now result is assigned the value true because the product of
3 and 5 equals 15

3) result = (x != x*y);
now result is assigned the value true because the product of
x and y (15) is not equal to x (3)
Conditional Operators
Symbol Name

&& AND
|| OR
! NOT

• Conditional operators can be referred to as boolean


operators, because they are only used to combine
expressions that have a value of true or false.
Truth Table for Conditional Operators
x y x && y x || y !x

True True True True False

True False False True False

False True False True True

False False False False True


Examples of Conditional Operators
boolean x = true;
boolean y = false;
boolean result;

1. Let result = (x && y);

now result is assigned the value false


(see truth table!)

2. Let result = ((x || y) && x);

(x || y) evaluates to true
(true && x) evaluates to true

now result is assigned the value true


Using && and ||

• Examples:
(a && (b++ > 3))
(x || y)

• Java will evaluate these expressions from


left to right and so will evaluate
a before (b++ > 3)
x before y

• Java performs short-circuit evaluation:


it evaluates && and || expressions from left
to right and once it finds the result, it stops.
Short-Circuit Evaluations
(a && (b++ > 3))
What happens if a is false?
• Java will not evaluate the right-hand expression (b++
> 3) if the left-hand operator a is false, since the
result is already determined in this case to be false.
This means b will not be incremented!

(x || y)
What happens if x is true?
• Similarly, Java will not evaluate the right-hand operator
y if the left-hand operator x is true, since the result is
already determined in this case to be true.
POP QUIZ
1) What is the value of number? -12
int number = 5 * 3 – 3 / 6 – 9 * 3;

2) What is the value of result? false


int x = 8;
int y = 2;
boolean result = (15 == x * y);

3) What is the value of result? true


boolean x = 7;
boolean result = (x < 8) && (x > 4);

4) What is the value of numCars? 27


int numBlueCars = 5;
int numGreenCars = 10;
int numCars = numGreenCars++ + numBlueCars + ++numGreeenCars;
References

• Summary of Java operators


http://java.sun.com/docs/books/tutorial/java/nutsandbolts/opsummary.html

• Order of Operations (PEMDAS)


1. Parentheses
2. Exponents
3. Multiplication and Division from left to right
4. Addition and Subtraction from left to right

You might also like