Kotlin_學習筆記01(準備學Android的菜雞)

第一個代碼

hello world

//主函數的基本格式
fun main(args: Array<String>) {//接受參數名是:args,數據類型字符串
    println("hello world")
    //打印語句,語句後的分號可寫可不寫
}

變量與輸出

變量與容器

var 用來聲明變量
不同類型的數據,最好是放在對應的容器中.

//變量的聲明與使用
fun main(args: Array<String>) {//函數入口,固定寫法
	var name ="李四"
	name ="lll"		// var用於聲明變量,kotlin會自動匹配類型
//	name = 123  輸入這個語句會存在報錯 ,這個name變量已經是“String”類型了。
//  現在放入123整數 自然報錯了
	println(name)	
}

常見容器的類型


類型名 存儲值範圍 Bit(位數)
Byte 整數 -128~127 8bit
Short 整數 - 32768~32767 16bit
Int 整數 -2147483648~1247483647 32bit
Long 整數 19位左右的正負數(-9223372036854775807~9223372036854775807) 64bit
Float 小數,小數點可以精確到6位
Double 小數,小數點可以精確到15-16位
String 字符串 ,用“”雙引號 引起的都可以存

類型推斷

Kotlin 會自動根據賦值提供相應容器
當然 也可以使用顯式的指定數據類型

//kotlin 會自動根據賦值提供相應容器 但是賦值後,再爲其賦其他的值,就可能會報錯
fun main(args: Array<String>) {
	var i=18
	i=19
//	i=999999999999 //此時會報錯,因爲這個數已經超過了int的存值範圍
	var j=999999999999 //此時j就是存放的長整型的容器了
	var s="String" 
	var k:Int =99 // 這是允許顯示規定類型的
//	var t:Byte=128  因爲Byte最大是127 賦值128會發生報錯

}

常量

用val 關鍵字表示,賦值後不可以在更改它的值 ,表示這個是隻讀的

	val PI=3.1415926
//	PI=3.14  會發生報錯

變量的取值範圍

上面的表格已經寫出來了,這裏是在代碼中找到的

fun main(args: Array<String>) {
	val aByte:Byte=Byte.MAX_VALUE
	val bByte:Byte=Byte.MIN_VALUE
	println("Byte的最大值:"+aByte)
	println("Byte的最小值:"+bByte)
	val aLong:Long=Long.MAX_VALUE
	val bLong:Long=Long.MIN_VALUE
	println("Long的最大值:"+aLong)
	println("Long的最小值:"+bLong)
	val aDouble:Double=Double.MAX_VALUE
	val bDouble:Double=Double.MIN_VALUE
	println("Double的最大值:"+aDouble)
	println("Double的最小值:"+bDouble)
	
	var aInt:Int=0b0011  //用二進制賦值0b
	println(aInt)
}
打印的結果如下:
Byte的最大值:127
Byte的最小值:-128
Long的最大值:9223372036854775807
Long的最小值:-9223372036854775808
Double的最大值:1.7976931348623157E308
Double的最小值:4.9E-324
3

函數

Mian函數

程序的入口函數,最先運行。

打印菱形
fun main(args: Array<String>) {
	//直接打印法....
	println("   *")
	println("  ***")
	println(" *****")
	println("*******")
	println(" *****")
	println("  ***")
	println("   *")
}
打印結果
   *
  ***
 *****
*******
 *****
  ***
   *
//感覺很蠢的一個例子 
//下面的這些函數沒得返回值,也沒有參數
fun main(args: Array<String>) {
	//調用函數 實現模塊化打印
	printoneStar()
	printthreeStar()
	printfiveStar()
	printSevenStar()
	printfiveStar()
	printthreeStar()
	printoneStar()
}
fun printoneStar(){
	println("   *")
}
fun printthreeStar(){
	println("  ***")
}
fun printfiveStar(){
	println(" *****")
}
fun printSevenStar(){
	println("*******")
}
當然結果同上

Boolean 運算

true -真; false -假;


fun main(args:Array<String>){
	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)
	//使用了數字類中的pow函數
	var num6=Math.pow(3.0,74.0)
	//需要傳入兩個DOuble類型的參數  同時返回一個double
	println(num5>num6)
	println(num5)
	println(num6)
	
}
運行結果
false
false
1.2676506002282294E30
2.0275559590445257E35

//這個函數  a,b是兩個參數,都是Int類型的
//返回值也是Int類型的 小括號外的:後面就是返回值類型
fun Add(a:Int,b:Int):Int
{
	return a+b
}
	var num1=2
	var num2=3
	println(Add(num1,num2))
打印結果
	5

函數加強

函數可以理解成是一個或者一組功能的組合
Kotlin函數編寫規則

		fun 函數名(參數名:參數類型):返回值類型{
			函數體
		}

Array:表示字符串數組
Demo:簡易計算器

fun main(args:Array<String>){
	var a=8
	var b=2
	println("a+b="+Plus(a,b))
	println("a-b="+Sub(a,b))
	println("a*b="+Mutl(a,b))
	println("a/b="+Devide(a,b))
}
//加法
fun Plus(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
}

運行結果
a+b=10
a-b=6
a*b=16
a/b=4


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章