OOP- Lec-04
OOP- Lec-04
Operators in Java
Lecture 04
Faizan Abbas
FA/Lecture 04 Introduction to Computer Programming with Java
LEARNING OBJECTIVES:
2
FA/Lecture 04 Introduction to Computer Programming with Java
OPERATORS
Java provides a rich set of operators to manipulate variables. We can divide all the Java
operators into the following groups.
Assignment Operators
Arithmetic Operators
Relational Operators
Logical Operators
ASSIGNMENT OPERATOR
Assignment operators are used in Java to assign values to variables. For example,
int age;
age = 5;
The assignment operator assigns the value on its right to the variable on its left. Here, 5 is
assigned to the variable age using = operator.
There are other assignment operators too. However, to keep things simple, we will learn
other assignment operators later in this article.
1. class AssignmentOperator {
2. public static void main(String[] args) {
3.
4. int number1, number2;
5.
6. // Assigning 5 to number1
7. number1 = 5;
8. System.out.println(number1);
9.
3
FA/Lecture 04 Introduction to Computer Programming with Java
10. // Assigning value of variable number2 to number1
11. number2 = number1;
12. System.out.println(number2);
13. }
14. }
5
5
We have only discussed about one assignment operator = in the beginning of the article.
Except this operator, there are quite a few assignment operators that helps us to write
cleaner code.
+= x += 5 x=x+5
-= x -= 5 x=x-5
*= x *= 5 x=x*5
/= x /= 5 x=x/5
%= x %= 5 x=x/5
^= x ^= 5 x=x^5
|= x |= 5 x=x|5
4
FA/Lecture 04 Introduction to Computer Programming with Java
ARITHMETIC OPERATORS
Arithmetic operators are used to perform mathematical operations like addition,
subtraction, multiplication etc.
Operator Meaning
- Subtraction Operator
* Multiplication Operator
/ Division Operator
% Remainder Operator
5
FA/Lecture 04 Introduction to Computer Programming with Java
12. System.out.println("number1 - number2 = " + result);
13.
14. // Using multiplication operator
15. result = number1 * number2;
16. System.out.println("number1 * number2 = " + result);
17.
18. // Using division operator
19. result = number1 / number2;
20. System.out.println("number1 / number2 = " + result);
21.
22. // Using remainder operator
23. result = number1 % number2;
24. System.out.println("number1 % number2 = " + result);
25. }
26. }
In above example, all operands used are variables. However, it's not necessary at all.
Operands used in arithmetic operators can be literals as well. For example,
6
FA/Lecture 04 Introduction to Computer Programming with Java
9.
10. result = start + middle + end;
11. System.out.println(result);
12. }
13. }
UNARY OPERATORS
Unary operator performs operation on only one operand.
Operator Meaning
+ Unary plus (not necessary to use since numbers are positive without using it)
7
FA/Lecture 04 Introduction to Computer Programming with Java
15. // number is equal to 6.2 here.
16.
17. // -- number is equivalent to number = number - 1
18. System.out.println("number = " + --number);
19. // number is equal to 5.2 here.
20.
21. System.out.println("!flag = " + !flag);
22. // flag is still false.
23. }
24. }
+number = 5.2
-number = -5.2
number = 6.2
number = 5.2
!flag = true
You can also use ++ and -- operator as both prefix and postfix in Java. The ++ operator
increases value by 1 and -- operator decreases value by 1.
int myInt = 5;
++myInt // myInt becomes 6
myInt++ // myInt becomes 7
--myInt // myInt becomes 6
myInt-- // myInt becomes 5
Simple enough till now. However, there is a crucial difference while using increment and
decrement operator as prefix and postfix. Consider this example,
8
FA/Lecture 04 Introduction to Computer Programming with Java
10. System.out.println(number);
11. }
12. }
5.2
6.2
7.2
7.2
9
FA/Lecture 04 Introduction to Computer Programming with Java
Equality and relational operators are used in decision making and loops (which will be
discussed later). For now, check this simple example
Here, we have used > operator to check if number1 is greater than number2 or not.
Since, number2 is greater than number1, the expression number1 > number2 is evaluated to false.
Hence, the block of code inside else is executed and the block of code inside if is skipped.
10
FA/Lecture 04 Introduction to Computer Programming with Java
If you didn't understand the above code, don't worry. You will learn it in detail in Java
if...else article.
For now, just remember that the equality and relational operators compares two operands
and is evaluated to either true or false.
In addition to relational operators, there is also a type comparison operator instanceof which
compares an object to a specified type. For example,
INSTANCE OF OPERATOR
Here's an example of instanceof operator.
1. class instanceofOperator {
2. public static void main(String[] args) {
3.
4. String test = "asdf";
5. boolean result;
6.
7. result = test instanceof String;
8. System.out.println(result);
9. }
10. }
When you run the program, the output will be true. It's because test is the instance
of String class.
You will learn more about instanceof operator works once you understand Java Classes and
Objects.
LOGICAL OPERATORS
The logical operators || (conditional-OR) and && (conditional-AND) operates on boolean
expressions. Here's how they work.
11
FA/Lecture 04 Introduction to Computer Programming with Java
true
false
TERNARY OPERATOR
The conditional operator or ternary operator ?: is shorthand for if-then-else statement. The
syntax of conditional operator is:
12
FA/Lecture 04 Introduction to Computer Programming with Java
Leap year
13