博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lesson_fun
阅读量:5292 次
发布时间:2019-06-14

本文共 2949 字,大约阅读时间需要 9 分钟。

package com.bjsxt.scalaimport java.util.Dateobject Lesson_fun {  def main(args: Array[String]): Unit = {    /**     * 1.方法定义     * 	1.方法定义使用“def”     * 	2.方法可以传参,参数类型不能省略,方法的计算结果类型可以省略,会自动推断。     * 	3.方法名和方法体“{...}”要有等号隔开,也可以不写“=”,不写“=”无论方法体最后一行计算结果是什么,都会被丢弃,返回Unit.     * 	4.方法体中的返回值可以使用return返回,如果写“return”,方法体的返回类型不能省略。     * 		也可以不使用return返回,不写return 方法体默认将最后一行计算的结果返回,建议不写return。     * 	5.方法体中如果一行可以搞定,方法体的“{..}”可以省略不写。     *///    def max(x:Int,y:Int) ={//      if(x>y){//         x//      }else{//         y//      }//    }//    def max(x:Int,y:Int) = if(x>y)  x else y//    //    println(max(1,2))        /**     * 2.递归函数     *  递归方法要显式声明方法的返回类型     *      *///    def fun(num:Int):Int = {//      if(num==1){//        num//      }else{//        num*fun(num-1)//      }//    }//    //    println(fun(5))        /**     * 3.参数有默认值的函数     *///    def fun(a:Int=100,b:Int=200) = {//      a+b//    }//    //    println(fun(b=3))        /**     * 4.可变长参数的函数     *///    def fun(s:String*) = {//      s.foreach((str:String)=>{//        println(str)//      })//    }//    def fun(ss:String*) = {//    		ss.foreach(println)//    }//    //    fun("abc","hello","world","yyy")        /**     * 5.匿名函数     *///    val f = ()=>{//      println("hello world~")//    }    //    val f = (a:Int,b:Int)=>{//      a+b//    }//   println(f(100,200))            /**     * 6.偏应用函数     *///    def showLog(date:Date,log:String) = {//      println("date is "+date +" ,log is "+log)//    }//    val date = new Date()//    showLog(date,"a")//    showLog(date,"b")//    showLog(date,"c")//    //    val fun = showLog(date,_:String)//    fun("aaa")//    fun("bbb")//    fun("ccc")        /**     * 7.嵌套函数     *///    def fun(i:Int)={//      //      def fun1(a:Int):Int={//        if(a==1){//          1//        }else{//          a*fun1(a-1)//        }//      }//      //      fun1(i)//      //    }//    //    println(fun(5))        /**     * 8.高阶函数     * 	函数的参数是函数     *  函数的返回是函数     *  函数的参数和返回都是函数     */    //函数的参数是函数    //    def fun1(f:(Int,Int)=>Int,c:String) = {//      val result = f(100,200)//      result+"~"+c//    }//    val end = fun1((a:Int,b:Int)=>{//      a*b//    },"hello")//    //    println(end)        //函数的返回是函数 -----要显示的声明函数的返回类型//     def fun(a:Int,b:Int) :(Int,Int)=>Int= {//       val result = a+b//       def fun1(i:Int,j:Int):Int={//         i*j+result//       }//       fun1//     }//    //    println(fun(1,2)(100,200))        // 函数的参数和返回都是函数    //    def fun(f:(Int,Int)=>Int,a:Int):(String,String)=>String ={//      val result = f(1,2)+a//      def fun1(s1:String,s2:String):String = {//        s1+"@"+s2+"$"+result//      }//     fun1 //    }//    //    println(fun((a:Int,b:Int)=>{a*b},100)("hello","world"))//hello@world$102        /**     * 9.柯里化函数     *   高阶函数简化版     *///    def fun(a:Int,b:Int)(c:Int,d:Int) = {//      a+b+c+d//    }//    //    println(fun(1,2)(3,4))  }}

  

转载于:https://www.cnblogs.com/huiandong/p/9278287.html

你可能感兴趣的文章
模运算
查看>>
python多线程的使用
查看>>
团队编程项目作业1-成员简介及分工
查看>>
使用Chrome(PC)调试移动设备上的网页
查看>>
UI基础--手写代码实现汤姆猫动画
查看>>
Python+pytesseract+Tesseract-OCR图片文字识别(只适合新手)
查看>>
使用gitbash来链接mysql
查看>>
docker镜像管理基础
查看>>
黑盒测试和百合测试的优缺点对比
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
装饰者模式
查看>>
右侧导航栏(动态添加数据到list)
查看>>
用Nginx+Lua(OpenResty)开发高性能Web应用
查看>>
81、iOS本地推送与远程推送详解
查看>>
Sharepoint online 如何使用asp.net开发项目!!!
查看>>
C#基础_注释和VS常用快捷键(一)
查看>>
http协议
查看>>
动态调用webservice
查看>>
2017-05-18
查看>>
python带header
查看>>