Skip to main content

Conditional Logic, Block Statements and Looping

Arithmetic Operators​

Basic​

Produce a result, no impact on values used.

1 + 2 = 3
5 - 4 = 1
4 * 2 = 8
13.0 / 5.0 = 2.6
13 / 5 - 2
13 % 5 = 3

Prefix & Postfix​

Increase or decrease a value, replace original value.

int a = 5;
System.out.println(++a); // 6, increase before being used in an expression
System.out.println(a); // 6

int b = 5;
System.out.println(b++); // 5
System.out.println(b); // 6, increase after being used

Compound Assignment​

Operate on a value, replace original value.

+= -= *= /= %=

Operator Precedence​

Postfix (X++, X--) →\rightarrow Prefix (++X, --X) →\rightarrow Multiplicative (* / %) →\rightarrow Additive (+ -)

Logical Operators​

OperatorWhat resolves to true
AND&true & true
OR|false | true true | false true | true
XOR (exclusive or)^false ^ true true ^ false
NOT!false

Conditional Logical Operators​

Similar to standard logical operators. Right side executes only when needed:

  • && executes right only when left is true
  • || executes right only when left is false
OperatorWhat resolves to true
AND&&true && true
OR||false || true true || ----

Q: So what's so different?

A: When you use &, both sides are executed. With &&, right side is not always be executed. Consider below example:

// this could crash if denom == 0, cause divided by 0 is not allowed
if ( denom != 0 & numer / denom > 10 ) {
}
// so, you should do this
if ( denom != 0 && numer / denom > 10 ) {
}

Condition Logic​

Relational Operators​

> >= < <= == !=

Conditional Assignment​

result = condition ? true-value : false-value;

If-else​

if ( condition ) {
statement;
}
else if ( condition ) {
statement;
}
else {
statement;
}

Block​

Use { and } to create block.

Block and Variable Scope​

Variable scope is limited to block.

Switch​

Only primitive types supported (byte, short, int, long, char)

switch (value-to-test) {
case matching-value-1:
statements
break;
.
.
.
case matching-value-N:
statements
break;
default:
statements
}

Looping​

While​

while ( condition ) {
statement;
}

Do-while​

do {
statment;
} while ( condition );

For​

for (initialize; condition; update) {
statement;
}

For-each​

for ( loop-variable : array ) {
statement;
}