Kurs i Java Programmering

Grundkurs i Java programmering

Java är det största applikationsutvecklingsspråket och har utvecklats på ett imponerande sätt under de två årtionden det har funnits. Denna kurs ger dig grunderna i språket och delar av det enorma standardbiblioteket, så att du snabbt kan komma igång efter kursen med t.ex. programutveckling på server-sidan.
Detta får du lära dig
  • Känna till de grundläggande språkdelarna av Java
  • Kunna skriva Java program som använder container-typer
  • Förstå att använda lambda uttryck
  • Kunna skriva program som hanterar filer
  • Kunna skapa exekverbara JAR-filer
Kursinnehåll

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
          SnabbFakta
          NamnJava Programmering
          Längd 5 Dagar
          NivåBeginner
          MålgruppProgrammerare
          Förkunskaper Praktiska kunskaper i något programmerings-språk
          Verktyg
          • Java JDK, version 10+
          • JetBrains IntelliJ IDEA
          KursDatum
          DatumPlatsPris
          2020-03-16Stockholm27 000 kr
          2020-04-20Stockholm27 000 kr
          2020-05-11Stockholm27 000 kr
          2020-06-08 Stockholm27 000 kr

          Samma-Företags Rabatt

          Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle. Läs mer här.

          Undervisningsspråk

          Vårt tryckta kursmaterial är alltid författat på engelska. Den muntliga presentationen i våra klassrum är som regel på svenska, såvida inte samtliga deltagare samtycker till att vi genomför kursen på engelska.

          Företagsintern Kurs

          Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

          Läs mer om vår prismodell och beställningsvillkor här.

          Relaterade Kurser
          KursDagarNivå
          Java Programmering Fördjupning3IntermediateVisa
          Threads och Concurrency med Java2Advanced Visa
          Java för REST webbtjänster3IntermediateVisa