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

企业建设网站有什么作用为企业建网站过时了

企业建设网站有什么作用,为企业建网站过时了,搭建自己的邮件服务器,系统难还是网站设计难做一、介绍 目前在Java JDK版本的不断升高,新的表达式已开始出现,但是在Android混淆开发中,kotlin的语言与Java的语言是紧密贴合的。所以Java lambda表达式在kotlin中以新的身份出现:高阶函数与lambda表达式特别类似。接下来我讲会先…

一、介绍

        目前在Java JDK版本的不断升高,新的表达式已开始出现,但是在Android混淆开发中,kotlin的语言与Java的语言是紧密贴合的。所以Java lambda表达式在kotlin中以新的身份出现:高阶函数与lambda表达式特别类似。接下来我讲会先讲Java的lambda,再介绍kotlin的高阶函数。

二、Java lambda表达式介绍与实战

2.1lambda的表达式格式介绍

 1. 不需要参数,返回值为 5  
() -> 5  2. 接收一个参数(数字类型),返回其2倍的值  
x -> 2 * x  3. 接受2个参数(数字),并返回他们的差值  
(x, y) -> x – y  4. 接收2个int型整数,返回他们的和  
(int x, int y) -> x + y  5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)  
(String s) -> System.out.print(s)

大致可以分为几类:

1.有参数无返回值(String msg)->

2.无参数有返回值()->Int

3.有参数有返回值(int a,int b)->()

2.2实战

        Java lambda表达式是通过接口定义出来,一个接口只能定义一种类型,具体逻辑需要通过Java lambda自行定义,接口只想当一种类型

interface Add {int add(int a, int b); //返回值
}

上面定义了一个Add类型,

Add add = (int a, int b) -> (a + b);//什么+
Add sub = (int a, int b) -> (a - b);//申明-
Add mul = (int a, int b) -> (a * b);//申明

通过Add类型定义了三种lambda操作符。这样就完成了

使用

1.第一种通过操作符类型自行执行

public int operation(int a, int b, Add add) {return add.add(a, b);
}

2.直接调用

add.add(10, 20)

2.3实战Demo

public class TestJava {@Testpublic void main() {TestJava tester = new TestJava();Back back = () -> 4;Log log = (String msg) -> com.example.lib.Log.INSTANCE.log(msg);//单个形参,可以不用注明变量类型Log log1 = msg -> com.example.lib.Log.INSTANCE.log(msg);Add add = (int a, int b) -> (a + b);//什么+Add sub = (int a, int b) -> (a - b);//申明-Add mul = (int a, int b) -> (a * b);//申明com.example.lib.Log.INSTANCE.log("back=" + back);log.log("我调用了Log");com.example.lib.Log.INSTANCE.log("add=" + add.add(10, 20));tester.operation(50, 10,add);tester.operation(50, 10,sub);}public int operation(int a, int b, Add add) {return add.add(a, b);}interface Back {int back(); //返回固定参数}interface Add {int add(int a, int b); //返回值}interface Log {void log(String msg);}
}

三、kotlin的高阶函数定义与使用

        通过Java的lambda的表达式学习,已掌握了表达式的使用。在kotlin中,把lambda的表达式定义为高阶函数。用法差不多

在kotlin中,高阶函数的定义:

格式:函数名(形参类型...)->返回值

例如:add(Int ,Int)->Int,log(String)->Unit

形参只需要申明参数类型,可以支持多个或者为空。返回值,如果不需要直接些Unit

使用教程

kotlin的高阶函数与Java的lambda表达式很相似,但是用法不同,高阶函数是用在函数中的,作为参数使用。类似与接口回调。

实战:

1.定义一个加法

 fun add(a: Int, b: Int, log: (Int, Int) -> Int) {val data = log(a, b)Log.log(data)}

2.调用

    test.add(2, 3, { a, b ->Log.log("a + b=${a + b}")a + b})test.add(2, 4) { a, b ->a + b}

正常调用有两种:

1.参数在方法体中(2,3,{a,b->})

2.方法外(2,4){a,b->}

注意:如果有返回值,最后一行表达式或者参数将作为函数变量返回,无需用return

引用调用两种:

1.在函数体定义一个函数与方法中的参数函数一样,实现这个函数的方法体

    fun addNum(a: Int, b: Int): Int {return a + b}

调用:

用当前函数变量引用这个方法即可

   val addNum3 = test.add(1, 2, test::addNum)

2.在函数体外定义一个方法,kotlin支持在函数体外定义函数,这个函数类似全局函数,只是调用只需指向函数名,不需要当前类。

    val addNum2 = test.add(1, 2, ::addNum)

Demo:

class Test {fun add(a: Int, b: Int, log: (Int, Int) -> Int) {val data = log(a, b)Log.log(data)}fun log(msg: String, show: (String) -> Unit) {show(msg)}fun addNum(a: Int, b: Int): Int {return a + b}}fun main() {val test = Test()test.add(2, 3, { a, b ->Log.log("a + b=${a + b}")a + b})test.add(2, 4) { a, b ->a + b}test.log("msg") {Log.log(it)}val addNum2 = test.add(1, 2, ::addNum)Log.log("addNum2=${addNum2}")val addNum3 = test.add(1, 2, test::addNum)Log.log("addNum3=${addNum3}")
}// ::addNum 这是一种函数引用的写法,表示将函数addNum()来作为参数传递给高阶函数
fun addNum(a: Int, b: Int): Int {return a + b}

四、总结

        kotlin的写法是比较特殊,高阶函数类似接口返回,Java中的lambda的表达式,更像一个定义语言。但是语法接口类似,只是在使用上有所区别。

        特别是kotlin,在大趋势kotlin的写法中,高阶函数使用特别多,甚至一些开发者把高阶当成接口回调。新手特别注意。

http://www.yayakq.cn/news/746297/

相关文章:

  • wordpress 阅读器seo关键词快速获得排名
  • 做网站推广有哪些公司中国优秀网页设计案例
  • 江苏省建设安全协会网站wordpress定时器插件
  • 典型的网站开发人员做网站较好的框架
  • 中小企业网站建设价位重庆制作网站模板建站公司
  • 中国网页设计师网站心理网站开发背景
  • 建设品牌公司网站软件开发成本估算
  • 网页设计作品欣赏网站深圳英文网站建设去哪家
  • 潮州专业网站建设制作建设项目环境影响评价登记表网站
  • 网站入口你会回来感谢我的关键词站长工具
  • 网站开发 案例详解推销什么企业做网站和app
  • 山西教育学会网站建设多语言商城系统
  • 写作网站官方no.7极简wordpress博客主题
  • 营销方案网站咸宁公司网站建设
  • 中鼎国际建设集团网站小灯具网站建设方案
  • php 英文商城网站建设电商网站建设信息
  • 邢台做移动网站的地方石家庄网址服务
  • 合肥营销型网站建设开发网站访问速度优化
  • 购物网站建设 属于信息系统管理与设计么?免费浪漫网页制作网站
  • 绍兴网站制作方案wordpress固定连接404
  • wordpress装百度统计优化设计五年级上册数学答案
  • 阿克苏网站建设优化制作网站需要学什么软件
  • 网站服务器地址在哪里看网站vip功能怎么实现
  • 成都网站开发哪家公司好一个公司可以做两个网站推广吗
  • 中心网站建设深圳出国劳务公司官网
  • 网站seo策划方案案例分析wordpress添加自定义按钮
  • 深圳网站公司制作网站免费备案
  • 网站建设一般多钱wordpress获取部分分类
  • 六安公司做网站辽宁省建设工程信息网官网招标
  • 海外电商怎么做如何从零开始企业网站优化之如何做需求分析