(一)Kotlin—基础语法 文章目录一Kotlin——基础语法1. 变量2. 运算符2.1 算数运算符2.2 位运算符2.3 逻辑运算符3. 流程控制3.1 if-else3.2 when3.3 for3.4 while3.5 do-while一Kotlin——基础语法本教程不适合完全零基础的学习者不会详细解释变量、类型、循环、条件判断等通用编程概念。它更适合已经有 Java 基础、正在快速入门 Kotlin 的用户。文档只保留常用语法和简单示例帮助你快速建立 Kotlin 与 Java 之间的语法对应关系。1. 变量Kotlin 中变量主要分为两类关键字含义类比 Javaval只读变量赋值后不能重新赋值类似final变量var可变变量可以重新赋值普通变量var变量名称:数据类型val变量名称:数据类型// 示例vala:Int10varb:Int20b30Kotlin 支持类型推断能推断出类型时可以省略类型声明vala10// 推断为 IntvalnameTom// 推断为 String整型类型大小位最小值最大值Byte8-128127Short16-3276832767Int32-2,147,483,648 (-2^31)2,147,483,6472^31-1Long64-9,223,372,036,854,775,808 (-2^63)9,223,372,036,854,775,8072^63 - 1funmain(){valage:Int18valcount100valdistance:Long10000000000Lprintln(age)// 18println(count)// 100println(distance)// 10000000000}浮点型类型大小位符号与尾数位数小数位数Float32246-7Double645315-16funmain(){valprice:Double19.99valscore:Float98.5Fprintln(price)// 19.99println(score)// 98.5}布尔型类型值Booleantrue、falsefunmain(){valisLogin:BooleantruevalisVipfalseprintln(isLogin)// trueprintln(isVip)// false}字符型类型含义示例Char单个字符使用单引号A、中funmain(){valc:CharAprintln(c)// A}字符串类型类型含义示例String字符串使用双引号Hello Kotlinfunmain(){vala10valtext这是拼接的值$a// $ 是模板表达式会把变量值拼接到字符串中valtext2计算结果${a20}// 表达式需要用 ${}println(text)// 这是拼接的值10println(text2)// 计算结果30}2. 运算符2.1 算数运算符运算符含义示例加法a b-减法a - b*乘法a * b/除法a / b%取余a % b自增a--自减a--funmain(){vara10valb3println(ab)// 13println(a-b)// 7println(a*b)// 30println(a/b)// 3println(a%b)// 1aprintln(a)// 11}2.2 位运算符Kotlin 没有 Java 中的、、、|这类位运算符写法而是使用函数形式。位运算只适用于Int和Long类型。Kotlin 写法含义Java 类比a shl b有符号左移a ba shr b有符号右移a ba ushr b无符号右移a ba and b按位与a ba or b按位或aa xor b按位异或a ^ ba.inv()按位取反~afunmain(){vala8// 二进制1000valb2println(ashlb)// 32println(ashrb)// 2println(aandb)// 0println(aorb)// 10println(axorb)// 10println(a.inv())// -9}2.3 逻辑运算符运算符含义示例判断值相等a b!判断值不相等a ! b小于a b大于a b小于等于a b大于等于a bin判断是否在范围内x in 1..10!in判断是否不在范围内x !in 1..10逻辑与a 0 b 0!逻辑取反!flagfunmain(){vala10valb20valflagtrueprintln(ab)// falseprintln(ab)// trueprintln(ain1..10)// trueprintln(a0b0)// trueprintln(!flag)// false}3. 流程控制Kotlin 中if、when、循环语句的基本思想和 Java 类似。如果分支或循环体只有一行代码可以省略{}如果有多行代码必须保留{}。3.1 if-elseif(条件判断){条件成立时执行的代码}else{条件不成立时执行的代码}Kotlin 中if-else可以作为表达式使用即可以直接返回结果。funmain(){valscore85valresultif(score60){及格}else{不及格}println(result)// 及格}3.2 whenwhen类似 Java 中的switch但功能更强适合多分支判断。when(目标){匹配值1-代码 匹配值2-代码else-代码}funmain(){vallevel2valresultwhen(level){1-初级2-中级3-高级else-未知等级}println(result)// 中级}when也可以判断范围funmain(){valscore85valresultwhen(score){in90..100-优秀in60..89-及格else-不及格}println(result)// 及格}3.3 forfor(遍历出来的单个目标变量in可遍历目标){循环体}funmain(){for(iin1..3){println(当前值$i)// 当前值1、当前值2、当前值3}}指定步长funmain(){for(iin1..10step2){println(i)// 1、3、5、7、9}}倒序遍历funmain(){for(iin10downTo1){println(i)// 10、9、8、7、6、5、4、3、2、1}}不包含结束值funmain(){for(iin0until5){println(i)// 0、1、2、3、4}}3.4 whilewhile先判断条件条件成立才执行循环体。while(循环条件){循环体}funmain(){vari100while(i0){println(i)// 100、50、25、12、6、3、1i/2}}3.5 do-whiledo-while会先执行一次循环体再判断条件。因此不管条件是否成立循环体至少执行一次。do{循环体}while(循环条件)funmain(){vari0do{println(Hello World!)// 输出 10 次 Hello World!i}while(i10)}✨✨✨