Java
"Java is a simple, object-oriented, multi-threaded, garbage-collected, secure, robust, architecture-neutral, portable, high-performance, dynamic programming language."
-- This quote is from Arthur van Hoff, author of the Java compiler.
Hello World Application
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Hello World Applet
import java.applet.*;
import java.awt.*;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
// Display "Hello World!"
g.drawString("Hello world!", 50, 25);
}
}
Embedding Java Applet
My java Program
My Applet
Access Specifier
| Specifier |
class |
subclass |
package
| world |
| private |
X |
|
|
|
| protected |
X |
X |
X |
|
| public |
X |
X |
X |
X |
| package
| X |
|
X |
|
Primitve Data Types
| Type |
Size/Format |
Description |
| (whole numbers) |
byte | 8-bit two's complement | Byte-length integer |
short | 16-bit two's complement | Short integer |
int | 32-bit two's complement | Integer |
long | 64-bit two's complement | Long integer |
| (real numbers) |
float | 32-bit IEEE 754 | Single-precision floating point |
double | 64-bit IEEE 754 | Double-precision floating point |
| (other types) |
char | 16-bit Unicode character | A single character |
boolean | true or false | A boolean value (true or false) |
System Properties
| Key | Meaning |
| "file.separator" | File separator (for example, "/") |
| | |
| "java.class.path" | Java classpath |
| "java.class.version" | Java class version number |
| "java.home" | Java installation directory |
| "java.vendor" | Java vendor-specific string |
| "java.vendor.url" | Java vendor URL |
| "java.version" | Java version number |
| | |
| "line.separator" | Line separator |
| | |
| "os.arch" | Operating system architecture |
| "os.name" | Operating system name |
| "os.version" | Operating system version |
| | |
| "path.separator" | Path separator (for example, ":") |
| | |
| "user.dir" | User's current working directory |
| "user.home" | User home directory |
| "user.name" | User account name |
Expressions
| postfix operators | [] . (params) expr++ expr-- |
| unary operators | ++expr --expr +expr -expr ~ ! |
| creation or cast | new (type)expr |
| multiplicative | * / % |
| additive | + - |
| shift | << >> >>> |
| relational | < > <= >= instanceof |
| equality | == != |
| bitwise AND | & |
| bitwise exclusive OR | ^ |
| bitwise inclusive OR | | |
| logical AND | && |
| logical OR | || |
| conditional | ? : |
| assignment | = += -= *= /= %= &= ^= |= <<= >>= >>>= |
Summary of Operator Precedence
The operators in this table are listed in precedence order
| postfix operators | [] . (params) expr++ expr-- |
| unary operators | ++expr --expr +expr -expr ~ ! |
| creation or cast | new (type)expr |
| multiplicative | * / % |
| additive | + - |
| shift | << >> >>> |
| relational | < > <= >= instanceof |
| equality | == != |
| bitwise AND | & |
| bitwise exclusive OR | ^ |
| bitwise inclusive OR | | |
| logical AND | && |
| logical OR | || |
| conditional | ? : |
| assignment | = += -= *= /= %= &= ^= |= <<= >>= >>>= |
Control Flow Statements
| Statement Type |
Keyword |
| looping |
while, do-while , for |
| decision making |
if-else, switch-case |
| exception handling |
try-catch-finally, throw |
| branching |
break, continue, label:, return |
if-else
A simple if else
if (boolean expression) {
statements
} else {
statements
}
An if statement with multiple expressions and an else statement.
if (boolean expression) {
statements
} else if (boolean expression) {
statements
} else {
statements
}
An if-else if-else statement
if (testscore >= 90) {
grade = 'A';
} else if (testscore >= 80) {
grade = 'B';
} else if (testscore >= 70) {
grade = 'C';
} else if (testscore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
do - while
do {
statement
} while (expression);
for
for (expression) {
statement
}
switch
switch (integer expression) {
case integer expression:
statements
break;
...
default:
statements
break;
}
try catch - exeptions
try {
statements
} catch (exceptiontype name) {
statements
} catch (exceptiontype name) {
statements
} finally {
statements
}