Commits correspond to each exercise
- Maven project Hello World
- write main() entry-point function in another way
- Demonstrate String immutability
- Importance of order in String concatenation
- Widening and Narrowing (casting) examples
- How many primitive data types can equal 'a'?
- Demonstrate StringBuilder mutability (in contrast to String)
- String literal pool (use == to demonstrate equality)
- String equality with equals (use same examples from Exercise 8 for clarity)
- Default values (local vs instance)
- 3-5 ways to initialize an array
- 4 ways to initialize wrapper class (ex: Integer)
- Static/Instance initializer blocks (demonstrate calling order relative to constructor)
- Type Promotion (show one operator where it is used and one where it is not)
- x++ vs ++x
- Short-circuit vs Logical operator (ex: || vs |)
- Example where finally clause is not executed
- Create an infinite loop with for
- Examples of unary, binary, ternary operators
- Constructors -- demonstrate multiple constructors including usage of this()
- Constructors -- demonstrate usage of super()
- Multiple Inheritance (superclass vs interface)
- 4 kinds of interface methods (abstract, default, static, and private)
- 4 kinds of abstract class methods (abstract, non-abstract, static, and private)
- Convert array to List 2 ways (as List view and as new unique List)
- Use streams to sum integers 1-100 inclusive (ideally 2-3 different ways)
- Sort an ArrayList based on two properties (1st/2nd precedent)
- Generate 1000 random numbers btw 1 and 5, and return a Map with the results
- Streams - examples of using map and flatmap
- Get today's date in YYYY-MM-DD format
- Get today's date in YYYY-MM-DD format with timezone offset
- 2 ways to create a Thread (extend Thread/implement Runnable)
- Read a file line by line with BufferedReader
- Read all lines from file with Files utility class
- Use BufferedWriter to write to a file
- Write/read object to file via serialization/deserialization (include one static and one transient field)
- Example class that uses generics
- Synchronized function (counter example; test with ExecutorService)
- Repeat exercise 38 with a synchronized lock
- JDBC (code flow for calling a PreparedStatement and reading from ResultSet)