| término   | definición   | 
        
        | empezar lección |  |   An expression is a combination of values, variables, operators and function calls. Expressions perform operations on data and move data around  |  |  | 
|  empezar lección how many oprands does a unary operator have?  |  |   1 eg E.g., the “minus” operator. - b where “-” is operator, and b operand  |  |  | 
|  empezar lección how many oprands does a binary operator have?  |  |   [1] A binary operator has two operands E.g., +, -, *, /... [2] In most languages, binary operators are infix, which means they appear between their operands [3] There are also operators that are prefix, i.e., they precede their operands.  |  |  | 
|  empezar lección What are the typical rules of precedence  |  |   [1] Parentheses: “(” “)” [2] Unary operators “++”, “--” [3] Unary operators “+” “-” [4] Binary operators “*”, “/” [5] Binary operators: “+” “-”  |  |  | 
|  empezar lección explain Operator Associativity Rules  |  |   The operator associativity rules for expression evaluation define the order in which “adjacent” operators of the same precedence levels are evaluated  |  |  | 
|  empezar lección when does and expression have side effects  |  |   We say an expression has a side effect if, in addition to return a value, it also modifies variables or causes something else to happen.  |  |  | 
|  empezar lección what is the genral syntax of the Assignment operator  |  |   <target_var> <assign_operator> <expression>  |  |  | 
|  empezar lección what are Compound Assignment Operators  |  |   [1] Compound means combining assignment with arithmetic operators. [2] It is a shorthand method of specifying a commonly needed form of assignment. [3] eg a = a + b writen as a += b  |  |  | 
|  empezar lección what is a Unary Assignment Operators  |  |   [1] Unary assignment operators in C-based languages combine increment and decrement operations with assignment eg count++ (count incremented by 1, i.e., count = count+1)  |  |  | 
| empezar lección |  |   Cast refers to type conversion that is explicitly requested by the programmer.  |  |  | 
| empezar lección |  |   [1] Coercion is an implicit type conversion that is initiated by the compiler. [2] The compiler checks the type compatibility of the assignment and changes the type of right side of the assignment.  |  |  | 
|  empezar lección what is a widening conversion  |  |   A widening conversion is one in which an object is converted to a type that allow any possible value of the original data (i.e., converting to a type takes a larger memory space)  |  |  | 
|  empezar lección what is A narrowing conversion  |  |   [1] usually done explicitly as a request from the programmers [3]e. g Java can convert int to short one needs to process the int value in a method design to work with short values. [4] The conversion is not safe (overflow may happen).  |  |  | 
|  empezar lección what are Relational operators  |  |   [1] Relational operator is a binary operator that compare the values of its operands and the result is a Boolean value True or False. [2] eg “Not Equal” operator could be one of these:!=,/=, ~=,. NE. or <>.  |  |  | 
|  empezar lección what is Short Circuit Evaluation  |  |   [1] expression eval' where the result is determined w/out eval'ng all of the operands and/or operators [2] (a>=0)&&(b<10) if (a<0), because (False && (b<0))is False for all value of b. Therefore, there is no need to evaluate (b<0)  |  |  |