Kotlin Quick Start for Java Developers
4.2 (56 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,938 students enrolled

Kotlin Quick Start for Java Developers

A tutorial for Java developers who want to quickly get up to speed with Kotlin.
4.2 (56 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,938 students enrolled
Created by Dave Ford
Last updated 9/2017
English [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
11 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Key concepts/syntax of the Kotlin language
  • Kotlin in the context of the IntelliJ IDE
  • Object-oriented programming with Kotlin
  • Functional programming with Kotlin
  • Kotlin standard library (highlights)
  • Kotlin-Java interop and migration strategies
  • IntelliJ tips and tricks
  • Setting up Gradle for Kotlin
  • A basic knowledge of Java
  • Our examples are in the form of junit test cases, so a basic understanding of what a unit test is, while not required, might be helpful.

In this course, I will guide you through a number of small examples and one modestly complex project. Through these examples, you'll learn the fundamental language features needed to create Kotlin applications.

This isn't an in-depth reference covering every detail of the language. Rather, it's a tutorial covering the most important parts of the language, the 80% that I use every day. After completing this course, you'll still have more to learn, but you'll have everything you need to start being productive with Kotlin.

The table of contents is not ordered in terms of Kotlin features. Rather, the course is organized by the business features we add to our sample project. We introduce new Kotlin concepts as the need organically arises in the context of building our project.

We'll be using the IntelliJ IDE. So you'll be learning the fundamentals of Kotlin in the context of one of the world's greatest IDEs. And that's important because Kotlin, when teamed with IntelliJ, provides the most productive programming environment I ever used. With that said, this course is still appropriate for those who just want to learn Kotlin but don't plan on using IntelliJ.

Lastly, this course is not specific to any particular problem domain (i.e. android apps, server-side web apps, compile-to-JavaScript apps, or native apps). Instead, we focus on the core concepts common to all domains. As such, most of our examples take the form junit test cases.

Who this course is for:
  • Java Developers wanting to quickly get up to speed with Kotlin fundamentals
Course content
Expand all 19 lectures 03:07:23
+ Kotlin Basics
2 lectures 18:03

In this lesson we create a Kotlin project in IntelliJ, build a hello world app and cover some Kotlin basics.

  • creating projects
  • basic Kotlin syntax
  • top-level functions
  • function args
  • the main function
  • vars
  • vals
  • type inference
  • packages
  • array syntax

    Preview 07:27

    We create a simple class in Kotlin and compare it to the equivalent class in Java. Along the way we learn how to call Java from Kotlin and Kotlin from Java.

    • creating and using Kotlin classes
    • constructors
    • properties versus instance vars
    • automatic properties
    • read-only properties
    • understanding getters and setters
    • using Java classes from Kotlin
    • using Kotlin classes from Java

      Classes and java interop
      + Blackjack Project
      15 lectures 02:36:18

      In this lesson, we setup a new Gradle project for the Blackjack app that we will be creating throughout this workshop.

      • Setting up a gradle project
      • Adding libraries to the gradle classpath
      • The test-first development approach
      • Kotlin-specific extensions to junit
      • Creating a junit test in Kotlin
      • Introducing the blackjack app
      • Creating the Card class
      • Creating a unit test for the Card class
      • Using Kotlin test assertions
      • Cmd D IDE shortcut
      Setting the Blackjack Project, create Card class

      In this lecture we setup a git repository for our project, so we can keep track of each revision of the blackjack application. If you are not interested in git, you can skip this lecture.

      Setup git

      In this lesson we create the suitName getter in Card.

      • Named parameters
      • getter functions
      • single expression getter functions
      • Format code in IntelliJ
      • if expressions
      • when expressions
      • Cmd / IDE shortcut
      • Alt Cmd L IDE shortcut
      Create suitName getter function
      Create Card.valueName
      Add name and points getter to Card
      Validate Card in the init block
      Lambdas and Anonymous Functions
      Add error messages to Card's init block
      Create the Hand class
      Improve the Hand.points getter
      Render Hand to the console
      Create the Deck class
      Add shuffle to Deck
      Game test
      Create Game class
      + Conclusion
      1 lecture 00:51

      Final remarks and wrap-up.