Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Java Fundamentals: Your Guide to Modern Software Development

via Udemy

Overview

Master the core concepts of Java programming language and apply them to practical projects. Become a top Java Developer.

What you'll learn:
  • Get 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)
  • Understand Object Oriented Programming concepts like as classes and objects, threads, files, applets, swings, and act are essential
  • Master OOP fundamentals and use 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
  • Write Programs using the Java Graphical User Interface
  • Understand how to design applications with threads in Java
  • Analyze event-driven programming techniques, such as generating and manipulating objects and classes, and utilizing Java for network programming and middleware
  • Learn how to read and write files in Java
  • Learn multi-tier applications and learn to design and develop them
  • Analyze and identify enterprise applications
  • Create a Java application for a distributed system
  • Evaluate Java programming for networking ideas includes writing, compiling, executing, and troubleshooting

A warm welcome to the Java Programming course by Uplatz.


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 Java’s 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 it’s better to start elsewhere if you’re 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 Java’s 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

  • Identifiers

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

  • Casting

  • Strings

Classes and Objects

  • What is an Object?

  • Objects and Encapsulation

  • What is a Class?

  • Class Object Relationship

  • The Person class

  • Variable types

  • Constructors

  • 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

  • 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

Packages

  • Packages

  • 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

Arrays

  • 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

  • ArrayList

  • Interfaces v Concrete Classes

  • HashMap

  • Iteration and Enumeration

  • Queues

  • Generics and Collections

  • For Loops

  • Boxing and Unboxing

  • Raw Collections

Java 9+ Immutable Collections

  • Why Immutability?

  • 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

  • Streams from Collections

  • Terminal / Non Terminal Operators

  • Creating a Stream

  • Map Operation

  • Collectors

  • Filter operation

  • Sorted operation

  • ForEach

  • 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

  • Scanners


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.

Taught by

Uplatz Training

Reviews

4.2 rating at Udemy based on 319 ratings

Start your review of Java Fundamentals: Your Guide to Modern Software Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.