Cheatsheets / Learn Kotlin
Data Types & Variables
Mutable Variables
A mutable variable is declared with the var keyword and
represents a value that is expected to change throughout var age = 25
a program. age = 26
Immutable Variables
An immutable variable is declared with the val keyword
and represents a value that must remain constant val goldenRatio = 1.618
throughout a program.
Type Inference
When a data type is not specified in a variable
declaration, the variable’s data type can be inferred // The following variable is assigned
through type inference. a text value within double quotes, thus
the inferred type is String
var color = "Purple"
String Concatenation
String concatenation is the process of combining Strings
using the + operator. var streetAddress = "123 Main St."
var cityState = "Brooklyn, NY"
println(streetAddress + " " + cityState)
// Prints: 123 Main St. Brooklyn, NY
String Templates
String templates contain String values along with variables
or expressions preceded by a $ symbol. var address = "123 Main St. Brooklyn, NY"
println("The address is $address")
// Prints: The address is 123 Main St.
Brooklyn, NY
Built-in Properties and Functions
The Kotlin String and Character data types contain
various built-in properties and functions. The length var monument = "the Statue of Liberty"
property returns the number of characters in a String,
and the capitalize() function capitalizes the first letter println(monument.capitalize()) // Prints:
of a String.
The Statue of Liberty
println(monument.length) // Prints: 21
Character Escape Sequences
Character escape sequences consist of a backslash and
character and are used to format text. print("\"Excellent!\" I cried.
\"Elementary,\" said he.")
● \n Inserts a new line
● \t Inserts a tab // Prints: "Excellent!" I cried.
● \r Inserts a carriage return "Elementary," said he.
● \' Inserts a single quote
● \" Inserts a double quote
● \\ Inserts a backslash
● \$ Inserts the dollar symbol
Arithmetic Operators
The arithmetic operators supported in Kotlin include +
addition, - subtraction, * multiplication, / division, 5 + 7 // 12
and % modulus. 9 - 2 // 7
8 * 4 // 32
25 / 5 // 5
31 % 2 // 1
Order of Operations
The order of operations for compound arithmetic
expressions is as follows: 5 + 8 * 2 / 4 - 3 // 6
3 + (4 + 4) / 2 // 7
1. Parentheses
4 * 2 + 1 * 7 // 15
2. Multiplication 3 + 18 / 2 * 1 // 12
3. Division 6 - 3 % 2 + 2 // 7
4. Modulus
5. Addition
6. Subtraction
When an expression contains operations such as
multiplication and division or addition and subtraction
side by side, the compiler will evaluate the expression in a
left to right order.
Augmented Assignment Operators
An augmented assignment operator includes a single
arithmetic and assignment operator used to calculate and var batteryPercentage = 80
reassign a value in one step.
// Long Syntax
batteryPercentage = batteryPercantage + 10
// Short Syntax with an Augmented
Assignment Operator
batteryPercentage += 10
Increment and Decrement Operators
Increment and decrement operators provide a shorthand
syntax for adding or subtracting 1 from a value. An var year = 2019
increment operator consists of two consecutive plus year++ // 2020
symbols, ++ , meanwhile a decrement operator consists year-- // 2019
of two consecutive minus symbols, -- .
The Math Library
The Math library, inherited from Java, contains various
mathematical functions that can be used within a Kotlin Math.pow(2.0, 3.0) // 8.0
program. Math.min(6, 9) // 6
Math.max(10, 12) // 12
Math.round(13.7) // 14