Kotlin-基础语法练习一

Example:

kotlin 复制代码
fun main(args: Array<String>) {
    var a= 10 + 20
    println(a)
}

Output:

kotlin 复制代码
30

Arithmetic Operators-算术运算符:

Operators Meaning Expression Translate to
+ Addition a + b a.plus(b)
- Subtraction a - b a.minus(b)
* Multiplication a * b a.times(b)
/ Division a / b a.div(b)
% Modulus a % b a.rem(b)

Example:

kotlin 复制代码
fun main(args: Array<String>)
{
    var a = 20 
    var b = 4 
    println("a + b = " + (a + b))
    println("a - b = " + (a - b))
    println("a * b = " + (a.times(b)))
    println("a / b = " + (a / b))
    println("a % b = " + (a.rem(b)))
}

Output:

kotlin 复制代码
a + b = 24
a - b = 16
a * b = 80
a / b = 5
a % b = 0

Relational Operators-关系运算符

Operators Meaning Expression Translate to
> greater than a > b a.compareTo(b) > 0
< less than a < b a.compareTo(b) < 0
>= greater than or equal to a >= b a.compareTo(b) >= 0
<= less than or equal to a <= b a.compareTo(b) <= 0
== is equal to a == b a?.equals(b) ?: (b === null)
!= not equal to a != b !(a?.equals(b) ?: (b === null)) > 0

Example:

kotlin 复制代码
fun main(args: Array<String>)
{
    var c = 30
    var d = 40
    println("c > d = "+(c>d))
    println("c < d = "+(c.compareTo(d) < 0))
    println("c >= d = "+(c>=d))
    println("c <= d = "+(c.compareTo(d) <= 0))
    println("c == d = "+(c==d))
    println("c != d = "+(!(c?.equals(d) ?: (d === null))))
}

Output:

kotlin 复制代码
c > d = false
c < d = true
c >= d = false
c <= d = true
c == d = false
c != d = true

Assignment Operators-赋值运算符

Operators Expression Translate to
= a = 5 a.equalto(5)
+= a = a + b a.plusAssign(b) > 0
-= a = a - b a.minusAssign(b) < 0
*= a = a * b a.timesAssign(b)>= 0
/= a = a / b a.divAssign(b) <= 0
%= a = a % b a.remAssign(b)

Example:

kotlin 复制代码
fun main(args : Array<String>){
 var a = 10
    var b = 5
    a+=b
    println(a)
    a-=b
    println(a)
    a*=b
    println(a)
    a/=b
    println(a)
    a%=b
    println(a)

}

Output:

kotlin 复制代码
15
10
50
10
0

Unary Operators-单目运算符

Operators Expression Translate to
++ ++a or a++ a.inc()
-- --a or a-- a.dec()

Example:

kotlin 复制代码
fun main(args : Array<String>){
    var e=10
    var flag = true
    println("First print then increment: "+ e++)
    println("First increment then print: "+ ++e)
    println("First print then decrement: "+ e--)
    println("First decrement then print: "+ --e)
}

Output:

kotlin 复制代码
First print then increment: 10
First increment then print: 12
First print then decrement: 12
First decrement then print: 10

Logical Operatorsz-逻辑运算符

Operators Meaning Expression
&& Return true if all expressions are true (a>b) && (a>c)
|| Return true if any of the expressions is true (a>b)
! Return the complement of the expression a.not()

Example:

kotlin 复制代码
fun main(args : Array<String>){
    var x = 100
    var y = 25
    var z = 10
    var result = false
    if(x > y && x > z)
     println(x)
    if(x < y || x > z)
     println(y)
    if( result.not())
     println("Logical operators")
}

Output:

kotlin 复制代码
100
25
Logical operators

Bitwise Operators-位运算符

Operators Meaning Expression
shl signed shift left a.shl(b)
shr signed shift right a.shr(b)
ushr unsigned shift right a.ushr()
and bitwise and a.and(b)
or bitwise or a.or()
xor bitwise xor a.xor()
inv bitwise inverse a.inv()

Example:

kotlin 复制代码
fun main(args: Array<String>)
{
    println("5 signed shift left by 1 bit: " + 5.shl(1))
    println("10 signed shift right by 2 bits: : " + 10.shr(2))
    println("12 unsigned shift right by 2 bits:  " + 12.ushr(2))
    println("36 bitwise and 22: " + 36.and(22))
    println("36 bitwise or 22: " + 36.or(22))
    println("36 bitwise xor 22: " + 36.xor(22))
    println("14 bitwise inverse is: " + 14.inv())
}

Output:

kotlin 复制代码
5 signed shift left by 1 bit: 10
10 signed shift right by 2 bits: : 2
12 unsigned shift right by 2 bits:  3
36 bitwise and 22: 4
36 bitwise or 22: 54
36 bitwise xor 22: 50
14 bitwise inverse is: -15

Kotlin Output-Kotlin 输出

print() function // prints text

println() function // prints text and then moves the cursor to a new line

Example:

kotlin 复制代码
fun main(args: Array<String>)
{
    print("Hello, Geeks! ")
    println("This is Kotlin tutorial.")
    print("By GFG!")
}

Output:

kotlin 复制代码
Hello, Geeks! This is Kotlin tutorial.
By GFG!

Print Literals and Variables-打印字面量和变量

Example:

kotlin 复制代码
fun sum(a: Int,b: Int) : Int{
    return a + b
}

fun main(args: Array<String>){

    var a = 10
    var b = 20
    var c = 30L
    var marks = 40.4

    println("Sum of {$a} and {$b} is : ${sum(a,b)}")
    println("Long value is: $c")
    println("marks")
    println("$marks")
}

Output:

kotlin 复制代码
Sum of {10} and {20} is : 30
Long value is: 30
marks
40.4 

Kotlin Input-Kotlin 输入

readline() method

Scanner class

Example:

kotlin 复制代码
fun main(args : Array<String>) {
    print("Enter text: ")
    var input = readLine()
    print("You entered: $input")
}

Output:

kotlin 复制代码
Enter text: Hello, Geeks! You are learning how to take input using readline()
You entered: Hello, Geeks! You are learning how to take input using readline()

使用Scanner类从用户获取输入

Example:

kotlin 复制代码
import java.util.Scanner

fun main(args: Array<String>) {
    
    // create an object for scanner class
    val number1 = Scanner(System.`in`)       
    print("Enter an integer: ")
    // nextInt() method is used to take 
    // next integer value and store in enteredNumber1 variable
    var enteredNumber1:Int = number1.nextInt()
    println("You entered: $enteredNumber1")

    val number2 = Scanner(System.`in`)
    print("Enter a float value: ")

    // nextFloat() method is used to take next
    // Float value and store in enteredNumber2 variable
    var enteredNumber2:Float = number2.nextFloat()
    println("You entered: $enteredNumber2")

    val booleanValue = Scanner(System.`in`)
    print("Enter a boolean: ")
    // nextBoolean() method is used to take 
    // next boolean value and store in enteredBoolean variable
    var enteredBoolean:Boolean = booleanValue.nextBoolean()
    println("You entered: $enteredBoolean")
}

Output:

kotlin 复制代码
Enter an integer: 123
You entered: 123
Enter a float value:  40.45
You entered: 40.45
Enter a boolean:  true
You entered: true

在不使用Scanner类的情况下从用户获取输入:

readline () ! !将输入作为字符串,并在后面加上(!!)以确保输入值不为空。
Example:

kotlin 复制代码
fun main(args: Array<String>) {

    print("Enter an Integer value: ")
    val string1 = readLine()!!  

    // .toInt() function converts the string into Integer
    var integerValue: Int = string1.toInt() 
    println("You entered: $integerValue")

    print("Enter a double value: ")
    val string2= readLine()!!

    // .toDouble() function converts the string into Double
    var doubleValue: Double = string2.toDouble() 
    println("You entered: $doubleValue")
}

Output:

kotlin 复制代码
Enter an Integer value: 123
You entered: 123
Enter a double value:  22.22222
You entered: 22.22222

Kotlin Type Conversion- Kotlin类型转换

类型转换(也称为类型强制转换)是指将一种数据类型变量的实体更改为另一种数据类型。正如我们所知,Java支持从较小数据类型到较大数据类型的隐式类型转换。整数值可以分配给long数据类型。
但是,Kotlin不支持隐式类型转换。整数值不能分配给长数据类型。
Example:

kotlin 复制代码
public class TypecastingExample {  
   public static void main(String args[]) {  
      byte p = 12;  
      System.out.println("byte value : "+p);
      
      // Implicit Typecasting 
      // integer value can be assigned
      // to long data type
      long q = p;
    }
 }

Output:

kotlin 复制代码
var myNumber = 100
var myLongNumber: Long = myNumber       // Compiler error
// Initializer type mismatch: expected 'Long', actual 'Int'.
kotlin 复制代码
var myNumber = 100
var myLongNumber: Long = myNumber.toLong()     // compiles successfully

下面的辅助函数可用于将一种数据类型转换为另一种数据类型:

kotlin 复制代码
toByte() 
toShort() 
toInt() 
toLong() 
toFloat() 
toDouble() 
toChar() 

Example:

java 复制代码
fun main(args: Array<String>)
{
  
    println("259 to byte: " + (259.toByte()))
    println("50000 to short: " + (50000.toShort()))
    println("21474847499 to Int: " + (21474847499.toInt()))
    println("10L to Int: " + (10L.toInt()))
    println("22.54 to Int: " + (22.54.toInt()))
    println("22 to float: " + (22.toFloat()))
    println("65 to char: " + (65.toChar()))
    // Char to Number is deprecated in kotlin
    println("A to Int: " + ('A'.toInt()))
}

Output:

kotlin 复制代码
259 to byte: 3
50000 to short: -15536
21474847499 to Int: 11019
10L to Int: 10
22.54 to Int: 22
22 to float: 22.0
65 to char: A
A to Int: 65
相关推荐
Logintern0940 分钟前
[Matlab] 遗传算法求解TSP入门
开发语言·matlab
mmsx1 小时前
Android 新闻资讯客户端实战:从零搭建一个完整的新闻 App
android·app·源码
练习时长两年半的RL练习生1 小时前
与AI对话后对 Actor-Critic 中 TD Target 的 a‘ 来源总结
开发语言·人工智能·php
十五年专注C++开发2 小时前
100w条数据丝滑滚动!Qt Model/View 架构实战(二)
开发语言·c++·qt
萧瑟余晖2 小时前
Java深入解析篇三十九之集成测试
java·开发语言·集成测试
skr爱码士2 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
开发语言·c++·qt
总有刁民想爱朕ha2 小时前
零基础Python开发「图片批量转MP4视频」工具,本地离线、免费无水印
开发语言·python·音视频
l1t3 小时前
测试DuckDB luajit插件读取本地通达信文件
开发语言·数据库·duckdb
老一岁3 小时前
c问题总结(2)
c语言·开发语言
Ming_studying3 小时前
Python批量压缩图片:支持JPG_PNG_WebP、尺寸限制与CSV报告
开发语言·图像处理·python·pillow·图片压缩