DOC PREVIEW
Penn CIT 591 - All the Operators

This preview shows page 1-2-20-21 out of 21 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

All the OperatorsPrecedencePostfix operatorsUnary prefix operatorsObject creation and castingMultiplicative operatorsAdditive operatorsShift operatorsRelational operatorsA beginner’s errorEquality and inequalityANDExclusive ORORThe ternary operatorThe assignment operators IThe assignment operators IIThe assignment operators IIIThe assignment operators IVWhat you need to knowThe EndJan 14, 2019All the Operators2PrecedenceAn operator with higher precedence is done earlier (prededes) one with lower precedenceA higher precedence is indicated with a lower number; zero is the highest precedenceMost of the time, operators with equal precedence are done left to rightExamples: 3 + 4 * 5 gives 23 10 - 5 - 2 gives 3Exceptions: unary operators, casts, assignment operators, the ternary operator: all done right to left3Postfix operatorsPostfix operators have the highest precedence(parameters) Parameter lists[ ] Brackets indicate indexing into an array. Accesses methods and variablesexpr++, expr-- Postincrement, postdecrement4Unary prefix operatorsUnary prefix operators have the next highest precedence:++expr Preincrement--expr Predecrement+ - Unary plus and unary minus ! Logical negation (not)~ Bitwise complement (invert every bit)5Object creation and casting new Create a new instance of a class (type) Cast (convert) to the given typeSlides are in order of decreasing precedenceHigher precedence means “more tightly bound”The lowest precedence operator is the “main” operator in an expressionFrequently the lowest precedence operator is assignment, for example x = y + z;6Multiplicative operators* Multiply/ Divide% ModulusThese all have the same precedence7Additive operators+ Add- Subtract8Shift operators<< Left shift, end offFor small integers, this is equivalent to multiplying by a power of twoExample: 100 << 3 gives 800>> Right shift with sign extensionFor small integers, this is equivalent to an integer divide by a power of twoExample: 100 >> 2 gives 25>>> Right shift with zero fillDoes not make sense for numbers9Relational operators< Less than<= Less than or equal to> Greater than>= Greater than or equal toinstanceof Left operand is an object whose type (class or interface) is the right operandThese all have the same precedence, and it is higher than equality/inequality tests10A beginner’s errorif (0 <= i < a.length) { ... }Operations are done left to right0 <= i will be either true or falseNeither true < a.length nor false < a.length is legalThe correct expression should beif (0 <= i && i < a.length) { ... }11Equality and inequality== Test if equalFor primitive types, tests if the values are equalFor objects, tests if both sides refer to the same object!= Test if not equalFor primitive types, tests if the values are unequalFor objects, tests if the sides refer to different objectsReminder: these tests should not be used on floating-point numbers (float or double)12AND& ANDFor integral types, ANDs each corresponding pair of bits0 & 0 == 00 & 1 == 01 & 0 == 01 & 1 == 1For booleans, performs the logical AND operationBoolean & is like &&, but both operands are evaluated, even if it is possible to decide the result from the left operand alone13Exclusive OR^ XORFor integral types, XORs each corresponding pair of bits0 ^ 0 == 00 ^ 1 == 11 ^ 0 == 11 ^ 1 == 0For booleans, performs the logical XOR operationa ^ b is true if either a is true or b is true, but not bothThere is no ^^ operation14OR| ORFor integral types, ORs each corresponding pair of bits0 | 0 == 00 | 1 == 1 1 | 0 == 1 1 | 1 == 1For booleans, performs the logical OR operationBoolean | is like ||, but both operands are evaluated, even if it is possible to decide the result from the left operand alone15The ternary operatorboolean-expr ? expression-1 : expression-2This is like if-then-else for values rather than for statementsIf the boolean-expr evaluates to true, the result is expression-1, else it is expression-2Example: max = a > b ? a : b ; sets the variable max to the larger of a and b expression-1 and expression-2 need not be the same type, but either result must be useableThe ternary operator is right associative!To avoid confusion, use parentheses if your expression has more than one ternary operator16The assignment operators IThe assignment operators have the lowest precedenceAssignment is an operationAssignment is right associativea = b = c = 7.5 * w;assigns 7.5*w to c, then assigns c to b, then assigns b to a – if all these assignments are legalExample: if ((line = reader.newLine()) == null) { ... }17The assignment operators IIThere are a lot of assignment operations besides =variable += expression means the same as variable = variable + expressionvariable -= expression means the same as variable = variable - expressionvariable *= expression means the same as variable = variable * expressionvariable /= expression means the same as variable = variable / expression18The assignment operators IIIvariable %= expression means the same as variable = variable % expressionvariable <<= expression means the same as variable = variable << expressionvariable >>= expression means the same as variable = variable >> expressionvariable >>>= expression means the same as variable = variable >>> expression19The assignment operators IVvariable &= expression means the same as variable = variable & expressionvariable |= expression means the same as variable = variable | expressionvariable ^= expression means the same as variable = variable ^ expression20What you need to knowYou should understand what each operator doesParameter lists, array indexing, casting, postfix ++ and --, and the dot operator are done firstIn particular, a cast refers to the one following entity, so to cast the result of an expression you need extra parenthesesExample 1: variable = (type)(expression);Example 2: variable = ((type)variable).method();In arithmetic, the unary operators + and – are done first, then multiplication and division, then addition and subtractionAll assignment operators are done lastFor anything else, it’s a good idea to use parentheses anyway (even if you remember the order of precedence, other people won’t)21The


View Full Document

Penn CIT 591 - All the Operators

Documents in this Course
Stacks

Stacks

11 pages

Arrays

Arrays

30 pages

Arrays

Arrays

29 pages

Applets

Applets

24 pages

Style

Style

33 pages

JUnit

JUnit

23 pages

Java

Java

32 pages

Access

Access

18 pages

Methods

Methods

29 pages

Arrays

Arrays

32 pages

Methods

Methods

9 pages

Methods

Methods

29 pages

Vectors

Vectors

14 pages

Eclipse

Eclipse

23 pages

Vectors

Vectors

14 pages

Recursion

Recursion

24 pages

Animation

Animation

18 pages

Animation

Animation

18 pages

Static

Static

12 pages

Eclipse

Eclipse

23 pages

JAVA

JAVA

24 pages

Arrays

Arrays

29 pages

Animation

Animation

18 pages

Numbers

Numbers

21 pages

JUnit

JUnit

23 pages

Access

Access

18 pages

Applets

Applets

24 pages

Methods

Methods

30 pages

Buttons

Buttons

20 pages

Java

Java

31 pages

Style

Style

28 pages

Style

Style

28 pages

Load more
Download All the Operators
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view All the Operators and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view All the Operators 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?