Sources:
Java All-In One Desk Reference For Dummies, Second Edition
Naming conventions
Variables/methods
Camel case where first word is uncapitalized:
myMethod
Classes
Camel case where first word is capitalized:
MyClass
Constants (variables declared using the final keyword)
Use all caps:
final int PI = 3.14;
Primitive types
Notes
- not objects
Primitive wrapper objects
int | Integer |
short | Short |
long | Long |
byte | Byte |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
since Java 1.5, conversion to and from wrapper objects is automatic
Parsing objects to primitive types
int x = Integer.parseInt("100");
Variables
Declare a constant
(variable that can only be assigned once)
final TYPE CONSTANTNAME;
Initializers
- Block of code that initializes variables
- Don’t use these, but you should be able to recognize them:
public int myNumber;
{
// code to initialize myNumber
}
Strings
Notes
- When doing a lot of string manipulation, use StringBuilder
- If you’re using threads, use StringBuffer
- String, StringBuilder, and StringBuffer all implement CharSequence interface
Lists
Notes
- use List (http://download.oracle.com/javase/tutorial/collections/interfaces/list.html)
- See below
- If you’ll be doing a lot of modification to your list/array (insertions, deletions, additions), use a LinkedList
Lists
List<String> myList = new ArrayList<String>();
myList.add(someString);
myList.get(int index);
myList.remove(int index);
myList.size();
myList.isEmpty();
Get the last element of a list
myList.get(myList.size() - 1);
Nested Lists
List<ArrayList<String>> listOlists = new ArrayList<ArrayList<String>>();
Nested Arrays
int scores[][] = new int[5][2];
scores[0][1] = 93;
scores[0][2] = 74;
Associative arrays
Use Map (http://download.oracle.com/javase/tutorial/collections/interfaces/map.html)
Map<String, Integer> m = new HashMap<String, Integer>();
m.put("key", value);
m.get("key");
m.isEmpty();
m.containsKey("key");
Simpler usage:
Map map = new HashMap();
Iterate over a Map
-
Java 8+:
nameCounts.forEach((key, value) -> { doSomething(key, value); });
-
< Java 8: Iterate through a HashMap
Sort a Map by value
Sort a Map<Key, Value> by values
Loops
For loop
for (int i=1; i<11; i++) {
System.out.println("Count is: " + i);
}
(counts from 1 to 10)
Enhanced for loop
for (type identifier : array) {
}
String[] things = { "first thing", "second thing", "third thing" };
for (String thing : things) {
System.out.println(thing);
}
Conditionals
Format of if statements
if ( EXPRESSION ) {
doSomething();
} else if ( EXPRESSION ) {
doSomethingElse();
}
Note: the parentheses after the if statement are required.
Access
Modifier | Class | Package | Subclass | World |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
no modifier | Y | Y | N | N |
private | Y | N | N | N |
Exceptions
Catch the Exception class to get all exceptions
try {
doSomething();
} catch (Exception e) {
}
Useful methods of exceptions
String getMessage() | A text message that describes the error |
void PrintStackTrace() | Prints stack trace to stderr |
String toString() | Returns a description of the exception which includes the name of the exception class followed by a colon and the getMessage message |