Scala
魔都大迪奥
这个作者很懒,什么都没留下…
展开
-
Scala中apply的用法
Scala中apply的用法Scala正常创建的对象object Scala08_Method { def main(args: Array[String]): Unit = { val user = new User08() }}class User08 { //类中的方法其实就是函数,所以声明方式和函数完全一样 def test(obj: Object...原创 2019-10-18 19:46:10 · 219 阅读 · 0 评论 -
Scala--包
Scala--包包的命名1)命名规则2)命名规范包说明(包语句)导包访问权限包对象包的命名1)命名规则只能包含数字、字母、下划线、小圆点.,但不能用数字开头,也不要使用关键字。2)命名规范一般是小写字母+小圆点com.公司名.项目名.业务模块名包说明(包语句)Scala有两种包的管理风格,一种方式和Java的包管理风格相同,每个源文件一个包(包名和源文件所在路径不要求必须一致),包...原创 2019-10-18 18:54:01 · 239 阅读 · 0 评论 -
Scala--惰性函数
Scala--惰性函数当函数返回值被声明为lazy时,函数的执行将被推迟,直到我们首次对此取值,该函数才会执行。这种函数我们称之为惰性函数。def main(args: Array[String]): Unit = { //惰性函数 //什么时候被调用,什么时候才执行 lazy val res = sum(10,30) println("-----------...原创 2019-10-18 18:36:18 · 405 阅读 · 1 评论 -
Scala--控制抽象
Scala--控制抽象控制抽象的基本原理:将函数的逻辑传给另一个函数的参数列表def foo(a : =>Unit):Unit={ a}foo(println("aaa"))好处在于自由在参数列表中写逻辑,给其他函数使用 def try1(a : =>Unit):Unit={ a } try1{ println("aaa...原创 2019-10-18 18:34:22 · 201 阅读 · 0 评论 -
Scala--递归
Scala--递归Java中递归需要注意的点:1.函数自己调用自己2.函数在调用自己时,应该有跳出的逻辑3.递归函数在调用时,应该有规律Scala也满足了这三点的同时,有增加了新特性要求递归函数必须显示声明返回值类型,如果不声明返回值类型,递归无法推断出类型def test(i: Int):Int = { if (i == 1) { 1 }else{ i * ...原创 2019-10-18 18:10:09 · 116 阅读 · 0 评论 -
浅谈-栈上分配和逃逸分析
浅谈-栈上分配和逃逸分析前体栈上分配逃逸分析情景一情景二前体分析结论前体让我们先来看一段代码String s = "a" + "b"请问这代码产生了几个对象?有的人可能会说3个有的人可能会说1个这里先不说答案,我们先回顾下什么是对象,对象放在哪里?一般情况下,我们把放在堆里面的称之为对象也就意味着对象只能放在堆里面其实并不是这样,对象其实并不是只能放在堆里面它也能放在栈里面...原创 2019-10-18 17:19:34 · 370 阅读 · 0 评论 -
Scala函数--函数式练习及柯里化函数的概念
Scala函数--函数式练习及柯里化函数的概念题目一: 用一个for写出一个三角形图案题目二:逆推 f(10)(20)() 公式 结果为200第一种写法第二种写法第三种写法柯里化函数举例疑问为什么f2可以使用x的值?闭包柯里化函数题目一: 用一个for写出一个三角形图案 def main(args: Array[String]): Unit = { for ( i <- 1 t...原创 2019-10-18 13:57:53 · 297 阅读 · 0 评论 -
Scala函数--高级函数式
Scala函数--高级函数式函数可以作为参数传递举例一举例二匿名函数Scala对匿名函数也遵循了至简原则如果不关心匿名名字,可以使用匿名函数简化参数的传递如果函数只有一行代码,可以省略大括号如果函数的类型可以确定,可以省略参数类型如果参数列表只有一个参数,可以省略小括号如果参数只有在逻辑中使用一次,那么参数可以省略,然后用下划线代替但注意至简匿名函数是有前提的(以举例三为例)正常情况下如果参数被使...原创 2019-10-18 13:38:06 · 224 阅读 · 0 评论 -
Scala函数--中级函数式--Scala中参数个数最大值为22个
Scala函数--中级函数式--Scala中参数个数最大值为22个 def main(args: Array[String]): Unit = {至简原则中级版函数式编程原版1.如果函数逻辑中需要返回结果,那么return关键字可以省略 可以将函数体中最后一行代码作为函数的返回结果2.如果可以通过返回值推断出返回值类型,那么返回值类型可以省略3.如果函数的主体内容只有一行代...原创 2019-10-18 11:29:33 · 1113 阅读 · 0 评论 -
Scala函数-入门级函数式
Scala函数-入门级函数式def main(args: Array[String]): Unit = {函数 重要注意三点: 函数名,Input(传入参数),Output(返回值) 1.函数, 无参,无返回值 def f1(): Unit = { println("f1....") } f1()2.函数, 无参,有返回值 def ...原创 2019-10-18 11:23:58 · 192 阅读 · 0 评论 -
Scala打印字符串
Scala打印字符串基本语法正常打印换行打印基本语法(1)字符串,通过+号连接(2)printf用法:字符串,通过%传值。(3)字符串模板:通过$获取变量值正常打印打印字符串val username = "zhangdan"val userage = 20println("用户名称:"+username+",用户年龄:"+userage)Scala中简化了关于json的...原创 2019-10-16 20:16:46 · 763 阅读 · 0 评论 -
Scala的标识符命名规则
Scala的标识符命名规则Scala对各种变量、方法、函数等命名时使用的字符序列称为标识符。即:凡是自己可以起名字的地方都叫标识符。标识符(和java相同点)val name = "zhangsan"val name1 = "lisi"val na_me = "wangwu"val name$ = "zhangliu"val _name = ""val $name = ""标识...原创 2019-10-16 20:10:20 · 476 阅读 · 0 评论 -
Scala变量声明及至简原则
Scala变量声明及至简原则变量声明变量常量至简原则(能省就省,快乐编码)变量声明变量var i : Int = 10Scala声明变量需要使用关键字声明var 变量名称 : 变量类型 = 初始值Scala中要求变量声明后必须初始化var 声明变量,表示变量的值可以发生改变常量val j : String = "abd"val 变量名称:变量类型=初始值val声明变量,表...原创 2019-10-16 20:06:00 · 472 阅读 · 0 评论 -
Scala的main语法解析及伴生对象机制
Scala的main语法解析及伴生对象机制main语法: def main(args: Array[String]): Unit = {}解析:Scala main语法 : 方法名(参数列表):返回值类型 = {方法}main --> 方法名小括号 --> 参数列表参数声明方式:–>Java --> 类型 参数名–>Scala --> 参数...原创 2019-10-16 19:55:15 · 326 阅读 · 0 评论 -
Scala反编译
Scala反编译1)在项目的target目录Hello文件上点击右键->Show in Explorer->看到object底层生成Hello$.class和Hello.class两个文件2)采用Java反编译工具jd-gui.exe反编译代码,将Hello.class拖到jd-gui.exe页面...原创 2019-10-16 19:43:25 · 5807 阅读 · 1 评论 -
Scala的环境搭建及Idea的框架引入
Scala的环境搭建及Idea的框架引入安装步骤测试Idea中Scala插件安装插件离线安装步骤插件在线安装(可选)Maven中引入Scala框架安装步骤(1)首先确保JDK1.8安装成功(2)下载对应的Scala安装文件scala-2.11.8.zip(3)解压scala-2.11.8.zip,我这里解压到E:\02_software(4)配置Scala的环境变量注意1:解压路径不...原创 2019-10-16 19:39:47 · 713 阅读 · 0 评论