Course in Java Basics

Fundamental course in Java programming

Java is the primary application development langauge have evolved in an impressive way during more than two decades. This course provides you with the foundations of the language and essential parts of the vast standard library, so you can quickly get up to speed with server-side Java development.
This is what you will learn
  • Knowledge about the fundamental parts of the language
  • Know how to writ programs using container types
  • Understand how to use and utilize lambda expressions
  • Know how to write programs that accesses files
  • Know hove to create executable JAR files
Course Contents

Background and Overview

  • Language evolution & Versions
  • Editions & Distributions
  • Vendors & Implementations
  • Documentations

The Language

The language syntax, data types and statements.

    Compilation & Execution of a Java Program

    • The syntax at a glance
    • A typical Java program
    • How to compile
    • How to execute
    • Directory structure of sources and classes

    Data Types & Operators

    • Line and block comments
    • Identifiers
    • Reserved words
    • Variables
    • Integral data-types and literals
    • Floating-point data-types and literals
    • Boolean
    • Characters
    • Strings
    • Arrays
    • Enums
    • Arithmetic operators
    • Assignment expression operators
    • Relational operators
    • Logical operators
    • Conditional operator
    • Printing to the console

    Statements

    • If statements
    • While loops
    • For loops
    • For-each loops
    • Break & continue
    • Switch statements
    • Imports of classes
    • Reading data from the console

    Functions

    • Function declarations
    • Static functions
    • Overloaded functions

    Classes

    Syntax and usage.

      Class Syntax

      • Data abstraction and the idea of classes
      • Syntax
      • Visibility
      • Constructors
      • Member variables
      • Initialization
      • Pointers in Java
      • Pointer this
      • Null pointers
      • Function toString
      • Static members

      Extended Classes

      • Extendable strategies and the idea of inheritance
      • Syntax
      • What do we mean by inheritance
      • Creating sub-class objects
      • Dynamic binding of function calls
      • Usage of @override
      • Final methods
      • Abstract functions and classes

      Interfaces

      • Interfaces
      • The purpose of using interfaces in Java
      • Interface constants
      • Static interface functions
      • Default interface functions

      Exceptions

      • What is an exception
      • Throwing and catching exceptions
      • Understanding the flow of control
      • Stack traces
      • Checked and unchecked exceptions
      • JVM errors
      • Standard exception classes

      Inner Classes

      • Inner classes
      • Static inner classes
      • Anonymous classes
      • Class constructors
      • Anonymous constructors
      • Function finalize()

      Special Classes

      • Enum classes
      • Wrapper types
      • Conversion functions
      • Autoboxing
      • Class java.lang.Object
      • Class java.lang.Class
      • Class loading

      Generic Classes

      • Generic functions
      • Generic classes
      • Generic interfaces
      • Type restrictions

      Lambda Expressions

      • What is a lmabda expression
      • What is a functional interface
      • Basic syntax
      • Various use cases
      • Instrance method reference
      • Static method reference
      • Constructor method reference
      • Lambda oriented functional interfaces

      Annotatations

      • What is an annotation
      • Usage of annotations in various libraries
      • Syntax
      • Default values
      • Single value attribute
      • Specifing annotation placements
      • Keeping annotations until run-time

      The Library

      The most used parts of the large standard library.

        Text Manipulations

        • String
        • StringBuilder
        • Pattern & Matcher
        • Regex support in java.lang.String
        • Class Formatter
        • Class SimpleDateFormatter

        Date & Times

        • Date
        • Calendar
        • Typical idioms for date-time manipulations
        • Overview of the date-time support in Java 8
        • Calendar Builder

        Collections

        • Overview of interfaces and implementing classes
        • List & Array-/LinkedList
        • Map & Hash-/TreeMap
        • Understanding the for-each loop
        • Utility classes
        • Ordering of objects
        • Queue
        • Iterator
        • Class Properties
        • Class PropertyResourceBundle

        Input & Output

        • Text-oriented I/O
        • Reader & Writer
        • File
        • Typical I/O idioms
        • Binary I/O
        • Input-/OutputStream
        • Serialization
        • Class java.io.File
        • Path & Paths
        • Utility class java.nio.file.Files

        Pipeline Streams

        • What is a pipeline stream
        • The anatomy of a pipeline
        • Stream sources
        • Bounded streams
        • Aggregators
        • Collectors
        • Collection aggregation
        • String element joining
        • Understanding reduce()
        • Function filter()
        • Function map()
        • Sorting
        • Other filters

        Develoment

        Brief about how to develop Java applications

          JARs & DOCs

          • Understanding JAR files
          • Setting the class-path
          • Packing a library into a JAR file
          • Executable JARs
          • Understading JavaDocs
          • Running javadoc

          Build Tools

          • What is a build toll
          • Typical build tool tasks
          • Evolution of Java build tools
          • What is a dependency
          • What is an artefact repository
          • How to find 3rd party open-source libraries
          • What is a Maven proxy server
          • What is a Maven artefact repository server
          • Contemporary development work-flow
          • Brief introduction to Gradle

          Applications Types

          • Applications with GUI
          • Java Web Start
          • Servets & JSP
          • EJB
          • REST WS applications
          • Tests
          Facts
          NameJava Basics
          Duration5 Days
          LevelBeginner
          AudienceProgrammers
          PrerequisitesPractical knowledege in any programming langauge
          Tools
          • Java JDK, version 10+
          • JetBrains IntelliJ IDEA
          On-Site Course

          If you order an On-Site course, we will come to you and hold the course in your office. The price is determined by our price model and is based on the number of course days, number of participants and any travel and lodging.

          Read more about out price modell and term of sales here.

          Related Courses
          CourseDays Level
          Java Intermediate3IntermediateShow
          Threads and Concurrency in Java2AdvancedShow
          Java for REST Web Services Apps2 Intermediate Show