Kotlin基礎語法(上)
輸出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
}