What Is Kotlin?
Kotlin
is easy, open source, statically-typed, Procedural and object oriented
programming (OOPs) language which runs on the Java Virtual Machine (JVM) and used for server-side development, Android apps, and much more.
Kotlin
Programming was developed by JetBrains in 2011. Kotlin compiles to bytecode, so it can perform just as well as Java.
In 2017, Google
announced Kotlin is an official language for Android development.
Kotlin
works with all existing Java libraries and frameworks and runs with the same
level of performance as Java.
Why To Use Kotlin?
1. Kotlin
is quite simple and safe compared to Java
2. Kotlin
is open-source
3. Supports
OOPs object oriented programming
4. Kotlin
compiles to bytecode
5. Kotlin
used for server-side development
6. Kotlin
used for Android apps development also
7. Kotlin
is multi-platform
What are the advantages of using Kotlin?
1. Its
performance is good.
2. Kotlin
is a functional language and based on JVM,
so remove lots of boiler plate code.
3. Kotlin
is easy to learn because its syntax is similar to java.
4. It’s
expressive language so make code
readable and understandable.
5. It’s
not replacement of java.
6. It’s
an official language of android
development.
What are the disadvantages of Kotlin?
Kotlin does not have static modifier that create some problem for some conventional java
developers.
Which type of Programming does Kotlin support?
Kotlin supports two types of programming -
1. Object
Oriented programming
2. Procedural
Programming
Why developers can prefer Kotlin over Java?
Kotlin is quite open-source, multi-platform
supports, simple and safe as compared to Java.
It can also offer some useful features which are
not supported by Java like - Null Safety, lambdas, and operator overloading.
What are the features available in Kotlin but not in Java?
Kotlin contains some addition features that Java
doesn’t -
1. Null
Safety - Kotlin handles Null Pointer Exceptions
2. Kotlin
support lambdas, higher order functions, smart casting.
3. Operator
Overloading
4. Extension
Functions
5. Companion
Objects
6. Range
expressions
7. Data
classes
8. And
so on
What are the features of Java has that Kotlin does not?
1. Primitive
types like Int, Boolean and so on
2. Non-private
Fields
3. Static
members
4. Checked
exceptions
5. Wildcard-types
What is Kotlin’s Null Safety?
Kotlin handles Null Pointer Exceptions and used
to eliminate the risk of occurrence of NullPointerException in real-time.
The ways to handle Null Safety -
1. Checks
for a null in conditions
2. Use
Safe Call Operator (?.)
3. Use
Elvis Operator (?:)
Example
-
fun main(args: Array){
// variable is declared as non-null
by default
var str: String = "Hi, Anil!"
// kotlin prevents you assign a null
to a non-nullable variable
// str=null //assing null to a causes
complilation error
println("str is : $str")
// variable is declared as nullable
var str1: String? = "Hi, Anil!"
println("str1 is : $str1")
str1 = null
println("str1 is : $str1")
}
What are the modifiers that are available in Kotlin?
Kotlin’s modifiers -
1. public
2. private
3. protected
4. interval
What is the extension of Kotlin file?
The Kotlin file extension is - .kt
How to declare variable in Kotlin?
val abc: Char
//OR
@Volatile var xyz: Long? = null
Is there Ternary Conditional Operator in Kotlin like in Java?
No! Not available.
What is the difference between var and val?
The value (val) is like a constant whose value cannot
be change once assigned while variable (var) value we can change.
What is the entry point to a Kotlin program?
The main() function is the entry point to a
Kotlin program.
The Example looks like -
//Main entry point
fun main(args: Array<String>) {
val user = User(Name="Anil", Age=33, Id=1012)
printUser(user)
}
//print User's function
fun printUser(user: User){
println(user)
}
//User's data class
data class User(val Name: String, val Age: Int, val Id: Int);
Can kotlin code be executed without JVM?
Yes! It compiles
Kotlin code into native code which can be executed without Java Virtual Machine
(JVM).
What is data class in Kotlin?
This class holds the basic data type. It does not
contain any functionality.
What are different Types of Constructors in Kotlin?
Two Types of Constructors in Kotlin -
1. Primary Constructor
- It is part of class header and is declared after class name.
2. Secondary Constructor
-It is declared inside class body and contains more than one secondary constructor.
What are primitive Data Types in kotlin?
Kotlin does not support primitive Data Types like
in Java.
List of extension methods Kotlin provides to java.io.File?
1. readBytes()
- it use for reading contents of file to
Byte Array
2. readText()
- it use of reading contents of file to a single String
3. forEachLine()
- It use for reading a file line by line in Kotlin
4. readLines()
- It use to reading lines in file to List
5. bufferedReader()
- It use for reading contents of a file into Buffered Reader
How to compare two strings in Kotlin?
We can compare string using the below operators -
1. Using
“==” operator:
2. compareTo()
extension function
Can you migrate code from java to Kotlin?
Yes! Off course, the JetBrains IDEA provides
inbuilt tool.