
Learn how to download, install, and configure IntelliJ IDEA on macOS, including choosing editions, launching the app, and setting up the JDK, SDK, and editor preferences.
Download and install IntelliJ IDEA on Linux 16.04, choosing the community edition, compare with ultimate edition, and configure a desktop entry plus the Java JDK as the project SDK.
Enable and verify the Kotlin plugin in IntelliJ, adjust Kotlin settings such as parameter name hints and code style, and learn about labeling parameters and the Java to Kotlin converter.
Analyze the Java text adventure game and its code structure as we prepare a Kotlin conversion, including console gameplay and locations and exits data.
IntelliJ converts Java to Kotlin when you paste Java into a Kotlin file, illustrating Java–Kotlin interoperability, with the converter offering a starting point that may be verbose or require refinement.
Explore the Kotlin standard library and its default imports, including kotlin and kotlin.io, and learn how they enable array and print line usage without explicit imports.
Create type aliases in Kotlin to alias existing types and reduce typing, improving readability; alias strings like string builder to java.lang.stringbuilder, and use top-level declarations with imports for reuse.
Explore Kotlin vs. Java differences, including concise syntax with no semicolons and bracket access for collections. Learn about wrappers, soft keywords, the Kotlin string class, unchecked exceptions, and top-level functions.
Discover how Kotlin handles bitwise operators by spelling them out, and use the is operator for type checks with smart casting that eliminates explicit casts for verified types.
Explore Kotlin's primitive types and how everything is a class. Learn that Kotlin does not auto widen numbers and how to convert to data types with conversion functions.
Explore how Kotlin uses nullable types and the safe call operator to prevent null pointer exceptions, and learn to use the Elvis operator and safe casts for concise null handling.
Explore how to safely handle nullable values in Kotlin by using the safe-call operator, the not-null assertion, and the let function to conditionally invoke code.
Explore Kotlin class declarations, primary constructors, and property initialization with val or var, including initializer blocks, secondary constructors, and default parameter values to reduce boilerplate.
Introduce top-level constants to Kotlin and use data classes for state storage. Explore automatic toString, equals, hashCode, and copy in a car example, with primary constructor properties and immutable vals.
Learn how Kotlin interfaces compare to Java: declare interfaces, extend them, and implement across classes. Explore properties in interfaces, abstract vs concrete, and absence of backing fields or constructors.
Learn how Kotlin's internal modifier restricts visibility to the same module, compare it with private at the file level, and use IntelliJ's optimize imports to clean up unused imports.
Explore how Kotlin's if acts as an expression that returns a value, replacing the ternary operator, with examples of using else branches and results in strings.
Explore Kotlin lambdas with receivers using with and apply to write concise code, learn receiver objects, and master local and non-local returns with labels and nested apply patterns.
Explore Kotlin's collection functions beyond basics, including filter, map, all, any, count, find, group by, sorting, and sequences, applied to car data and maps with mutable and immutable examples.
Delve into Kotlin generics by exploring type parameters, compile-time type safety, and extension functions on lists, showing how generic usage reduces casting and clarifies code.
Understand how reified type parameters overcome runtime type erasure in Kotlin by inline functions, enabling type checks and filtering elements by type.
Explore use-site variance and type projection in Kotlin generics by covarying the copy cars function source, enabling copying Ford or car lists into a car list, contrasted with Java wildcards.
This lecture shows reading binary files in Kotlin with Java I/O, using DataInputStream and FileInputStream, and explains read bytes for managing resources with use.
Learn how Kotlin accesses Java via properties getters and setters, handles exceptions, uses varargs with spread, works with primitive arrays, and leverages static members, Object, and SAM interfaces with lambdas.
Recap the key differences between Kotlin and Java data types and outline core Kotlin concepts: classes, interfaces, inheritance, generics, collections, lambda expressions, and file IO, plus Java interoperability.
Are you a Java developer wondering if you need to learn Kotlin?
Maybe you are an experienced Java developer who wants to learn Kotlin quickly, to be prepared for future project work.
Perhaps instead, you're an Android app developer who knows Java well, but you want to be able to move forward with Kotlin for new Android development work.
Well, with Google's recent focus on Kotlin for Android app development, this language has been launched into the mainstream, and you can be sure you will be seeing a lot more about it. It's also highly likely that you will be working with Kotlin in your Java projects in the near future.
Because Kotlin works anywhere Java works, and can even be called from Java code (and vice-versa), this brings with it a massive opportunity for Java developers. Being able to work with both Java and Kotlin is going to give you a massive advantage over other programmers.
This course was designed to teach Java developers how to use Kotlin in the shortest possible time.
Sarah Ettritch, your course instructor, is an experienced Java and Kotlin developer, with many years of software development experience. She is uniquely qualified to teach you how to use this powerful and exciting language.
While you won't learn Android app development in this course, you will learn Kotlin, and also the key differences between Kotlin and Java.
There is an entire section dedicated to Java interoperability, which is vital for all Java developers to learn.
In addition, the Kotlin syntax is explored in detail.
Over sixteen hours of videos are included in the course, making it one of the most comprehensive courses on the language.
Now is the perfect time for you to learn Kotlin, while it's relatively new. It has been around for a while, but only now is it being thrust into the limelight.
It's absolutely vital for Java developers to learn Kotlin to maximize future career opportunities. Objective-C developers who failed to transition to Swift, or were too slow doing so, were left behind. Don't make the same mistake they did!
If you are ready to greatly increase your career prospects by adding Kotlin experience to your skills and knowledge, then sign up for the course today.