The Equality and Relational Operators
The
equality and relational operators determine if one operand is greater than,
less than, equal to, or not equal to another operand. The majority of these
operators will probably look familiar to you as well. Keep in mind that you
must use "==", not "=", when testing if two primitive
values are equal.
== equal to
!= not equal to
> greater than
>= greater than or equal to
< less than
<= less than or equal to
The
following program, ComparisonDemo, tests the comparison operators:
class
ComparisonDemo {
public static void main(String[] args){
int value1 = 1;
int value2 = 2;
if(value1 == value2)
System.out.println("value1 ==
value2");
if(value1 != value2)
System.out.println("value1 !=
value2");
if(value1 > value2)
System.out.println("value1
> value2");
if(value1 < value2)
System.out.println("value1
< value2");
if(value1 <= value2)
System.out.println("value1
<= value2");
}
}
Output:
value1
!= value2
value1
< value2
value1
<= value2
The Conditional Operators
The
&& and || operators perform Conditional-AND and Conditional-OR
operations on two boolean expressions. These operators exhibit
"short-circuiting" behavior, which means that the second operand is
evaluated only if needed.
&&
Conditional-AND
||
Conditional-OR
The
following program, ConditionalDemo1, tests these operators:
class
ConditionalDemo1 {
public static void main(String[] args){
int value1 = 1;
int value2 = 2;
if((value1 == 1) && (value2 ==
2))
System.out.println("value1 is
1 AND value2 is 2");
if((value1 == 1) || (value2 == 1))
System.out.println("value1 is
1 OR value2 is 1");
}
}
Another conditional operator is ?:,
which can be thought of as shorthand for an if-then-else statement (discussed in
the Control Flow Statements section of this lesson). This operator is also
known as the ternary operator because it uses three operands. In the following
example, this operator should be read as: "If someCondition is true,
assign the value of value1 to result. Otherwise, assign the value of value2 to
result."
The
following program, ConditionalDemo2, tests the ?: operator:
class
ConditionalDemo2 {
public static void main(String[] args){
int value1 = 1;
int value2 = 2;
int result;
boolean someCondition = true;
result = someCondition ? value1 :
value2;
System.out.println(result);
}
}
Because
someCondition is true, this program prints "1" to the screen. Use the
?: operator instead of an if-then-else statement if it makes your code more
readable; for example, when the expressions are compact and without
side-effects (such as assignments).
The Type Comparison Operator instanceof
The
instanceof operator compares an object to a specified type. You can use it to
test if an object is an instance of a class, an instance of a subclass, or an
instance of a class that implements a particular interface.
The
following program, InstanceofDemo, defines a parent class (named Parent), a
simple interface (named MyInterface), and a child class (named Child) that
inherits from the parent and implements the interface. (Don't worry if you can't understand everything, we'll comeback to this later).
class
InstanceofDemo {
public static void main(String[] args) {
Parent obj1 = new Parent();
Parent obj2 = new Child();
System.out.println("obj1
instanceof Parent: "
+ (obj1 instanceof Parent));
System.out.println("obj1
instanceof Child: "
+ (obj1 instanceof Child));
System.out.println("obj1
instanceof MyInterface: "
+ (obj1 instanceof MyInterface));
System.out.println("obj2
instanceof Parent: "
+ (obj2 instanceof Parent));
System.out.println("obj2
instanceof Child: "
+ (obj2 instanceof Child));
System.out.println("obj2
instanceof MyInterface: "
+ (obj2 instanceof MyInterface));
}
}
class
Parent {}
class
Child extends Parent implements MyInterface {}
interface
MyInterface {}
Output:
obj1
instanceof Parent: true
obj1
instanceof Child: false
obj1
instanceof MyInterface: false
obj2
instanceof Parent: true
obj2
instanceof Child: true
obj2
instanceof MyInterface: true
When
using the instanceof operator, keep in mind that null is not an instance of
anything.
Summary of Operators
The following quick reference summarizes the operators supported
by the Java programming language.
Simple Assignment Operator
= Simple
assignment operator
Arithmetic Operators
+ Additive
operator (also used for String
concatenation)
- Subtraction
operator
* Multiplication
operator
/ Division
operator
% Remainder
operator
Unary Operators
+ Unary plus
operator; indicates positive value
(numbers are positive
without this, however)
- Unary minus
operator; negates an expression
++ Increment
operator; increments a value by 1
-- Decrement
operator; decrements a value by 1
! Logical
complement operator; inverts the
value of a boolean
Equality and Relational Operators
== Equal to
!= Not equal to
> Greater
than
>= Greater
than or equal to
< Less than
<= Less than
or equal to
Conditional Operators
&&
Conditional-AND
|| Conditional-OR
?: Ternary
(shorthand for if-then-else
statement)
Type Comparison Operator
instanceof
Compares an object to a
specified type
No comments:
Post a Comment