# Unary Operators (Sign, Inverts, Increment, and Decrement) in Kotlin

## Unary Operator Types

Kotlin has 5 Unary Operators similar to Java. They are

• Unary Plus Operator (+)
• Unary Minus Operator (-)
• Unary Inversion Operator (!)
• Increment Operator (++)
• Decrement Operator (--)

## Syntax

### 1. Unary Plus Operator

A number without a sign is positive number in general and hence adding a "+" will not change the value of a number

``````var variable_one = +variable_two

For example,

var sum = +2``````

### 2. Unary Minus Operator

This operator changes the sign of value.

``````var variable_one = -variable_two

For example,

var sub = -5``````

### 3. Unary Inversion Operator

``````var variable_one = !variable_two

For example,

var mul = !value``````

### 4. Increment Operator

• Increment Operator can be a pre-Increment Operator or post_Increment Operator.
• Pre-Increment Operator is mentioned by '++a'. When this operation is done, the value of a variable is incremented by one abruptly.
• Post-Increment Operator is mentioned by 'a++'. When this operation is done, the value of a variable is incremented by one after the operation is done. ie., Only while performing the next operation, the incremented value will be used.
``````//Pre-Increment Operator
var variable_one = ++variable_two
//Post-Increment Operator
var variable_one = variable_two++

For example,

//Pre-Increment Operator
var num = ++10
//Post-Increment Operator
var num = 10++``````

### 5. Decrement Operator

• Decrement Operator can be a pre-Decrement Operator or post_Decrement Operator.
• Pre-Decrement Operator is mentioned by '++a'. When this operation is done, the value of a variable is decremented by one abruptly.
• Post-Decrement Operator is mentioned by 'a++'. When this operation is done, the value of a variable is decremented by one after the operation is done. ie., Only while performing the next operation, the decremented value will be used.
``````//Pre-Decrement Operator
var variable_one = --variable_two
//Post-Decrement Operator
var variable_one = variable_two--

For example,

//Pre-Decrement Operator
var num = --10
//Post-Decrement Operator
var num = 10--``````

## Unary Operator Example Program in Kotlin

``````//Unary Operator Example Program in Kotlin
//Operator Kotlin Programs, Basic Kotlin Program
fun main(args: Array<String>) {
var number = 50
var boolValue = true
var num1 = 10;
var num2 = 100;
var num3 = 1000;
var num4 = 10000;

//Unary Minus Operation
val minus = -(number)
println("The value \$number after Unary Minus Operation is \$minus")

//Unary Inversion Operation
val value = !boolValue
println("The value \$boolValue after Unary Minus Operation is \$value")

//Post-Increment Operation
println("\nPost-Increment Operation")
println("Value to be used for Post-Increment Operation is \$num1")
//This will print the same as original value as the value will be incremented only during the next operation
println("Value after Post-Increment Operation is \${num1++}")

//Pre-Increment Operation
println("\nPre-Increment Operation")
println("Value to be used for Pre-Increment Operation is \$num2")
//This will print the incremented value as the operation takes place abruptly
println("Value after Post-Increment Operation is \${++num2}")

//Post-Decrement Operation
println("\nPost-Decrement Operation")
println("Value to be used for Post-Decrement Operation is \$num3")
//This will print the same as original value as the value will be decremented only during the next operation
println("Value after Post-Decrement Operation is \${num3--}")

//Pre-Decrement Operation
println("\nPre-Decrement Operation")
println("Value to be used for Pre-Decrement Operation is \$num4")
//This will print the decremented value as the operation takes place abruptly
println("Value after Post-Decrement Operation is \${--num4}")
}``````

### Sample Output

``````The value 50 after Unary Minus Operation is -50
The value true after Unary Minus Operation is false

Post-Increment Operation
Value to be used for Post-Increment Operation is 10
Value after Post-Increment Operation is 10

Pre-Increment Operation
Value to be used for Pre-Increment Operation is 100
Value after Post-Increment Operation is 101

Post-Decrement Operation
Value to be used for Post-Decrement Operation is 1000
Value after Post-Decrement Operation is 1000

Pre-Decrement Operation
Value to be used for Pre-Decrement Operation is 10000
Value after Post-Decrement Operation is 9999``````