In this online Java Programmer course, you will learn about Java syntax elements, concentrating on fundamental and universally useful elements while also gaining an understanding of its more advanced elements.
Requirements:
Hardware Requirements:
- This course can be taken on a PC or a Mac.
- Dual monitors are helpful but not required.
Software Requirements:
- PC: Windows 10 or later.
- Mac: macOS 11.0 or later.
- Browser: The latest version of Google Chrome or Mozilla Firefox are preferred. Microsoft Edge and Safari are also compatible.
- Java (download and installation instructions are provided in course).
- Visual Studio Code (download and installation instructions are provided in course).
- Adobe Acrobat Reader.
Other:
- Email capabilities and access to a personal email account.
Instructional Material Requirements:
The instructional materials required for this course are included in enrollment and will be available online.
If you are ready to learn Java programming, this comprehensive Java Programmer training course will help you develop the necessary skills to build scalable software solutions and become in-demand among companies across various industries. Our course is designed for both beginners and those with some programming experience, as it will provide you with a solid foundation in Java programming and Object-Oriented concepts.
Object-Oriented Programming (OOP) languages, like Java, are widely used and play a vital role in software development. Our course stands out because it prepares you with the skills necessary to become well-versed in this highly sought-after field in the job market. OOP focuses on organizing code into reusable objects, which makes it easier to maintain and modify complex systems. You will gain proficiency in Java's versatile and powerful language and develop a strong understanding of these OOP principles—enabling you to design and build scalable, modular, and maintainable software solutions.
As you progress through this Java programmer training course, you will learn how to create Java objects, implement inheritance and polymorphism, manage exceptions effectively, and leverage the extensive Java API library. You will also learn Java's "write once, run anywhere" concept, which allows programs written in Java to run on any platform that supports Java. This feature ensures that your Java skills remain relevant across different operating systems and devices—so that you can excel in the job market as an entry-level Java programmer.
- Java Introduction
- Conventions in These Notes
- The Java Environment - Overview
- Writing a Java Program
- Obtaining The Java Environment
- Setting Up Your Java Environment
- Creating a Class that Can Run as a Program
- Useful Stuff Necessary to Go Further
- Using an Integrated Development Environment
- Running a Simple Java Program
- Using the Java Documentation
- Java Basics
- Basic Java Syntax
- Variables
- Data
- Constants and the final Keyword
- Mathematics in Java
- Creating and Using Methods
- Variable Scope
- Method Exercise
- Java Objects
- Objects
- Object-oriented Languages
- Object Definition
- References
- Defining a Class
- More on Access Terms
- Adding Data Members to a Class
- Standard Practices for Fields and Methods
- Java Beans
- Bean Properties
- Constructors
- Instantiating Objects Revisited
- Important Note on Constructors
- Method Overloading
- The this Keyword
- Using this to Call Another Constructor
- static Elements
- The main Method
- Garbage Collection
- Java Packages
- Compiling with Packages
- Working with Packages
- Variable Argument Lists (varargs)
- Creating Documentation Comments and Using Javadoc
- Primitives and Wrapper Classes
- Java Objects
- Compiling and Executing with Packages
- String, String Buffer, and StringBuilder
- Encapsulation
- Object-oriented Programs
- Mid-term exam
- Comparisons and Flow Control Structures
- Boolean-valued Expressions
- Comparison Operators
- Comparing Objects
- Conditional Expression Examples
- Complex Boolean Expressions
- Simple Branching
- The if Statement
- if Statement Examples
- Two Mutually Exclusive Branches
- Comparing a Number of Mutually Exclusive Options - The switch Statement
- Comparing Two Objects
- Conditional Expression
- Additional Loop Control: break and continue
- Continuing a Loop
- Classpath, Code Libraries, and Jar Files
- Creating and Using an External Library
- Compiling to a Different Directory
- Arrays
- Defining and Declaring Arrays
- Instantiating Arrays
- Initializing Arrays
- Working with Arrays
- Enhanced for Loops - the For-Each Loop
- Array Variables
- Copying Arrays
- Using the args Array
- Arrays of Objects
- Multi-Dimensional Arrays
- Multidimensional Arrays in Memory
- Example - Printing a Picture
- Typecasting with Arrays of Primitives
- Inheritance
- Inheritance
- Payroll with Inheritance
- Polymorphism
- Creating a Subclass
- Inheritance and Access
- Inheritance and Constructors - the super Keyword
- Inheritance and Default Superclass Constructors
- Typecasting with Object References
- More on Overriding
- Other Inheritance-related Keywords
- Methods Inherited from Object
- Checking an Object's Type: Using instanceof
- The Instantiation Process at Runtime
- Derived Class Objects
- Derived Class Methods that Override Base Class Methods
- Object Typecasting Example
- Typecasting with Arrays of Objects
- Interfaces
- Interfaces
- Creating an Interface Definition
- Implementing Interfaces
- Reference Variables and Interfaces
- Interfaces and Inheritance
- Some Uses for Interfaces
- Annotations
- Using Annotations
- Interfaces
- Annotation Details
- Exceptions
- Exceptions
- Handling Exceptions
- Exception Objects
- Attempting Risky Code - try and catch
- Guaranteeing Execution of Code - The finally Block
- Letting an Exception be Thrown to the Method Caller
- Throwing an Exception
- Exceptions and Inheritance
- Creating and Using Your Own Exception Classes
- Rethrowing Exceptions
- Initializer Blocks
- Logging
- Log Properties
- Assertions
- Collections
- Collections
- Using the Collection Classes
- Using the Iterator Interface
- Creating Collectible Classes
- Generics
- Bounded Types
- Extending Generic Classes and Implementing Generic Interfaces
- Generic Methods
- Variations on Generics - Wildcards
- Type Erasure
- Multiple-bounded Type Parameters
- Working with Streams and Lambda expressions
- Inner Classes
- Inner Classes, aka Nested Classes
- Inner Class Syntax
- Instantiating an Inner Class Instance from within the Enclosing Class
- Inner Classes Referenced from Outside the Enclosing Class
- Referencing the Outer Class Instance from the Inner Class Code
- Better Practices for Working with Inner Classes
- Enums
- Method Inner Classes
- Anonymous Inner Classes
- Final Exam
- Final Project: Hotel Reservations Case Study
What you will learn
- Grasp the concept of "write once, run anywhere," which is fundamental to Java's versatility and portability
- Acquire the skills to create basic Java objects to build the foundation of your Java programs
- Implement flow-control concepts in Java to effectively manage program execution and decision-making
- Gain a deep understanding of Java's package concept to organize classes into packages for better code organization
- Master the usage of Java arrays, allowing you to efficiently store and manipulate collections of elements
- Learn the principles of inheritance and how to create Java classes that inherit properties and behaviors from other classes
- Apply the concept of polymorphism in your Java applications to write code that can work with objects of different types
- Understand Java's exception-handling mechanism and how to effectively manage exceptions in your Java applications
- Utilize elements from the Java API library, including the Collections classes, to enhance your programs with powerful data structures and algorithms
How you will benefit
- Equip yourself with the necessary skills and knowledge needed for an entry-level position as a Java programmer
- Advance your coding career by expanding your knowledge with a new programming language
- Stand out from the competition by honing your skills in a structured and regulated learning environment
- Develop Java programs that can be showcased to potential employers or used as valuable portfolio pieces
Nat Dunn
Nat Dunn founded Webucator in 2003 to combine his passion for technical training with his business expertise and to help companies benefit from both. His previous experience was in sales, business and technical training, and management. Nat has an MBA from Harvard Business School and a BA in International Relations from Pomona College.