Java Programming Fundamentals





Udemy Online Course Free Coupon Code

Java Programming Fundamentals

Master the core concepts of Java Programming language & their application to practical projects. Become a Java Developer

What you’ll learn

  • End-to-end understanding of core concepts of Java
  • Learn the core Java skills needed to apply for Java developer positions
  • Master design principles, best practices and coding conventions for writing well-designed, professional Java code
  • Be able to demonstrate your understanding of Java to future employers
  • Prepare and apply for Oracle Java Certification exams (Oracle Certified Associate, Java SE 8 Programmer 1Z0-808)
  • Master OOP concepts by using real-world applications as case study
  • Learn why Java is useful for the design of desktop and web applications
  • Identify Java language components and how they work together in applications
  • Design and program stand-alone Java applications
  • How to design a graphical user interface (GUI) with Java Swing
  • Learn how to extend Java classes with inheritance and dynamic binding
  • Use exception handling in Java applications
  • Understand how to design GUI components with the Java Swing API
  • Learn Java generics and how to use the Java Collections API
  • Understand how to design applications with threads in Java
  • Learn how to read and write files in Java


  • Enthusiasm and determination to make your mark on the world!


This Java Programming Fundamentals course by Uplatz is for anyone who wants to learn Java from scratch, polish java skills, face java interviews and prepare for java certifications. Anyone can take this course and go from zero developments skills to being expert in OOPs and core Java.

Java is the most popular language world wide and technologies like Servlets & JSP, J2EE, Struts, Spring, Hibernate, JMS or android for mobile applications are all based on core Java. Even Kotlin (android’s new programming language) becomes easier if you know Java. Having a sound understanding of core java concepts is necessary, if you want to learn advance concepts, frameworks and android programming.

In this Introduction to Java Programming training course, you gain extensive hands-on experience writing, compiling, and executing Java programs. You will learn to build robust applications that use Javas object-oriented features. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables programmers to develop a single application that can seamlessly run across multiple platforms. Attend this course and learn to leverage these key features.

This Introduction to Java programming training course will teach you the latest Java language syntax and programming skills, allowing you to develop commercial object oriented and functional java applications.

What is Java?

Java is a concurrent, compiled, object-oriented programming language. It was created in 1995 by Sun Microsystems (now Oracle) and can be found across many websites, applications, and programs. It was modelled after C++, but intended to be simpler and easier to use.

Java must be run on a software platform, such as the Java Platform by Oracle or the Android SDK for mobile devices. Java is commonly used in Android apps, enterprise software, financial and scientific software, big data calculations, and web applications.

JavaScript is a high-level programming language, which is one of three core technologies of World Wide Web content production. It can be used to make web pages interactive and provide online programs, such as video games. It is widely used, and is employed by the majority of websites and is supported by all modern web browsers. As you can see, if your hoping for a career in programming or web development then this course will be extremely beneficial, and could help you get the career you want.

Why learn Java?

Java is one of the most popular programming languages out there, mainly because of how versatile and compatible it is. Java can be used for a large number of things, including software development, mobile applications, and large systems development. As of 2019, 88% market share of all smartphones run on Android, the mobile operating system written in Java. Knowing Java opens a great deal of doors for you as a developer.

Who learns Java?

Mobile app developers, web developers, and software engineers might need to know Java to create and maintain their products. Java is less intuitive and more complex than other web development languages like Python, so its better to start elsewhere if youre new to programming.

Objectives of Java Programming Fundamentals course

Develop an understanding on Java programming

Implement standard SQL queries with databases

To be able to program with Java

Core concepts of Java including Variables, datatypes, operators, control statements, arrays, packages, classpath, user-input and debugging

Object Oriented Programming concepts and their application

String, Wrapper classes, Exception handling and Enumeration in detail

Adding appropriate comments to your code

Writing professional Java code using Industry best practices

Be ready to face interviews

In this Introduction to Java Programming training course, you gain extensive hands-on experience writing, compiling, and executing Java programs. You will learn to build robust applications that use Javas object-oriented features. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables programmers to develop a single application that can seamlessly run across multiple platforms. Attend this course and learn to leverage these key features.

Java Programming Fundamentals course syllabus

Java Overview

How the Java Environment Works

HelloWorld Program

Launch Single-File Source Code

jShell REPL

Comments and Terminators


Syntax and Types

Java Variables

var declarations

Java Types

Basic Java Types

Reference types

Conditional Expressions

Logical operators

If statement

While Statement

Do Statement

For statement

Special flow of control operators

Switch statement

Numerical Operators



Classes and Objects

What is an Object?

Objects and Encapsulation

What is a Class?

Class Object Relationship

The Person class

Variable types


Working with the class Person

Working with Methods

Method Definitions

Method Arguments & Return Types

Overloading Methods

Method Invocations

Defining methods

Constructors Versus Methods

toString() method

Adding behaviour to the class Person

The PersonApp program

Class Inheritance

Inheritance in Java

Implementing Inheritance

Rule for overriding methods

Rules for Polymorphic variables

Casting and Inheritance

The super variable

Constructors and Inheritance

Abstract Classes, Class Side Behaviour and Final

Abstract Classes

Abstract Classes in Java

Defining an Abstract Class

Extending an Abstract Class

Using Concrete Subclasses

Class Side Information

Class Side Data

Class Side Behaviour

Final Keyword

Java Interfaces and Enumerations

What is an Interface in Java?

Basic Interface Definitions

Implementing an Interface


Using an Interface in a Contract

Inheritance by Interfaces and Types

Classes and multiple Interfaces

Default Interface Methods

Static Interface Methods

Enumeration Support

Implementing Enumerated Types



Class-Package Relationship

Declaring Packages

Packaging the Person class

Role of the Classpath

JAR Files

Encapsulation and Packages

Class modifier

Constructor Modifier

Variable Modifier

Method Modifiers

Package Summary

Java 9+ Modules

Introduction the JPMS

Java Platform Module System

Why we need modules

Look at what modules are

How to define a module

How to create a single module application

How to link modules


What is a Java Array?

Creating arrays of Objects

Accessing Array Elements

Main method args array

Short hand from

Ragged Arrays in Java

Working with Ragged Arrays

Implications of Inheritance for Arrays

Integer Array Example

Java Generics

Generics and Basic Types

Generics and Their Types

Adding Generics to your classes

A simple user defined Generic class (the Bag class)

Type Equality

Generic Collection Assignment

Generics and Inheritance

Collections Classes

Collections API


Interfaces v Concrete Classes


Iteration and Enumeration


Generics and Collections

For Loops

Boxing and Unboxing

Raw Collections

Java 9+ Immutable Collections

Why Immutability?


List.of Factory method

Set.of Factory method

Map.of Factory method

Immutable Collection Nodes

Java 10 Enhancement

Error and Exception Handling

Errors & Exceptions

Exception types in Java

Part of the Exception Hierarchy

Exception Handling

Local Handling

Exception Handling Example

Passing the Buck

Try with Resources

Defining new Exceptions

Chained Exceptions

Nested / Inner Classes

Four types of Nested / Inner Class

Properties of Member level inner classes

Properties of Method Inner classes

Anonymous Method Inner classes

Java 11 Nest-based Access

Java Functions

Functional Programming

Functional Programming in Java

Functional Interfaces

Using Functional Interfaces

Lambdas in Java

Closing / Capturing Variables

Returning Functions

Combining Functions

Higher Order Functions

Defining Lambdas

Method References

Java Optional Type

Null considered Harmful

Java Optional Type

Optional Variables

Creating Optional values

Method Summary

Java 9 Streams


Streams from Collections

Terminal / Non Terminal Operators

Creating a Stream

Map Operation


Filter operation

Sorted operation


Pipelining Operations

Parallel Streams

Not just collections

Files, Paths and IO Streams

Introducing NIO.2

Paths class and Path Interface

The Files class

File Attributes

The File Watcher Service

IO Streams


By the end of this course, you will have:

Learnt about Java class and Objects

Explored defining methods and properties

Examined Class Inheritance

Understood Java Interfaces and Enumerations

Considered how to use Packages and Modules

Learnt about Functional Programming in Java

Understood how to handle Errors and Exceptions

Worked with Files, paths and Stream IO

Used the new Streams API for processing data

Explored the Collection classes

What version of Java should you learn?Generally speaking you would want to learn the very latest version of a computer programming language, but thats not necessarily the case with Java.

Until recently Java releases were infrequent (one major release in 3 years was common). Companies standardised on specific versions of Java. Right now most companies are still focused on Java 8, which is a relatively old version, dating back to 2015.

Oracle (the owners of Java) are now releasing new versions of Java every six months, and when the new version comes out the old version is no longer supported.

But to cater for most companies who tend to stick to specific versions of Java for a long time, they have marked the current version of Java – Java 11 as LTS – or Long Term support. That means that they guarantee to support this version for the long term – for a number of years at least.

Companies will stick to versions of Java that are supported in the long term. For career purposes you should learn the appropriate versions of Java that your future employer will likely be using. Right now thats Java 8 and Java 11 (Java 9 and Java 10 have been released and already been marked obsolete and are no longer supported).

Job Prospects

According to PayScale, the average salary for a Java developer is $69,722 per year, with an average salary range of $47,169 to $106,610 per year. The highest-paid Java developers are in San Francisco and Arlington, where the average reported yearly salaries are $97,000 per year.

Author(s): Uplatz Training

Leave a Reply