当前位置: 首页 > news >正文

哪里有网站开发企业工信部信息备案网站首页

哪里有网站开发企业,工信部信息备案网站首页,兰州网页设计最新招聘信息,wordpress文章同步微信公众号1,基础语法 1.1 可变变量与不可变变量 可以多次赋值的变量是可变变量#xff0c;用关键字var表示#xff1a; var 标识符 : 类型 初始化值 注意#xff0c;在kotlin中成员变量不会赋默认值#xff0c;不像java一样#xff0c;必须手动添加默…1,基础语法 1.1 可变变量与不可变变量 可以多次赋值的变量是可变变量用关键字var表示 var 标识符 : 类型 初始化值 注意在kotlin中成员变量不会赋默认值不像java一样必须手动添加默认值。 var name : String yuanzhen name yuanzhen1 var age : Int 20 age 30 println(name:$name,age:$age) 输出 name:yuanzhen1,age:30 只能赋值一次的变量是不可变变量用关键字val表示类似于java里面的final val 标识符 : 类型 初始化值 注意在kotlin中成员变量不会赋默认值不像java一样必须手动添加默认值。 1.2类型推导 kotlin可以根据传入的值自动推导出变量类型 var name yuanzhen //类型推导 name yuanzhen1 var age 20 //类型推导 age 30 1.3函数 方法 kotlin中的Unit相当于java中的void 如果函数的返回值为Unit可以不用写返回值 kotlin中使用fun关键字定义函数 定义一个有参数和返回值的函数 fun test(name1:String ,name2:String):String{return name1name2 } 调用: println(test(yuan,zhen)) //输出 yuanzhen 也可以根据类型推导直接写成 fun test(name1:String ,name2:String) name1name2 可变参数用关键字vararg表示 fun lenMethod(vararg value: Int) {for (i in value) {println(i)} } 调用 lenMethod(1, 2, 3, 4, 5, 6, 7) 1.4字符串 在kotlin中$表示一个变量名或者变量值$name 表示变量值如果变量值有多个可以写为${name1name2} var name yuanzhen1 //类型推导 var name1 yuanzhen println(${namename1}) 输出yuanzhen1yuanzhen 换行   自己不用关心换行 val infoMesage AAAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCDDDDDDDDDDDEEEEEEEEEEE// 前置空格 println(infoMesage) val infoMesage2 AAAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCDDDDDDDDDDDEEEEEEEEEEE .trimIndent() // 没空格 println(infoMesage2) val infoMesage3 ?AAAAAAAAAAA?BBBBBBBBBBB?CCCCCCCCCCC?DDDDDDDDDDD?EEEEEEEEEEE .trimMargin(?) // 没空格 控制 println(infoMesage3) 输出 AAAAAAAAAAABBBBBBBBBBBCCCCCCCCCCCDDDDDDDDDDDEEEEEEEEEEEAAAAAAAAAAA BBBBBBBBBBB CCCCCCCCCCC DDDDDDDDDDD EEEEEEEEEEE AAAAAAAAAAA BBBBBBBBBBB CCCCCCCCCCC DDDDDDDDDDD EEEEEEEEEEE 1.5 null检查机制 在kotlin中如果你这么定义一个变量一定会报错的 因为这是kotlin特有的机制不允许直接赋空值。那么要怎么做呢 var age:Int?null 加个的意思就相当于 我发出了一个广播告诉所有人这个值可能是空的必须要有处理措施。 第一种处理措施 var age:Int?null val i age?.and(2) println($i) 输出null age?.and(2)的意思就是如果age是null那就不执行后面的内容了 第二种处理措施 var age:Int?null age!!.and(2) !!的意思就是我不管我就强行执行and方法出了事我负责。 第三种处理措施 就跟java一样自己判断处理 var age:Int?null if(age !null){age.and(2) } 1.6 区间 区间用..来表示 // 1 到 9 for (i in 1..9) {println(i) } 输出 1 2 3 4 5 6 7 8 9 那如果这样写呢 for (i in 9..1) {println(i) } 注意这样是不会输出的因为没有9到1这种写法那如果非要输出9到1呢 for (i in 9 downTo 1) {println(i) } 要用downTo 还可以指定步长 for (i in 1..20 step 2) {println(i) } 输出1 3 5 7 9 11 13 15 17 19    每隔2输出一个值 排除最后一个元素 for (i in 1 until 10) {println(i) } 输出1 2 3 4 5 6 7 8 9  2, 比较与数组 2.1比较 在java中比较两个字符串用equls来比较但是在kotlin中用来比较字符串的值 val name1: String 张三 val name2: String 张三println(name1 name2) 比较对象地址用表示 // --- 比较对象地址 val test1:Int? 10000 val test2:Int? 10000 println(test1 test2) 输出false 2.2 数组 在java中数组有三种创建方式 int[] array {1,2,3}; int[] array1 new int[3]; int[] array2 new int[]{7,8,9}; 在kotlin中 数组有两种方式 第一种: val numbers arrayOf(1, 2, 3, 4, 5, 6, 7, 8) 第二种 val numbers2 Array(10, {value: Int - (value 200) }) for (value in numbers2) {println(value) } 输出 200 201 202 203 204 205 206 207 208 209 为什么会这样呢 因为value的默认值是0之后会依次加一。 3,条件控制 比较大小值可以这样写: val number1: Int 99 val number2: Int 88 // 表达式 比 大小 最大值 val maxValue if (number1 number2) number1 else number2 println(maxValue) 输出99  如果要执行多行代码还可以这样写 val max: Int if (number1 number2) {println(number1是最大的)number1 } else {println(number2是最大的)number2 } 注意返回值不需要加return关键字 when相当于java中的switch case只不过用法更加灵活 用于某个值 val number5 5 when(number5) {1 - println(一)2 - println(二)3 - println(三)4 - println(四)5 - println(五)else - println(其他) } 用于区间 val number 700 when(number) {in 1..100 - println(1..100)in 200..500 - println(200..500)else - println(其他) } 用于执行多行代码 并且有返回值 val number 3 val result when (number) {1 - {println(很开心)今天是星期一99}2 - {println(很开心)今天是星期二88}3 - {println(很开心)今天是星期三true100}else - 99 } 4循环与标签 4.1标签 自定义标签在kotlin中我们可以自定义一个标签用来控制程序的执行流程等 yuanzhen for (i in 1..20) {for (j in 1..20) {println(i:$i, j:$j)if (i 5) {// break // j循环 给breakbreakyuanzhen // i循环 给break}} } 一个类中自带的标签 class Yuan {val I aafun show() {println(I)println(this.I)println(thisYuan.I)}} 4.2循环 在kotlin中要遍历一个list通常有三种方式 var items listOfString(aaa, bbb, ccc) 方式一 for (item in items) {println(item) } 方式二 items.forEach {println(it) } 方式三 for (index in items.indices) {println(下标$index, 对应的值${items[index]}) } 5类与对象 5.1类的创建 在kotlin中创建一个类如果前面不写修饰符默认就是public final  // 默认就是public final class Empty 这样是不能被继承的要想被继承就必须加上open open class Person{} 5.2构造函数 在java中会有一个默认的构造函数并且可以重载无数个构造函数。 但是在kotlin中它会有一个默认的主构造函数其余的都是次构造。 上面的Person类相当于有一个默认的主构造 open class Person() // 主构造 {} 那如果我们要给主构造增加一个参数呢 open class Person(id: Int) // 主构造 { } 那如果还要增加好几个次构造呢 open class Person(id: Int) // 主构造 {// 次构造constructor(id: Int, name: String) : this(id) {}// 次构造constructor(id: Int, sex: Char) : this(id) {}// 次构造constructor() : this(222) {}} 次构造必须继承主构造同时把参数传给主构造 在使用时可以这么用 val person Person() // 次构造 val person2 Person(23456) // 主构造 Person(234, yy) // 次构造 Person(234, M) // 次构造 5.3类的继承 继承父类用表示 class Student(id: Int) : Person(id) // 主构造 {// 再Kotlin 全部都是没有默认值的// 再Java 成员有默认值但是方法内部没有默认值// lateinit 懒加载 不用立马赋值在使用的时候赋值 没有赋值 就不能使用否则报错lateinit var name : Stringvar age: Int 0 } 5.4接口 在kotlin中接口和抽象类默认都是open的 interface Callback {fun callbackMethod() : Boolean} interface Callback2 {fun callbackMethod() : Boolean} abstract class Person : Callback , Callback2 {abstract fun getLayoutID() : Intabstract fun initView()} class Student : Person() {override fun getLayoutID(): Int 888override fun initView() { }override fun callbackMethod(): Boolean false } 与java差别不大 5.5data数据类 数据类是kotlin中独有的在java中我们要写数据类通常会手写很多属性和方法等。 在kotlin中我们只需要用数据类定义属性就可以不用关心getset等方法内部会自动帮我们生成。 // 会自动生成get set 构造 equals hashCode toString copy data class User(val id: Int, val name: String, val sex: Char) val user User(99, lisi, M) //copy 函数 val(myID, myName, mySex) user.copy() println(myID:$myID, myName:$myName, mySex:$mySex) 5.6单例 在kotlin中object只实例一次相当于单例 object MyEngine {fun m() {println(M run)}fun show() {println(我就只有一个实例)} } companion 意思是同伴对象。相当于java的static. 下面来看一下kotlin中的单例模式怎么写 方式一 class NetManager {// 只有一个实例object Holder {val instance NetManager()}// 看不到 static 可以 派生操作companion object {// 全部都是 相当于 Java staticfun getInstance() : NetManager Holder.instance}fun show(name: String) {println(show:$name);}} 方式二 class NetManager2 {companion object {private var instance: NetManager2? null// 返回值允许你返回nullfun getInstance(): NetManager2? {if (instance null) {instance NetManager2()}// 如果是null也返回回去了return instance// 第二种补救 我来负责 instance 肯定不为null// return instance!!}}fun show(name: String) {println(show:$name);}} 5.7嵌套类 嵌套类就是在类的内部又写了一个类但是它不是内部类拿不到外部类的成员。 class Sub {fun show() {println()}class A {class B {class C {}}} } 5.8内部类 在kotlin中内部类用关键字inner来表示。 class Sub {fun show() {println()}class A {class B {class C {}}}}// 这个才是内部类inner class Sub2 {fun show() {println(I)}} }
http://www.zqtcl.cn/news/865211/

相关文章:

  • 手机自助网站建设电商首页设计
  • 个人做电影网站违法吗招标网站哪个好
  • 岱山县网站建设旅游网站制作
  • 深圳建网站三千哪些网站可以做微商品牌宣传
  • 做网站哪些软件比较好个人网站备案幕布
  • 用数据库代码做家乡网站专门做二维码的网站
  • 上海网站开发工程师招聘网网络维护公司需要什么资质
  • 迅速百度网站自然排名wordpress注册密码链接失效
  • 北京安慧桥网站建设金泉网做网站推广
  • 网站建设与管理书威海城乡与住房建设部网站
  • 邯郸网站设计公司设计师公司排名
  • 网站设计广州量计价格多少钱网站建设
  • wordpress做外贸网站hexo wordpress 主题
  • 北京哪家做网站没网站怎么做cpa
  • 企业网站建设jz190关键词检测工具
  • 如何搭建第三方网站网站开发费属于无形资产
  • 河源城乡规划建设局网站常州网站seo
  • 房产网站建设方案项目书传到网站根目录
  • 页面设计网站素材制作个人网站
  • 怎么制作免费建网站cnzz wordpress
  • 网站界面技术方案wordpress开启子目录多站点模式
  • 汕头网站建设推广价格筑龙网官网首页
  • 河北省建设执业资格注册中心网站东莞微网站建设多少钱
  • 企业网站建设功能模块discover wordpress
  • 网站建设结课做诱导网站
  • 网站开发与设计难嘛青州网站建设推广
  • 网站开发程序员工资谷歌推广网站建设
  • 江门网页建站模板金富通青岛建设工程有限公司网站
  • 网站后台账户如何做会计分录做传奇开服一条龙网站哪个好
  • 天门市网站建设seo平台建设网站公司