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


发布了28 篇原创文章 · 获赞 11 · 访问量 2425

猜你喜欢

转载自blog.csdn.net/Y_an_Y/article/details/100710113