Java Fundamentals: Your Guide to Modern Software Development
Offered By: Udemy
Course Description
Overview
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
Related Courses
Make an Action Bar in Unity Part 1 - Modular Action SystemCoursera Project Network via Coursera Programmazione I
University of Naples Federico II via edX Основы разработки на C++: жёлтый пояс
Moscow Institute of Physics and Technology via Coursera C++ Programming: Object-Oriented Design
Codio via edX Java: Going Further with Classes and Methods
Codecademy