[go: up one dir, main page]

0% found this document useful (0 votes)
29 views37 pages

Chapter 4

The document discusses different types of operators in Java including arithmetic, bitwise, relational, logical, and assignment operators. It provides examples of using each operator type and explains their functionality.

Uploaded by

gehaf92842
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)
29 views37 pages

Chapter 4

The document discusses different types of operators in Java including arithmetic, bitwise, relational, logical, and assignment operators. It provides examples of using each operator type and explains their functionality.

Uploaded by

gehaf92842
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/ 37

Chapter4

Operators
Operators
• Most of the operators divided in four groups:
• Arithmetic
• Bitwise
• Relational
• logical
Arithmetic Operators

• Note: Arithmetic operators must be used with numeric and char data types.
Arithmetic Operators
// Demonstrate the basic arithmetic operators.
class BasicMath {
public static void main(String args[]) {
// arithmetic using integers
System.out.println("Integer Arithmetic");
int a = 1 + 1;
int b = a * 3;
int c = b / 4;
int d = c - a;
int e = -d;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
Arithmetic Operators
// arithmetic using doubles
System.out.println("\nFloating Point Arithmetic");
double da = 1 + 1;
double db = da * 3;
double dc = db / 4;
double dd = dc - a;
double de = -dd;
System.out.println("da = " + da);
System.out.println("db = " + db);
System.out.println("dc = " + dc);
System.out.println("dd = " + dd);
System.out.println("de = " + de);
}
}
Arithmetic Operators
• When you run this program, you will see the following output:
Integer Arithmetic
a=2
b=6
c=1
d = -1
e=1
Floating Point Arithmetic
da = 2.0
db = 6.0
dc = 1.5
dd = -0.5
de = 0.5
Arithmetic Operators – Modulus operator
• It can be applied to floating-point types as well as integer types
Arithmetic Compound Assignment Operators
• Syntax:
var op = expression;
Example: a= a+4;  a+=4;
• Advantages:
• they save you a bit of typing, because they are “shorthand”
• implemented more efficiently by the Java run-time system
Arithmetic Compound Assignment Operators
Arithmetic Operators – Increment & Decrement
• The increment operator increases its operand by one.
• Example: x=x+1;  x++;
• The decrement operator decreases its operand by one.
• Example: x=x-1;  x--;
• Used in prefix and postfix forms
Arithmetic Operators – Increment & Decrement
Bitwise Operators
• applied to the integer types, long, int, short, char, and byte
Bitwise Operators
• Java uses an encoding known as two’s complement, which means
that negative numbers are represented by inverting (changing 1’s
to 0’s and vice versa) all of the bits in a value, then adding 1 to the
result.
• For example,
• –42 is represented by inverting all of the bits in 42, or 00101010,
which yields 11010101, then adding 1, which results in 11010110,
or –42.
• To decode a negative number, first invert all of the bits, then add
1. For example, –42, or 11010110 inverted, yields 00101001, or 41,
so when you add 1 you get 42.
Bitwise Operators
Bitwise Operators
Bitwise Operators
Bitwise Operators
Bitwise Operators
Bitwise Operators- Left Shift
• left shift operator, <<, shifts all of the bits in a value to the left a specified
number of times.
• It has this general form:
value << num
• For each shift left, the high-order bit is shifted out (and lost), and a zero is
brought in on the right.
• 23<<1
Bitwise Operators- Left Shift
// Left shifting a byte value.
class ByteShift {
public static void main(String args[]) {
byte a = 64, b;
int i;
i = a << 2;
b = (byte) (a << 2);
System.out.println("Original value of a: " + a);
System.out.println("i and b: " + i + " " + b);
}
}
• The output generated by this program is shown here:
Original value of a: 64
i and b: 256 0
Bitwise Operators- Left Shift
Bitwise Operators- Right Shift
• The right shift operator, >>, shifts all of the bits in a value to the right a
specified number of times.
• Its general form is shown here:
value >> num
• Example,
int a = 32;
a = a >> 2; // a now contains 8
• When a value has bits that are “shifted off,” those bits are lost.
Bitwise Operators- Unsigned Right Shift
• right operator, >>>, which always shifts zeros into the high-order bit
Bitwise Operators- Compound Assignments
• a = a >> 4;  a >>= 4; class OpBitEquals {
• a = a | b;  a |= b; public static void main(String args[]) {
int a = 1;
int b = 2;
int c = 3;
a |= 4;
b >>= 1;
c <<= 1;
a ^= c;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
The output of this program is shown here:
a=3
b=1
c=6
Relational Operators
Relational Operators
Relational Operators
Boolean Logical Operators
Boolean Logical Operators
Boolean Logical Operators
Boolean Logical Operators- Short-Circuit Logical Operators
• Short circuit AND - &&
• Short circuit OR - ||

• Java will not bother to evaluate the right-hand operand when the outcome
of the expression can be determined by the left operand alone.
• Example:
if (denom != 0 && num / denom > 10)

• if(c==1 && e++ < 100) d = 100;


Assignment Operator
• Syntax:
• var = expression;
• Example:
• int x, y, z;
• x = y = z = 100; // set x, y, and z to 100
? Operator
• ternary (three-way) operator that can replace certain types of if-then-else
statements
• The ? has this general form:
expression1 ? expression2 : expression3
• Here, expression1 can be any expression that evaluates to a boolean value.
If expression1 is true, then expression2 is evaluated; otherwise, expression3
is evaluated.
• Both expression2 and expression3 are required to return the same type,
which can’t be void.
• Example:
ratio = denom == 0 ? 0 : num / denom;
? Operator
Operator Precedence
disclaimer

 These slides are not original and have been prepared from various sources
for teaching purpose.
Sources:
 Herbert Schildt, Java™: The Complete Reference
Thank You….

You might also like