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

网站找图片做海报侵权网站建设600分站优缺点

网站找图片做海报侵权,网站建设600分站优缺点,南充市租房子信息网,学生网站建设的心得有多种编程风格/范例#xff0c;但是两种著名的风格是Imperative和Functional 。 命令式编程是最主要的范例#xff0c;因为几乎所有主流语言#xff08;C #xff0c;Java#xff0c;C#xff03;#xff09;都在推广它。 但是在最近几年中#xff0c;函数式编程开始… 有多种编程风格/范例但是两种著名的风格是Imperative和Functional 。 命令式编程是最主要的范例因为几乎所有主流语言C JavaC都在推广它。 但是在最近几年中函数式编程开始受到关注。 主要驱动因素之一是仅所有新计算机都带有4、8、16或更多核并且以命令式方式编写并行程序以利用所有核非常困难。 功能风格将这种困难转移到了运行时级别并使开发人员摆脱了繁琐且容易出错的工作。 等待 那么这两种样式有什么区别。 命令式编程是一种范例您可以在其中说明如何准确地执行机器/运行时语句以及应该执行哪些准确的语句以达到所需的结果。 函数式编程是声明性编程范式的一种形式您可以在其中声明要实现的目标而机器/运行时将确定最佳的实现方式。 功能风格将方式部分移至运行时级别并帮助开发人员专注于哪一部分。 通过抽象如何部分我们可以写出更好的可维护性和可扩展的软件。 为了应对多核计算机带来的挑战并保持对开发人员的吸引力 Java 8引入了紧随其后的功能范式。 有足够的理论让我们使用Java来实现命令式和函数式编程中的几个编程难题然后看看它们之间的区别。 斐波那契数列命令式与功能性 斐波那契数列是数字的序列1、1、2、3、5、8、13、21、34…。下一个数字是通过将前面的两个数字相加而得出的。 斐波那契数列的迭代式和命令式 public static int fibonacci(int number) {int fib1 1;int fib2 1;int fibonacci fib1;for (int i 2; i number; i) {fibonacci fib1 fib2;fib1 fib2;fib2 fibonacci;}return fibonacci; }for(int i 1; i 10; i) {System.out.print(fibonacci(i) ); } // Output: 1 1 2 3 5 8 13 21 34 55 正如你可以在这里看到我们的重点是如何 迭代状态很多而这正是我们想要实现的。 斐波那契数列的迭代式和函数式 IntStream fibonacciStream Stream.iterate(new int[]{1, 1},fib - new int[] {fib[1], fib[0] fib[1]}).mapToInt(fib - fib[0]);fibonacciStream.limit(10).forEach(fib - System.out.print(fib )); // Output: 1 1 2 3 5 8 13 21 34 55 相反你可以在这里看到我们的重点是我们要达到的目标 。 质数命令式与功能性素数质数是大于1的自然数除1本身以外没有正除数。 命令式素数 public boolean isPrime(long number) { for(long i 2; i Math.sqrt(number); i) { if(number % i 0) return false; } return number 1; } isPrime(9220000000000000039L) // Output: true 再次我们在此重点关注如何 迭代状态。 功能风格的素数 public boolean isPrime(long number) { return number 1 LongStream.rangeClosed(2, (long) Math.sqrt(number)) .noneMatch(index - number % index 0); } isPrime(9220000000000000039L) // Output: true 在这里我们再次的重点是我们要达到的目标 。 函数式样式帮助我们抽象出了在数字范围内进行显式迭代的过程。 您现在可能会想嗯这就是我们所能拥有的一切……。 让我们看看如何以功能风格使用所有核心获得并行性。 public boolean isPrime(long number) { return number 1 LongStream.rangeClosed(2, (long) Math.sqrt(number)).parallel() .noneMatch(index - number % index 0); } isPrime(9220000000000000039L) // Output: true 而已 我们只是将.parallel添加到流中。 您可以看到库/运行时如何为我们处理复杂性。 阶乘命令式与函数式 n的阶乘是所有小于或等于n的正整数的乘积。 迭代式和命令式的阶乘 public long factorial(int n) {long product 1;for ( int i 1; i n; i ) {product * i;}return product; } factorial(5) // Output: 120迭代和功能风格的阶乘 public long factorial(int n) {return LongStream.rangeClosed(1, n).reduce((a, b) - a * b).getAsLong(); } factorial(5) // Output: 120 值得重申的是通过抽象如何部分我们可以写出更好的可维护性和可扩展的软件。 要查看Java 8引入的所有功能特性请查看以下Lambda表达式方法参考和流指南。 翻译自: https://www.javacodegeeks.com/2015/12/functional-vs-imperative-programming-fibonacci-prime-factorial-java-8.html
http://www.sadfv.cn/news/183454/

相关文章:

  • 电子商务网站建设和维护网站开发网上接单
  • 莱芜网站建设及优化北京知名互联网公司排名
  • 网站 动态ae模板免费下载网站
  • 温州鹿城网站制作报价免费做宣传的网站是
  • 广东外贸网站建设企业wordpress页面内导航
  • 设计一个简单的旅游网站电脑网络服务在哪里
  • 理财网站如何做推广方案一流设计网站
  • 国内设计网站大全软件工程的八个步骤
  • 站长统计免费下载wordpress 教程
  • 江门官网建站公司如何利用网站赚钱
  • php 向网站发送数据大连城乡建设网官网
  • 郑州网站建设哪家好怎么样福建建筑人才服务中心档案
  • 朝阳区网站建设公司html小清新类型网站
  • 做阿里巴巴网站装修要多久广州网站改版 网站建设
  • 北京住房城乡建设部网站开发一个app大概要多少钱
  • wordpress个人网站主题WordPress打开 速度
  • 基于多站点的网站内容管理平台的管理与应用平阴网站建设
  • 学校网站设计及代码福建住房和建设网站
  • 卖文章的网站源码公司名字大全列表
  • wordpress 内容 管理郑州百度网站快速优化
  • wordpress后台登录地址改搜索引擎优化师工资
  • 平湖市网站建设app推广的网站
  • 长沙房地产网站设计佛山网站推广怎么做
  • 网站开发的工作总结中世纪变装小说wordpress
  • 石佛营网站建设网站建设会面临些什么问题
  • 商丘做网站用什么程序中建八局第二建设有限公司
  • 郑州做网站 熊掌号wordpress 百度知道主题
  • 全网网站推广手机端网站建设郑州
  • 注册网站入口网站维护员工作内容
  • 韩国网站域名分类wordpress登录几天退出账号