输出Hello world!!!
fun main ( args: Array< String> ) {
println ( "Hello world!!!" )
}
变量与输出
fun main ( args: Array< String> ) {
var name: String = "张三"
var name = "张三"
var age = 20
name = "李四"
var aInt: Int = 0boo11
println ( "aInt的值:" + aInt)
}
kotlin常见数据类型
变量的取值范围
fun main ( args: Array< String> ) {
val along: Long = Long. MAX_VALUE
val blong: Long = Long. MIN_VALUE
println ( along)
println ( blong)
}
kotlin函数
fun main ( args: Array< String> ) {
print1star ( )
print3star ( )
print5star ( )
print3star ( )
print1star ( )
}
fun print1star ( ) {
println ( " *" )
}
fun print3star ( ) {
println ( " ***" )
}
fun print5star ( ) {
println ( "*****" )
}
kotlin布尔类型
fun main ( args: Array< String> ) {
var num1 = 2
var num2 = 3
println ( num1< num2)
var num3 = Math. sqrt ( 5.0 ) - Math. sqrt ( 4.0 )
var num4 = Math. sqrt ( 4.0 ) - Math. sqrt ( 3.0 )
println ( num3< num4)
var num5 = Math. pow ( 2.0 , 100.0 )
var num6 = Math. pow ( 3.0 , 75.0 )
println ( num5< num6)
}
kotlin命令行交互式编程
配置好环境变量后命令行输入kotlinc进入,:quit退出
函数加强
kotlin函数规则
fun 函数名( 参数名: 参数类型) : 返回值类型{
函数体
}
fun main ( args: Array< String> ) : Unit{
}
实例:计算器
fun main ( args: Array< String> ) {
var a = 8
var b = 2
println ( "a+b" + add ( a, b) )
println ( "a-b" + sub ( a, b) )
println ( "a*b" + mutl ( a, b) )
println ( "a/b" + devide ( a, b) )
}
fun add ( a: Int, b: Int) : Int{
return a+ b
}
fun sub ( a: Int, b: Int) : Int{
return a- b
}
fun mutl ( a: Int, b: Int) : Int{
return a* b
}
fun devide ( a: Int, b: Int) : Int{
return a/ b
}
字符串模板
fun diaryGenerater ( placeName: String) : String{
var temple = """
今天天气晴朗,万里无云,我们去${ placeName} 游玩,
首先映入眼帘的是${ placeName} ${ placeName. length} 个镏金大字
"""
return temple
}
fun main ( args: Array< String> ) {
println ( diaryGenerater ( "中山公园" ) )
首先映入眼帘的是中山公园4 个镏金大字
}
条件控制if…else…
fun checkFace ( score: Int) {
if ( score> 80 ) {
println ( "这是一个帅哥" )
} else {
println ( "这是一个衰哥" )
}
}
if ( score> 80 ) println ( "这是一个帅哥" ) else println ( "这是一个衰哥" )
fun returnMax ( a: Int, b: Int) : Int{
if ( a> b) return a else return b
}
字符串比较
fun main ( args: Array< String> ) {
var str1 = "Andy"
var str2 = "andy"
var str3 = "Andy"
println ( str1== str2)
println ( str1== str3)
println ( str1. equals ( str2, true ) )
}
kotlin空值处理
fun heat ( str: String? ) : String{
return "热" + str
}
fun main ( args: Array< String> ) {
var result1 = "水"
println ( heat ( result1) )
println ( heat ( null ) )
println ( heat ( null ) )
}
kotlin的when表达式
fun gradeStudent ( score: Int) {
when ( score) {
10 -> println ( "满分" )
9 -> println ( "干得不错" )
8 -> println ( "还可以" )
7 -> println ( "还需努力" )
6 -> println ( "刚及格" )
else -> println ( "还需要加油" )
}
}
fun main ( args: Array< String> ) {
gradeStudent ( 7 )
}
fun diaryGenerater ( placeName: String) : String{
var temple = """
今天天气晴朗,万里无云,我们去${ placeName} 游玩,
首先映入眼帘的是${ placeName} ${ numToChinese ( placeName. length) } 个镏金大字
"""
return temple
}
fun numToChinese ( num: Int) : String{
var result = when ( num) {
1 -> "一"
2 -> "二"
3 -> "三"
4 -> "四"
5 -> "五"
6 -> "六"
else -> "好几个"
}
return result
}
fun main ( args: Array< String> ) {
println ( diaryGenerater ( "中山公园" ) )
首先映入眼帘的是中山公园四个镏金大字
}
kotlin的loop和Range
fun main ( args: Array< String> ) {
var nums = 1 .. 100
var nums2 = 1 until 100
var result = 0
for ( num in nums) {
result = result+ num
}
println ( "结果:${ result} " )
var nums2 = 1 .. 16
for ( num in nums2 step 2 ) {
println ( num)
}
var num3 = nums2. reversed ( )
for ( num in nums3) {
println ( num)
}
println ( num3. count ( ) )
}
kotlin的List和Map入门
fun main ( args: Array< String> ) {
var lists = listOf ( "买鸡蛋" , "买大米" , "买肉" )
for ( list in lists) {
println ( list)
}
for ( ( i, e) in lists. withIndex ( ) ) {
println ( "$i $e " )
}
}
import java. util. TreeMap
fun main ( args: Array< String> ) {
var map = TreeMap< String, String> ( )
map[ "好" ] = "good"
map[ "学习" ] = "Study"
map[ "天" ] = "day"
map[ "向上" ] = "up"
println ( map[ "好" ] + " " + map[ "好" ] + " " + map[ "学习" ] )
println ( map[ "天" ] + " " + map[ "天" ] + " " + map[ "向上" ] )
}
函数和函数式表达式
如果函数的函数体只有一句,那么可以省略大括号,如果有返回值,可以如下书写
fun main ( args: Array< String> ) {
println ( add ( 5 , 3 ) )
}
fun add ( x: Int, y: Int) : Int = x+ y
fun main ( args: Array< String> ) {
var i = { x: Int, y: Int -> x+ y}
println ( i ( 3 , 5 ) )
var j: ( Int, Int) -> Int = { x, y -> x+ y}
println ( j ( 3 , 5 ) )
}
Kotlin默认参数和具名参数
import java. util. TreeMap
val Pi = 3.1415926f
fun main ( args: Array< String> ) {
var area = 获取长方形面积( 3 , 2 )
println ( area)
var area2 = 获取圆的周长( 半径 = 2.0f )
println ( area2)
}
fun 获取长方形面积( 长: Int, 宽: Int) : Int{
return 长* 宽
}
fun 获取圆的周长( PI: Float = Pi, 半径: Float) : Float{
return 2 * PI* 半径
}
fun 获取圆的周长2 ( PI: Float = Pi, 直径: Float) : Float{
return PI* 直径
}
fun 获取圆柱体体积( PI: Float = Pi, 半径: Float, 高: Float) : Float{
return PI* 半径* 半径* 高
}
fun 获取球体的表面积( PI: Float = Pi, 半径: Float) : Float{
return PI* 半径* 半径* 4
}