Java For Beginners - 1st step towards becoming a Java Guru!
- Description
- Curriculum
- FAQ
- Reviews
A lot of efforts and time had been put in this course so that students can become Java experts very easily. All the lectures are arranged in a specific order to maximize the learning experience.
Along with 22.5 hours of Video lectures, you will find 70+ coding challenges and 100+ Quiz questions, which makes it a complete Core Java learning package.
See what fellow students have to say about this course:
+++++++++++++++++++++++++++++++++++++++++++++
“Great course! Everything is explained from scratch, starting with what happening at runtime in every code using class diagrams and white board. Teacher use lots of examples to explain every concept and he offers many tests and quiz after each section to verify your understanding. I recommend 100% this course!” – Mihof Gabriel Sorin
“I simply love the way he explains in details every single process” – Syed
“Thankful to Udayan, me to be a part of this course. Whatever the topics he had covered i learned a lot .He starts explaining conceptual then moves to practically which i feel better way to learn.He covered many loop holes in the course. The way he explained debugging of code is also superb .He even provided coding challenges and quiz which are more helpful .Based on , i feel one of the best course ever had.My suggestion for a beginner or an experienced this course grows your confidence levels. Please join and enjoy.” – Rashik Kumar
“Everything is very clear” – Tony Manrique
“This is the first online course I completed 🙂 This course covers all the concepts of core java with examples. All the topics were covered in in-depth and instructor is very knowledgeable.
This course has lots of exercises and quiz questions and these test the concepts learned in the given section. Best course not only for beginners but for intermediate learners as well. Instructor has covered lots of industry best practices to be followed in real world projects. Debugging techniques were covered in depth as well. One of the best courses I have ever had.” – Saandip
+++++++++++++++++++++++++++++++++++++++++++++
Being an inquisitive student myself, I always wanted to know why’s of everything. I sometimes got the answers, sometimes I didn’t.
In this course, I have tried to give why’s of most of the concepts. Rather than simply accepting the rules, if you know the reason behind, it is a lot more easier to understand.
In my teaching experience, I have observed that traditional black/white boards are extremely effective teaching aids, therefore I used lots of screen drawing to simulate the same classroom experience. In the lectures I have also included a lot of practical tips and tricks, best practices and dos and don’ts, which will help you in professional assignments.
*****************************************************************************************************************
I will start this course by downloading, installing and configuring required software.
Then in next section, I will help you to write your first Java program in text editor as well as Eclipse IDE and I will slowly cover following topics in detail:
-
Understand JVM, JRE and JDK
-
Javadoc and developer comments and their significance.
-
Variables, Data Types and Operators
-
Control Statements Types
-
Java arrays and Command-line arguments
-
Packages, classpath and User-input
-
Eclipse debugging in detail
-
Classes, objects, constructors, initialization blocks, type of variables, methods and Garbage collection
-
Object Oriented Programming Concepts: Encapsulation, Inheritance, Polymorphism and Abstraction
-
Access specifier, instanceof operator and casting
-
String, StringBuilder and Wrapper classes
-
Exception
-
Enums
To check the details of each topic, you can download course synopsis from Add-ons section.
If you want to get 100% out of this course, then I recommend to complete the sections in sequence, don’t jump :). Solve all the questions given in Video lectures along with Java Coding Challenge exercises, to practice your newly acquired skills. Attempt all the quiz questions provided at the end of each section to validate your knowledge.
Although respective source code is provided with the lectures; you can download complete workspace from Add-ons section.
If you have doubts, then please ask your questions in discussion board and I will reply to your queries within 24 – 48 hours.
Hope you enjoy this course and level up your Java expertise.
NOTE:
Modules were added in JDK 9 under the project codename JIGSAW. It itself is a vast topic to learn, which is not necessary at this time for learning core java concepts.
So, it is recommended to work with the latest JDK 8 release.
Once you are confident about your core concepts, then you can proceed with learning newly added features in JDK 9 onwards.
-
3Write your first java program in Notepad++Video lesson
In this lecture, you will:
- Write your first Java Program in Notepad++ (Text Editor), compile and run it using Windows command prompt.
- Learn some details regarding class file and how to execute it.
- Learn how to check and correct compilation errors.
-
4Write your first Java Program in Eclipse IDEVideo lesson
In this lecture, you will learn:
- To create a workspace folder in Eclipse.
- To open Package Explorer, Command view in Eclipse.
- To create a new Java Project and your first class.
- To compile and run java classes in Eclipse.
- To check compilation errors in Eclipse.
- Windows folder structure corresponding to Eclipse project, path for .java and .class files.
- Some of the cool shortcuts in Eclipse.
-
5Short explanation on JVM, JRE and JDKVideo lesson
In this lecture, you will learn:
- Development Steps we followed to write, compile and execute/run our first Java Program.
- Why JAVA is Write Once and Run Anywhere language?
- What are JVM, JRE and JDK?
-
6Dissection of MyFirstClass Java ProgramVideo lesson
In this lecture, you will learn:
- Explanation of MyFirstClass line by line.
- IDENTIFIERS in Java and their naming rules.
- Various keywords in Java.
- Explanation of main(String [] args) method in java.
- Difference between System.out.println(""); and System.out.print(""); statements.
- Few more cool Eclipse shortcuts.
-
7Comments in Java Program - 1Video lesson
This is one of the most important topics in learning Java. In this lecture, you will learn:
- About comments and why they are so important.
- Two types of comments: Javadoc and developer.
- How and where to add comments in your code?
- Various comment related syntax.
- What are TODO statements?
- To generate a help document using your Javadoc comments.
- To find out and use functionality of third party classes.
- How to open the current folder in Command prompt using Notepad++?
-
8Comments in Java Program - 2Video lesson
In this lecture, you will learn:
- How developer comments can help other developers / support staff to make changes in the code?
- Eclipse Shortcut to comment multiple lines of code.
- Download and use Java documentation of JDK 8.
-
9Quiz-01Quiz
-
10Literals and Variables - 1Video lesson
In this lecture you will learn:
- Integer Literals
- Floating-Point Literals
- Boolean Literals
- Character Literals
- How to use characters from other languages?
- How to change character encoding in Eclipse to print special characters on to the console.
-
11Literals and Variables - 2Video lesson
In this lecture you will learn:
- String Literals
- null Literal
- What is a variable in Java?
- Variable for Primitives and Object Reference
-
12Primitive Data Types in Java - 1Video lesson
In this lecture you will learn:
- Primitive types: byte, short, int and long
- How positive and negative numbers are stored in the memory?
- Convert decimal to binary
- 2's complement method
-
13Primitive Data Types in Java - 2Video lesson
In this lecture you will learn:
- Primitive types: float, double, char and boolean
- How integral values can be assigned to char type and vice versa?
-
14Operators in Java - 1Video lesson
In this lecture you will learn about:
- Arithmetic Plus (+) operator
- Implicit casting and explicit casting for primitive data types
-
15Operators in Java - 2Video lesson
In this lecture you will learn about:
- Remaining Arithmetic operators (-, *, /, %)
- Division(/) and remainder(%) operators with integral type and floating point numbers
- Unary operators (+, -, ++, --, !)
- Difference between Pre and Post increment/decrement operators
-
16Operators in Java - 3Video lesson
In this lecture you will learn about:
- Relational operators (>, >=, <, <=, ==, !=)
- Logical operators (&&, &, ||, |, ^, ?:)
- Truth table for &&, &
- Truth table for ||, |
- Truth table for ^
-
17Operators in Java - 4Video lesson
In this lecture you will learn about:
- Assignment operators (=, +=, -=, *=, /= and %=)
-
18Operator Precedence in JavaVideo lesson
In this lecture you will learn:
- Operator Precedence and Associativity
- How to solve an expression containing various operators?
-
19Quiz-02Quiz
-
20Selection Statements: if & if - elseVideo lesson
In this lecture you will learn:
- What are Control flow statements in Java
- Various Control flow statements
- if and if - else selection statements
- Interesting scenarios when curly brackets {} are not used
-
21Selection Statements: if - else if - elseVideo lesson
In this lecture you will learn about:
- if - else if - else selection statement.
- Solving a problem using either if, if - else or if - else if - else statement and decide which one to use.
-
22Selection Statements: switch - caseVideo lesson
In this lecture you will learn about:
- switch - case statement
- Solving same problem using if - else if - else statement AND switch-case statement
- fall-through
- Moving default block within switch
-
23Java Coding Challenge - 1Text lesson
-
24Looping Statements: while - 1Video lesson
In this lecture you will learn:
- Looping statements available in Java
- Syntax of while loop
- Working of while loop at runtime
- How while loop can reduce the lines of codes, if you have to execute certain statements multiple times
-
25Looping Statements: while - 2Video lesson
In this lecture you will learn:
Various boolean expressions used in while loop.
How to write infinite loops in Java?
Why while(false){...} block causes compilation error?
Why if(false){...} block doesn't cause compilation error?
-
26Java Coding Challenge - 2Text lesson
-
27Looping Statements: do - whileVideo lesson
In this lecture you will learn about:
- Syntax of do - while loop
- Working of do - while loop at runtime
- Differences between while and do - while loop
-
28Looping Statements: forVideo lesson
In this lecture you will learn:
- Syntax of for Loop
- Working of for loop at runtime
- How to Convert while loop to for loop
- How to access loop's counter variable outside loop's body?
- How to write an infinite for loop?
- Scenarios that cause "Unreachable code" error with for loop.
- Interesting examples on Step expression.
-
29Java Coding Challenge - 3Text lesson
-
30Nested Control and Labeled Statements - 1Video lesson
In this lecture you will learn:
- What are Nested Control Statements?
- Various Nested Control Statements available in Java.
- Nested if statements and nested for loops in detail.
- How Java runtime handles nested if statements?
- Interesting nested if-else example without curly brackets {}
- How to solve confusing nested if-else example asked in various tests.
- How Java runtime handles nested for loops?
-
31Nested Control and Labeled Statements - 2Video lesson
In this lecture you will learn:
What are multi-dimensional problems and how to solve these using for loops?
What are labeled statements?
Which statements can be labeled in Java?
Example of Labeled statements.
-
32Java Coding Challenge - 4Text lesson
-
33Branching Statements - 1Video lesson
In this lecture you will learn:
- What are branching statements and various branching statements available in java.
- break statement in detail.
- How java runtime handles break statement.
- How to change console buffer size in Eclipse IDE?
- Example of labeled break statement and how it is used to solve some tricy problems.
-
34Branching Statements - 2Video lesson
In this lecture you will learn:
- continue statement in detail.
- Example of labeled continue statement.
- How java runtime handles continue statement.
- return statement and how java runtime handles return statement.
-
35Quiz-03Quiz
-
36One-dimensional arrays - 1Video lesson
In this lecture you will learn:
- What is an array?
- Why we need an array?
- One-dimensional arrays
- Various syntaxes to declare One-dimensional array
- How to construct / instantiate One-dimensional array?
- How Java runtime handles declaration and instantiation of One-dimensional arrays?
- Difference between primitive arrays and Object arrays.
- Default values of primitive and reference types.
- How to read and modify array elements?
- Primitive type array example.
- What is an ArrayIndexOutOfBoundsException?
-
37One-dimensional arrays - 2Video lesson
In this lecture you will learn:
- Reference type array example.
- When array syntax throws ArrayIndexOutOfBoundsException and when it is a candidate for compilation error.
- What happens when primitive type, String type and Array reference types are passed to System.out.println(); statement.
-
38One-dimensional arrays - 3Video lesson
In this lecture you will learn:
- length property of an array object.
- Relationship between length property and last index of the array object.
- for loop to iterate through one-dimensional arrays.
-
39One-dimensional arrays - 4Video lesson
In this lecture you will learn:
- More use cases of array's length property.
- Use of concatenation operator in System.out.println() statement to get desired output.
- Use of for loop to assign related values to the array elements.
- Use of multiple comma separated statements in initialization and step expressions of for loop.
- One-dimensional array object instantiation with data.
- Final solution to average calculation problem.
-
40Java Coding Challenge - 5Text lesson
-
41Multi-dimensional arrays -1Video lesson
In this lecture you will learn:
- Various syntaxes to declare Multi-dimensional array
- Construct/Instantiate Two-Dimensional Arrays
- How Java runtime handles declaration and instantiation of Two-dimensional arrays?
- Array syntax throwing NullPointerException.
- What is an Asymmetrical Two-Dimensional array?
- What is a Symmetrical Two-Dimensional array?
- Syntax to construct Symmetrical Two-Dimensional array object.
-
42Multi-dimensional arrays -2Video lesson
In this lecture you will learn:
- Nested for loop to iterate through Two-dimensional arrays (Symmetrical OR Asymmetrical).
- More examples of Asymmetrical Two-Dimensional arrays.
- Two-dimensional array object instantiation with data.
-
43Java Coding Challenge - 6Text lesson
-
44Enhanced for-loop for Arrays - 1Video lesson
In this lecture you will learn:
- Syntax of enhanced for-loop.
- Use of enhanced for-loop to iterate through One-Dimensional array.
- How Java runtime handles enhanced for-loop for primitive and Object arrays.
- Limitations of enhanced for-loop.
-
45Enhanced for-loop for Arrays - 2Video lesson
In this lecture you will learn:
- Use of nested enhanced for-loops to iterate through Two-Dimensional array.
- How Java runtime handles nested enhanced for-loops.
-
46Command-line arguments - 1Video lesson
In this lecture you will learn:
- What are command-line arguments?
- Revision on compiling and executing Java programs in Command prompt.
- Array object of size 0.
- How to pass command-line arguments in Command prompt?
- How to pass command-Line arguments in Eclipse IDE?
-
47Command-line arguments - 2Video lesson
In this lecture you will learn:
- Example on practical use of command-line arguments.
- Converting String to int using parseInt method of Integer class.
- What is NumberFormatException and why it is thrown by parseInt method of Integer class.
- How to handle scenario of ArrayIndexOutOfBoundsException in command-line arguments.
-
48Java Coding Challenge - 7Text lesson
-
49Quiz-04Quiz
-
50Java Package and Classpath - 1Video lesson
In this lecture you will learn:
- How to use the functionality of third-party classes in our program?
- Issues with classes belonging to default packages.
- package syntax and its meaning.
- What are the requirements to run java classes declared with package syntax?
- javac -help to get help with javac command.
- -d option of javac command.
- Naming convention for package.
- Usage of reversed Internet domain to get unique Java class names.
-
51Java Package and Classpath - 2Video lesson
In this lecture you will learn:
- How Java Runtime finds the class files to execute?
- -cp and -classpath options of java command [To specify classes required for execution]
- Default value of -cp and -classpath option
- How to execute java classes from other directories / drives available on your laptop/computer?
- 3 ways to use packaged class from another class:
- Using fully qualified class name in code.
- By using fully qualified class name in import declaration.
- By using wild card (*) in import declaration.- Correct order of package, import and class declaration if all three are available.
- Where to put source code (.java) files?
- Java project structure followed across industry.
- Example to use class file from another project.
- -cp and -classpath options of javac command [To specify classes required for compilation]
- Use of relative path and absolute path with -cp and -classpath option.
- Bonus: Trick to open command prompt at any folder location in Windows.
-
52Java Package and Classpath - 3Video lesson
In this lecture you will learn:
- How to specify multiple paths in classpath option?
- Revision of all the cases covered in previous two lectures.
- Hands-on exercise on using packages.
- Bonus: tree command to see complete directory structure in tree-view.
-
53Java Package and Classpath - 4Video lesson
In this lecture you will learn:
- How Eclipse IDE arranges Java and class files declared in default package?
- .classpath file in every java project created by Eclipse IDE.
- How to build projects automatically in Eclipse?
- How to create packaged classes in Eclipse?
- How Eclipse IDE arranges Java and class files declared in packages?
- Restriction on the location of java files created in Eclipse.
- How to create packages in Eclipse?
- How to move java files from default package to a particular package?
-
54Java Package and Classpath - 5Video lesson
In this lecture you will learn:
- How to refer classes from other projects in Eclipse IDE and how does it affect .classpath file?
- Difference between Fully Qualified Name and Simple Name of the class.
- How import statement maps Simple Name of the class to its Fully Qualified Name at compile time?
- Restriction on the usage of multiple import statements, to point to same Simple Name of the classes in different packages.
- Order of class name resolution by the compiler:
- Inline usage of the fully qualified name of the class
- Fully qulified name of the class used in import statement
- Wildcard (*) used in import statement- Why Classes created in default package can't be used by packaged classes?
- How to delete a java project and associated project files in Eclipse?
- Implicit import of all the classes of java.lang package.
- How to export Java Projects from Eclipse Workspace?
- How to import Java Projects into Eclipse Workspace?
- How to do a clean build in Eclipse?
-
55User-input with Scanner - 1Video lesson
In this lecture you will learn:
- How to rename java projects in Eclipse IDE?
- How to accept byte, short, int, long, float, double and boolean values using java.util.Scanner class?
- java.util.InputMismatchException is thrown on providing out of range or incompatible values.
- How to close Scanner object?
- It is not possible to accept input on closed Scanner object, java.lang.IllegalStateException is thrown in such cases.
-
56User-input with Scanner - 2Video lesson
In this lecture you will learn:
- How to accept String data using nextLine() method?
- What is the issue of using nextLine() method after other next methods and how to resolve it?
-
57User-input with Scanner - 3Video lesson
In this lecture you will learn:
- How Strings are internally stored as char array in the memory?
- Use of length() and charAt(int index) methods of java.lang.String class to access all the characters of particular String object.
- Use of above two methods of String class to accept char value as user input.
- Ctrl + Shift + O shortcut to import all the classes in Eclipse.
-
58Miscellaneous - 1Video lesson
In this lecture you will learn:
- How to generate random numbers in Java using java.security.SecureRandom class.
- About some important methods of String class: length, charAt, equals, equalsIgnoreCase, toUpperCase, toLowerCase and trim.
- About code which can throw StringIndexOutOfBoundsException.
- What are whitespaces in Java?
- Use of Ctrl + Shift + R to Search and Open Project resources / files.
- About "Link with Editor" shortcut in Eclipse to link Package Explorer with Code Editor window.
-
59Java Coding Challenge - 8Text lesson
-
60Debugging Java codes in Eclipse - 1Video lesson
In this lecture you will learn:
- What is debugging?
- How to show line numbers in the code editor?
- What is a breakpoint and how to place it?
- How to run java programs in debug mode?
- How to switch between debug perspective and Java perspective?
- Variables tab and how it helps to check current values of the variables and also to change the variable values.
- How to Resume or Terminate the program during debugging?
- Breakpoints tab and how it helps to remove selected breakpoints or remove all the breakpoints.
- How to disable a breakpoint and how to skip all the breakpoints?
- Step Over and Run to line functionality.
- How to execute a statement and see it's result during debugging?
- How to inspect a variable or an expression?
- Expressions tab and how it helps to watch an expression?
- Common mistake made by developers in using expressions tab, to watch any expression that modifies variable's value.
-
61Debugging Java codes in Eclipse - 2Video lesson
In this lecture you will learn:
- How to go to the declaration of any method and come back to the calling code?
- How to go to the source code of Java class referred in your program?
- Step Into and Step Return functionality.
- What is method chaining and how to do it in Java?
- How to attach Java API source code in eclipse?
- How to find and open any source code files of Java API in Eclipse?
- How to jump to any method in the chain using Step Into Selection?
-
62Quiz-05Quiz
-
63Classes and ObjectsVideo lessonIn this lecture you will learn:
- What is OOP?
- What are objects?
- What are states/properties and behaviours of objects?
- Some examples of real world objects.
- What is Class and how to create a class template based on similar objects?
- How to convert class's blueprint to Java Code?
- How to create objects in Java using new keyword?
- How to read/write properties of Java objects?
- How to invoke methods on Java objects?
- Best Practice: Separation of core business logic and Object creation or testing.
-
64Constructors - 1Video lessonIn this lecture you will learn:
- What comes first: Class or Object?
- What are constructors and how constructors are invoked?
- What is a default constructor?
- Syntax of default constructor.
- default values are assigned to instance variables.
- Syntax of parameterized constructor.
- Code to invoke various constructors.
- Difference between parameters and arguments.
- No-argument constructor.
-
65Constructors - 2Video lessonIn this lecture you will learn:
- What is the scenario in which default constructor is not provided by Java compiler?
- this(); calls no-argument constructor from parameterized constructor.
- this(...) with argument(s) calls parameterized constructors.
- Call to this(...); should be the first statement inside parameterized constructor.
- Assigning values to instance variables at the time of declaration.
- What is constructor overloading?
- How to copy and paste whole packages (containing files) in Eclipse IDE?
- Usage of Ctrl + O to get the list of all the methods and constructors of a class in Eclipse IDE.
-
66Stack and Heap - 1Video lessonIn this lecture you will learn:
- STACK and HEAP memory areas.
- What goes in HEAP and what goes in STACK?
- Implicit variable "this" available to all the instance methods and constructors of the class.
- Variable "this" is not accessible to static methods.
- Difference between this() and this.
- PUSH and POP terms related to STACK.
-
67Stack and Heap - 2Video lessonIn this lecture you will learn:
- Validate the STACK and HEAP concepts covered in previous lecture using Debug mode.
- Expressions and display view available in debug mode.
- Content assist feature of display view.
-
68Java Coding Challenge - 9Text lesson
-
69Methods - 1Video lessonIn this lecture you will learn:
- What are methods?
- Syntax for method declaration.
- A method can return primitive type or reference type.
- Use of return keyword to return the value from the method.
- Use of keyword void in method declaration, if method doesn't return any value.
- A method can accept 0 or more parameters.
- Method types: instance method and static method.
- Syntax to invoke instance and static methods.
-
70Methods - 2Video lessonIn this lecture you will learn:
- Type instance(non-static) and static methods in Eclipse IDE.
- Decide on the method name, its parameters and return type.
- Provide test codes for the methods.
- Content-assist feature of Eclipse IDE shows the list of all the instance/static variables and methods, so you can select, instead of typing the method/property name.
-
71Methods - 3Video lessonIn this lecture you will learn:
- How to decide whether method should be static or non-static?
- Correct way to call static methods.
- Method declaration and Method signature.
- One java file can have multiple classes declared in it, but only one class with public access specifier.
- NullPointerException and why it is thrown.
- How to handle NullPointerException?
-
72Methods - 4Video lessonIn this lecture you will learn:
- How to call a method from another method of the same class?
- instance methods can invoke both static and instance methods.
- static methods can only invoke static methods.
- Example on moving duplicate codes to a method.
- Eclipse shortcut to correct all the variable names at once.
-
73Methods - 5Video lessonIn this lecture you will learn:
- STACK and HEAP memories during method invocation.
- pass-by-value and pass-by-reference schemes.
-
74Methods - 6Video lessonIn this lecture you will learn:
- More scenarios on pass-by-value and pass-by-reference schemes.
-
75Java Coding Challenge - 10Text lesson
-
76Variables - 1Video lessonIn this lecture you will learn:
- Need for static / class variables.
- How java runtime handles static / class variables?
- When are static variables initialized?
- Syntax to access static variable.
- LOCAL variable.
-
77Variables - 2Video lessonIn this lecture you will learn:
- Types of variables: "class or static variables", "instance variables" and "local or automatic variables".
- Scope of the variables.
- Lifetime of the variables.
- Usage of curly brackets within method body to shorten the scope of the variable.
-
78Variable Shadowing - 1Video lessonIn this lecture you will learn:
- Why it is not possible to have multiple variables of same name and type(static or instance or local) in the same scope.
- What is variable shadowing?
- Shadowing of static variables in detail.
- Full name and short hand notation of static variables.
-
79Variable Shadowing - 2Video lesson
In this lecture you will learn:
- Shadowing of instance variables in detail.
- Full name and short hand notation of instance variables.
- How to generate constructor code (not type) in Eclipse IDE?
- About Local variables
-
80Initialization Blocks - 1Video lesson
In this lecture you will learn:
- static initialization block, its syntax and why it is needed.
- instance initialization block, its syntax and why it is needed.
- Code area within class boundary but outside methods and constructors, is for declaration statements and not for other code statements.
-
81Initialization Blocks - 2Video lesson
In this lecture you will learn:
- How Java runtime handles static and instance initialization blocks?
- What is watch-point in Eclipse debugging and its significance?
- Display view of Eclipse debugging.
- static initialization block throws ExceptionInInitializerError instead of actual Exception object.
-
82Garbage CollectionVideo lesson
In this lecture you will learn:
- Meaning of unreachable objects.
- What is garbage collection?
- Runtime.getRuntime().gc() and System.gc() calls.
- Why java.lang.StackOverFlowError and java.lang.OutOfMemoryError are thrown?
-
83Java Coding Challenge - 11Text lesson
-
84Quiz-06Quiz
External Links May Contain Affiliate Links read more