It ain't much, but it's honest work
Basic (with a bit of advanced) programming concepts and syntaxes for a noob to get started with programming in Java. Code is well commented for understanding.
Pre-requisite: Some familiarity with computer programming in any language.
The concepts are divided as:
- Basic(General Structure, print and backslash character constants, command line arguments, operators)
- Conditionals and Iteratives(Loops and other control flow statements including the conditional operator)
- Data Types(Numeric(including literals), char, boolean, final, typecasting, arrays, var, type wrappers, autoboxing)
- Classes
- Methods and attributes, constructors, access specifiers, varargs, inner and static classes, inheritance(including features and properties), references, abstract classes.
- String
- StringBuffer
- Console Input(Scanner, BufferedReader, Scanner vs BufferedReader)
- Exception Handling(try-catch & finally, throws, multi-catch, nested try statements, checked and unchecked exceptions, self defined exceptions)
- Interfaces(implementation, nested interfaces, inheriting interfaces, priority, partial implementation, default, private and static methods)
- Multithtreading(Concurrency and creating threads, interthread communication, synchronization, deadlock, and some functions for threads)
- Packages(Demonstrates the visibility of the members of a class and the classes itself with respect to inherited or non-inherited classes, and same or different packages)
- Enumerations(Uses, comparision with classes and some methods)
- OOPS_lab(Assignments done during my Java course)
Some references which helped me along the way:
- Java Documentation at Oracle
- Java (Beginner) Programming Tutorial by thenewboston
- Java: The Complete Reference - Eleventh Edition by Herbert Schildt
- Hackerrank, GeeksforGeeks, Stack Overflow, Javatpoint to name a few.
P.S:
- Some features/concepts discussed here are JDK version dependant. These features are indicated alongwith the version of JDK from which they are supported as
(JDKx)
,x
being the JDK version. - Since I have some background with C/C++ programming, I may involuntarily compare some concepts discussed here with that of in C/C++.
- Please ignore the typos in the commented sections without making any faces.