### Kotlin Data Types

Defining Variable with Datatype

Data types are divided into different groups:
• Numbers
• Characters
• Booleans
• Strings
• Arrays

## Numbers

Number types are divided into two groups:

Integer types store whole numbers, positive or negative (such as 123 or -456), without decimals.
Valid types are Byte, Short, Int, and Long.
// Integer TYPES: Byte (8 bit), Short (16 bit), Int (32 bit), Long (64 bit)

Floating-point types represent numbers with a fractional part, containing one or more decimals.
There are two types: Float and Double.
// Floating Point number Types: Float (32 bit), Double (64 bit)

Byte
The Byte data type can store whole numbers from -128 to 127.
This can be used instead of Int or other integer types to save memory when you are certain that the value will be within -128 and 127
Short
The Short data type can store whole numbers from -32768 to 32767
Int
The Int data type can store whole numbers from -2147483648 to 2147483647
Long
The Long data type can store whole numbers from -9223372036854775808 to 9223372036854775808. This is used when Int is not large enough to store the value.
Optionally, you can end the value with an "L"

Floating Point Types
Floating-point types represent numbers with a decimal, such as 9.99 or 3.14515.
Float
The Float data type can store fractional numbers from 3.4e−038 to 3.4e+038. Note that you should end the value with an "F"
Double
The Double data type can store fractional numbers from 1.7e−308 to 1.7e+038

## Characters

The Char data type is used to store a single character. A char value must be surrounded by single quotes, like 'A' or 'c':

## Booleans

The Boolean data type can only take the values true or false
// Booleans the type Boolean is used to represent logical values.
// It can have two possible values true and false.

## Strings

The String data type is used to store a sequence of characters (text).
String values must be surrounded by double quotes

## Arrays

Arrays are used to store multiple values in a single variable, instead of declaring separate variables for each value.
To create an array, use the arrayOf() function, and place the values in a comma-separated list inside it

Notes
• If you don't specify the type for a numeric variable, it is most often returned as Int for whole numbers and Double for floating-point numbers.
• Use Float or Double? The precision of a floating-point value indicates how many digits the value can have after the decimal point. The precision of Float is only six or seven decimal digits, while Double variables have a precision of about 15 digits. Therefore it is safer to use Double for most calculations.
• Unlike Java, you cannot use ASCII values to display certain characters. The value 66 would output a "B" in Java but will generate an error in Kotlin
`val myNum: Int = 5                // Intval myNum: Byte = 100             // Byteval myNum: Short = 5000           // Shortval myNum: Int = 100000           // Int val myNum: Long = 15000000000L    // Longval myNum: Float = 5.75F          // Floatval myDoubleNum: Double = 5.99    // Doubleval myLetter: Char = 'D'          // Charval myBoolean: Boolean = true     // Booleanval myText: String = "Hello"      // Stringval cars = arrayOf("BMW", "Ford", "Mazda")  // Array`
..
In Kotlin, the type of a variable is decided by its value:
`val myNum = 5             // Intval myDoubleNum = 5.99    // Doubleval myLetter = 'D'        // Charval myBoolean = true      // Booleanval myText = "Hello"      // String`
..