Java
Getting Started
Hello.java {.row-span-2}
public class Hello { // main method public static void main(String[] args) { // Output: Hello, world! System.out.println("Hello, world!"); }}Compiling and running
$ javac Hello.java$ java HelloHello, world!Variables
int num = 5;float floatNum = 5.99f;char letter = 'D';boolean bool = true;String site = "cheatsheets.zip";Primitive Data Types {.row-span-2}
| Data Type | Size | Default | Range |
|---|---|---|---|
byte | 1 byte | 0 | -128 ^to^ 127 |
short | 2 byte | 0 | -2^15^ ^to^ 2^15^-1 |
int | 4 byte | 0 | -2^31^ ^to^ 2^31^-1 |
long | 8 byte | 0 | -2^63^ ^to^ 2^63^-1 |
float | 4 byte | 0.0f | N/A |
double | 8 byte | 0.0d | N/A |
char | 2 byte | \u0000 | 0 ^to^ 65535 |
boolean | N/A | false | true / false |
{.show-header}
Strings
String first = "John";String last = "Doe";String name = first + " " + last;System.out.println(name);See: Strings
Loops
String word = "CheatSheets";for (char c: word.toCharArray()) { System.out.print(c + "-");}// Outputs: C-h-e-a-t-S-h-e-e-t-s-See: Loops
Arrays
char[] chars = new char[10];chars[0] = 'a'chars[1] = 'b'
String[] letters = {"A", "B", "C"};int[] mylist = {100, 200};boolean[] answers = {true, false};See: Arrays
Swap
int a = 1;int b = 2;System.out.println(a + " " + b); // 1 2
int temp = a;a = b;b = temp;System.out.println(a + " " + b); // 2 1Type Casting
// Widening// byte<short<int<long<float<doubleint i = 10;long l = i; // 10
// Narrowingdouble d = 10.02;long l = (long)d; // 10
String.valueOf(10); // "10"Integer.parseInt("10"); // 10Double.parseDouble("10"); // 10.0Conditionals
int j = 10;
if (j == 10) { System.out.println("I get printed");} else if (j > 10) { System.out.println("I don't");} else { System.out.println("I also don't");}See: Conditionals
User Input
Scanner in = new Scanner(System.in);String str = in.nextLine();System.out.println(str);
int num = in.nextInt();System.out.println(num);Java Strings
Basic
String str1 = "value";String str2 = new String("value");String str3 = String.valueOf(123);Concatenation
String s = 3 + "str" + 3; // 3str3String s = 3 + 3 + "str"; // 6strString s = "3" + 3 + "str"; // 33strString s = "3" + "3" + "23"; // 3323String s = "" + 3 + 3 + "23"; // 3323String s = 3 + 3 + 23; // Incompatible typesStringBuilder {.row-span-3}
StringBuilder sb = new StringBuilder(10);
┌───┬───┬───┬───┬───┬───┬───┬───┬───┐| | | | | | | | | |└───┴───┴───┴───┴───┴───┴───┴───┴───┘0 1 2 3 4 5 6 7 8 9sb.append("QuickRef");
┌───┬───┬───┬───┬───┬───┬───┬───┬───┐| Q | u | i | c | k | R | e | f | |└───┴───┴───┴───┴───┴───┴───┴───┴───┘0 1 2 3 4 5 6 7 8 9sb.delete(5, 9);
┌───┬───┬───┬───┬───┬───┬───┬───┬───┐| Q | u | i | c | k | | | | |└───┴───┴───┴───┴───┴───┴───┴───┴───┘0 1 2 3 4 5 6 7 8 9sb.insert(0, "My ");
┌───┬───┬───┬───┬───┬───┬───┬───┬───┐| M | y | | Q | u | i | c | k | |└───┴───┴───┴───┴───┴───┴───┴───┴───┘0 1 2 3 4 5 6 7 8 9sb.append("!");
┌───┬───┬───┬───┬───┬───┬───┬───┬───┐| M | y | | Q | u | i | c | k | ! |└───┴───┴───┴───┴───┴───┴───┴───┴───┘0 1 2 3 4 5 6 7 8 9Comparison
String s1 = new String("cheatsheets.zip");String s2 = new String("cheatsheets.zip");
s1 == s2 // falses1.equals(s2) // true
"AB".equalsIgnoreCase("ab") // trueManipulation
String str = "Abcd";
str.toUpperCase(); // ABCDstr.toLowerCase(); // abcdstr.concat("#"); // Abcd#str.replace("b", "-"); // A-cd
" abc ".trim(); // abc"ab".toCharArray(); // {'a', 'b'}Information
String str = "abcd";
str.charAt(2); // cstr.indexOf("a") // 0str.indexOf("z") // -1str.length(); // 4str.toString(); // abcdstr.substring(2); // cdstr.substring(2,3); // cstr.contains("c"); // truestr.endsWith("d"); // truestr.startsWith("a"); // truestr.isEmpty(); // falseImmutable
String str = "hello";str.concat("world");
// Outputs: helloSystem.out.println(str);String str = "hello";String concat = str.concat("world");
// Outputs: helloworldSystem.out.println(concat);Once created cannot be modified, any modification creates a new String
Java Arrays
Declare
int[] a1;int[] a2 = {1, 2, 3};int[] a3 = new int[]{1, 2, 3};
int[] a4 = new int[3];a4[0] = 1;a4[2] = 2;a4[3] = 3;Modify
int[] a = {1, 2, 3};System.out.println(a[0]); // 1
a[0] = 9;System.out.println(a[0]); // 9
System.out.println(a.length); // 3Loop (Read & Modify)
int[] arr = {1, 2, 3};for (int i=0; i < arr.length; i++) { arr[i] = arr[i] * 2; System.out.print(arr[i] + " ");}// Outputs: 2 4 6Loop (Read)
String[] arr = {"a", "b", "c"};for (String a: arr) { System.out.print(a + " ");}// Outputs: a b cMultidimensional Arrays
int[][] matrix = { {1, 2, 3}, {4, 5} };
int x = matrix[1][0]; // 4// [[1, 2, 3], [4, 5]]Arrays.deepToString(matrix);
int[][] a = matrix;for (int i = 0; i < a.length; ++i) { for(int j = 0; j < a[i].length; ++j) { System.out.println(a[i][j]); }}// Outputs: 1 2 3 4 5 6 7Sort
char[] chars = {'b', 'a', 'c'};Arrays.sort(chars);
// [a, b, c]Arrays.toString(chars);Java Conditionals
Operators {.row-span-2}
{.marker-none .cols-4}
{.marker-none .cols-4}
{.marker-none .cols-4}
{.marker-none}
{.marker-none .cols-4}
If else
int k = 15;if (k > 20) { System.out.println(1);} else if (k > 10) { System.out.println(2);} else { System.out.println(3);}Switch {.row-span-2}
int month = 3;String str;switch (month) { case 1: str = "January"; break; case 2: str = "February"; break; case 3: str = "March"; break; default: str = "Some other month"; break;}
// Outputs: Result MarchSystem.out.println("Result " + str);Ternary operator
int a = 10;int b = 20;int max = (a > b) ? a : b;
// Outputs: 20System.out.println(max);Java Loops
For Loop
for (int i = 0; i < 10; i++) { System.out.print(i);}// Outputs: 0123456789for (int i = 0,j = 0; i < 3; i++,j--) { System.out.print(j + "|" + i + " ");}// Outputs: 0|0 -1|1 -2|2Enhanced For Loop
int[] numbers = {1,2,3,4,5};
for (int number: numbers) { System.out.print(number);}// Outputs: 12345Used to loop around array’s or List’s
While Loop
int count = 0;
while (count < 5) { System.out.print(count); count++;}// Outputs: 01234Do While Loop
int count = 0;
do { System.out.print(count); count++;} while (count < 5);// Outputs: 01234Continue Statement
for (int i = 0; i < 5; i++) { if (i == 3) { continue; } System.out.print(i);}// Outputs: 01245Break Statement
for (int i = 0; i < 5; i++) { System.out.print(i); if (i == 3) { break; }}// Outputs: 0123Java Collections Framework
Java Collections {.col-span-2}
| Collection | Interface | Ordered | Sorted | Thread safe | Duplicate | Nullable |
|---|---|---|---|---|---|---|
| ArrayList | List | Y | N | N | Y | Y |
| Vector | List | Y | N | Y | Y | Y |
| LinkedList | List, Deque | Y | N | N | Y | Y |
| CopyOnWriteArrayList | List | Y | N | Y | Y | Y |
| HashSet | Set | N | N | N | N | One null |
| LinkedHashSet | Set | Y | N | N | N | One null |
| TreeSet | Set | Y | Y | N | N | N |
| CopyOnWriteArraySet | Set | Y | N | Y | N | One null |
| ConcurrentSkipListSet | Set | Y | Y | Y | N | N |
| HashMap | Map | N | N | N | N (key) | One null (key) |
| HashTable | Map | N | N | Y | N (key) | N (key) |
| LinkedHashMap | Map | Y | N | N | N (key) | One null (key) |
| TreeMap | Map | Y | Y | N | N (key) | N (key) |
| ConcurrentHashMap | Map | N | N | Y | N (key) | N |
| ConcurrentSkipListMap | Map | Y | Y | Y | N (key) | N |
| ArrayDeque | Deque | Y | N | N | Y | N |
| PriorityQueue | Queue | Y | N | N | Y | N |
| ConcurrentLinkedQueue | Queue | Y | N | Y | Y | N |
| ConcurrentLinkedDeque | Deque | Y | N | Y | Y | N |
| ArrayBlockingQueue | Queue | Y | N | Y | Y | N |
| LinkedBlockingDeque | Deque | Y | N | Y | Y | N |
| PriorityBlockingQueue | Queue | Y | N | Y | Y | N |
{.show-header .left-text}
ArrayList
List<Integer> nums = new ArrayList<>();
// Addingnums.add(2);nums.add(5);nums.add(8);
// RetrievingSystem.out.println(nums.get(0));
// Indexed for loop iterationfor (int i = 0; i < nums.size(); i++) { System.out.println(nums.get(i));}
nums.remove(nums.size() - 1);nums.remove(0); // VERY slow
for (Integer value : nums) { System.out.println(value);}HashMap
Map<Integer, String> m = new HashMap<>();m.put(5, "Five");m.put(8, "Eight");m.put(6, "Six");m.put(4, "Four");m.put(2, "Two");
// RetrievingSystem.out.println(m.get(6));
// Lambda forEachm.forEach((key, value) -> { String msg = key + ": " + value; System.out.println(msg);});HashSet
Set<String> set = new HashSet<>();if (set.isEmpty()) { System.out.println("Empty!");}
set.add("dog");set.add("cat");set.add("mouse");set.add("snake");set.add("bear");
if (set.contains("cat")) { System.out.println("Contains cat");}
set.remove("cat");for (String element : set) { System.out.println(element);}ArrayDeque
Deque<String> a = new ArrayDeque<>();
// Using add()a.add("Dog");
// Using addFirst()a.addFirst("Cat");
// Using addLast()a.addLast("Horse");
// [Cat, Dog, Horse]System.out.println(a);
// Access elementSystem.out.println(a.peek());
// Remove elementSystem.out.println(a.pop());Misc
Access Modifiers {.col-span-2}
| 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 |
{.show-header .left-text}
Regular expressions
String text = "I am learning Java";// Removing All Whitespacetext.replaceAll("\\s+", "");
// Splitting a Stringtext.split("\\|");text.split(Pattern.quote("|"));See: Regex in java
Comment
// I am a single line comment!
/*And I am amulti-line comment!*/
/** * This * is * documentation * comment */Keywords {.col-span-2}
abstractcontinuefornewswitchassertdefaultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile
{.marker-none .cols-6}
Math methods
| Method | Description |
|---|---|
Math.max(a,b) | Maximum of a and b |
Math.min(a,b) | Minimum of a and b |
Math.abs(a) | Absolute value a |
Math.sqrt(a) | Square-root of a |
Math.pow(a,b) | Power of b |
Math.round(a) | Closest integer |
Math.sin(ang) | Sine of ang |
Math.cos(ang) | Cosine of ang |
Math.tan(ang) | Tangent of ang |
Math.asin(ang) | Inverse sine of ang |
Math.log(a) | Natural logarithm of a |
Math.toDegrees(rad) | Angle rad in degrees |
Math.toRadians(deg) | Angle deg in radians |
Try/Catch/Finally
try { // something} catch (Exception e) { e.printStackTrace();} finally { System.out.println("always printed");}