Core Java: In-depth Introduction to Object-Oriented Programming
A comprehensive introduction to Java language basics and object-oriented concepts along with industry-standard coding conventions and best practices.
Master Java Foundations with Best Practices!
This comprehensive introductory course is designed specifically for beginner college students to help them gain in-depth understanding of Java fundamentals by:
+ Mastering core language features.
+ Grasping essential object-oriented programming concepts.
+ Adopting industry-standard coding practices.
What sets this course apart is its in-depth coverage of every single feature and the emphasis on cultivating professional coding practices followed by top engineering teams, ensuring that you develop very strong foundational skills setting yourself up to be industry-ready.
This course begins with a bird's-eye view of Java, explaining why Java was invented, how the Java platform (JVM) works, and guiding you through installing Java and writing your first Java program. Fundamental concepts like compilation and interpretation are also clearly explained. We then dive deep into Language Basics, covering core features such as classes and objects, data types, arrays, operators, control-flow statements, and essential Java library classes. The course continues with comprehensive sections on object-oriented concepts like inheritance, polymorphism, abstract classes, and interfaces, using real-world use cases to ensure solid conceptual understanding. In addition, you will learn best practices and standard coding conventions, which are essential for writing professional Java code, helping you develop not only strong foundational skills but also professional coding habits from the start. To further enhance your professional development, the course includes an excellent tutorial on the Eclipse IDE, teaching you how to use Eclipse effectively for writing Java programs like a professional developer.
Each lecture has been very carefully crafted, explaining the motivation behind every concept with well-thought-out examples and illustrations, and is demonstrated in code. Several hands-on coding exercises and challenging quizzes are included to reinforce key concepts and assess your understanding. Finally, all your questions will receive in-depth personalized responses within around 24 hours. Over 10,000 questions have already been answered so far!
Upon successfully completing all course lectures, coding exercises, and quizzes, you will receive a Course Completion Certificate. This certificate verifies your mastery of Core Java fundamentals and demonstrates your readiness to apply professional coding practices and design rules. It is a testament to your dedication and preparedness for real-world Java development.
This lecture conceptually explains basic concepts like Class & Object through nice illustrations.
Class & ObjectsIntroduces Switch statement. Explains how it is more readable, concise and efficient compared to if-statement.
Switch Statement: IntroductionIn this lecture, instructor codes entire solution of a coding exercise. Along the way gives some motivating tips too!
Coding Exercise SolutionChapter Introduction
What is Java & Who is Using It?
Story behind Java's Creation ~ A Brief History
Compilation
Platform Dependency
Interpreter
Platform Independence in Java
Java Virtual Machine (JVM)
An Overview of Java SE
Java SE Release Cycles & Release History
Installing Java 17 on Windows
Installing Java on Mac
Installing Java on Linux
Setting Classpath Environment Variable
Writing First Java Program
Conclusion ~ Chapter 1
Chapter 2 Quiz
Important Q&A Discussions! (+)
Chapter Introduction
Class & Objects
FREE PREVIEWAbsolute Java Basics
FREE PREVIEWIdentifiers - A Note on Naming Rules
Variables: Introduction
Declaring & Re-initializing Variables
Assignment: Currency Converter - Creating a Class with Variables
Variables: Primitive Types
Primitive Variables: Integers
Question on Binary Representation of Negative Number
Other Integer Literal Formats
Use byte & short Variables Judiciously (+)
Primitive Variables: Floating-point Numbers
Floating-point Pitfalls*
Primitive Variables: Character Data Type
Alternate ways to initialize char variables
Primitive Variables: Boolean Data Type
Quiz: Primitive Variables
Variable Kinds - Instance, Static, and Local Variables
Multi-variable Declaration Statements
Variables: Type Casting
Variables: Object References
Statements
Arrays
Assignment: Currency Converter - Array Creation & Accessing its Elements
2D Arrays
3D Arrays
Methods: Introduction
Method Types ~ Instance & Static Methods + Demo
Summary on Accessibility of Members from Static & Instance Methods
Assignment: Currency Converter - Invoking Methods of an Object
How Data is Passed to Methods in Java?
Method Overloading
Methods: varargs
Brief Summary on varargs Parameter
Constructors
Constructor Overloading
Constructor Overloading ~ Alternate way of delegating
Minor Note on Method Invocation & Implicit Narrowing Conversion
this Reference
Demo: Reinitializing Object References ~ More Brainstorming! (Incl. Assignment)
Minor Note on Executing StudentTest and a Java 11 Feature
Coding Exercise 1: Implementing Instructor Class ~ Manipulating Arrays with Object References
Review of Exercise 1 Solution with Best Practices
Conclusion
Chapter 3 Quiz
Important Q&A Discussions! (+)
Chapter Introduction
Operators
Arithmetic Operators
Arithmetic Operation Rules
Minor Clarification on Arithmetic Operator Precedence Rule
Quiz: Arithmetic Operators
Note on Student Class
Comparison Operators
Logical Operators with Operator Precedence
Car Price Estimator ~ Coding Exercise for Comparison & Logical Operators
Coding Exercise 2: Car Price Estimator ~ Putting Comparison & Logical Operators into Action
Car Price Estimator - Exercise Solution Review
Bitwise Operators
Quick Note on Bitwise Operators with Boolean Operands
Bit Shift Operators
Quiz: Bitwise & Bit Shift Operators
Control-flow: if-statement
Switch Statement: Introduction
Switch Restrictions
Arrow Labels in Switch (Java 14)
Switch Expressions (Java 14)
Quiz: switch Statement
Control-flow: Ternary
Additional Notes on Ternary Operator
Control-flow: for Statement
More for Statement ...
Another Look at Nested for Statement
for-each Statement*
Variable Scope
Exercise
Coding Exercise 3: Computing GPA ~ Putting Operators & Control-flow to Test
Computing GPA - Exercise Solution Review
Demo: while Statement
do Statement (incl. Scanner Class for taking Input)
Blocks
break Statement
Labeled Statement & Labeled break
continue Statement & Labeled continue
Recursion
Minor Correction in Binary Search Code
Conclusion
Chapter Introduction
Java API*
Accessing Packages
Creating Packages & Classpath Management
Naming Packages
Access Levels
More on private Modifier
Chapter 5 Quiz: Packages & Access Levels
Introduction
Installing Eclipse
Writing a Java Program in Eclipse
Eclipse Build Process
Importing Demo Code
Source Code Navigation
Automatic Source Code Cleaning & Generation
Shortcuts Cheat Sheet
Dheeru Mundluru is the instructor for this program. A passionate software engineer & educator, Dheeru has around 15 years of experience developing innovative software for start-ups in Silicon Valley and elsewhere. He holds a Ph.D. in Computer Science from University of Louisiana at Lafayette (USA). He is an experienced online instructor with over half-a-dozen years of teaching experience with over 100k students globally. He has also been rated as one of the top instructors on Udemy. His engineering expertise includes developing complex Web data integration & mining software with Java as the main programming tool. Coming from start-up world, he also has extensive end-to-end experience in developing Web applications using technologies such as Spring, Hibernate, MySQL, and Solr.
Writing well-crafted code that follows the best design practices is of utmost importance to him. He brings the same level of passion and completeness to his teaching.