Scala 入门1(变量、分支循环、函数)

文章目录

    • 1. var 变量,val常量
    • 2. 分支、循环
    • 3. 函数、方法
    • 4. 闭包

学自 https://www.runoob.com/scala/scala-tutorial.html

1. var 变量,val常量

scala 语句 用 ; 或者 \n 分句

object HelloWorld { // 类名跟文件名一致def main(args: Array[String]):Unit = { // Unit 相当于 voidprintln("Hello World!")var myVar : String = "Foo"val myVal : String = "Too"myVar = "hello"// myVal = "world" // val 相当于常量,不能再次赋值val a, b, c = 100 // 不能分别赋值println(a,b,c) //(100,100,100)var pa = (40, "foo")println(pa) // (40,foo)

2. 分支、循环

  • 跟 java、 c++ 很像
        if(a < 200)println("a < 200")else if(a == 200)println("a == 200")elseprintln("a > 200")var n = 10while(n > 0){println(n)n -= 1}n = -1do{println(n)n -= 1}while(n > 0)for(x <- 1 to 10){println(x) // 包含结束的数}for(x <- 1 to 3; y <- 1 to 3){println(x, y) // 双重循环}var numList = List(100,2,3,4,5)for(a <- numList){println(a)}// 过滤元素for(a <- numList if a < 5; if a != 3){println(a)}// for yield : for 的返回值作为变量存储var returnVal = for{a <- numList if a < 5; if a != 3} yield afor(a <- returnVal)println(a)
  • 特有的 break 方式 Breaks.breakable{}
        import scala.util.control._val loop = new Breaksloop.breakable{for(a <- numList){println(a)if(a == 3)loop.break}}println("after break")

3. 函数、方法

        // val 定义函数, def 定义方法class Test{def method(x:Int) = x + 3 // 多行语句,可用 = {。。。}val func = (x:Int) => x + 3}var obj = new Test()println(obj.method(2)) // 5println(obj.func(2)) // 5// 可变参数def printString(s : String*) = {for(si <- s)println(si)}printString("hello","michael","scala");//指定参数,默认参数def addInt(a:Int, b:Int=2, c:Int=3) : Int = {var sum = 0sum = a+b+cprintln(a,b,c)return sum}println(addInt(1)) // 6// 匿名函数var mul = (x:Int, y:Int) => x*yprintln(mul(3,4))var userDir = () => {System.getProperty("user.dir")}println(userDir())// 偏应用函数是一种表达式,你不需要提供函数需要的所有参数// 只需要提供部分,或不提供所需参数import java.util.Datedef log(date : Date, message : String) = {println(date + "-----" + message)}val date = new Dateval logWithDateBound = log(date, _ : String)logWithDateBound("message1")Thread.sleep(1000)logWithDateBound("message2")Thread.sleep(1000)logWithDateBound("message3")

4. 闭包

        // 闭包var factor = 3val multi = (i : Int) => i*factorprintln(multi(5)) // 15factor = 2println(multi(5)) // 10}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018qs计算机科学专业,2018QS世界大学计算机科学专业排名.docx

2018QS世界大学计算机科学专业排名在2018世界大学计算机科学与信息系统排名中&#xff0c;牛津大学位列第一&#xff0c;哈佛大学和剑桥大学紧随其后。本排名中&#xff0c;共有2所中国大学进入Top50&#xff0c;北京大学位列第17位&#xff0c;清华大学列 20 位&#xff0c;跟…

http://www.cnblogs.com/langjt/p/4281477.html

http://www.cnblogs.com/langjt/p/4281477.html转载于:https://www.cnblogs.com/outlooking/p/4283320.html

nineoldandroid使用_nineoldandroid 详细使用并且实现drawerlayout侧滑动画

nineoldandroid.view.ViewHelpe是一个为了兼容3.0以下的一个动画开源库相关函数解读&#xff1a;(第一个参数都为动画对象&#xff0c;第二个为动画属性值的变化表达式)ViewHelper.setTranslationX(,);//x方向平移ViewHelper.setTranslationY(,);ViewHelper.setScaleX(,);x方向…

maven deploy plugin_Maven快速上手

作者&#xff1a;u_7deeb657158f出自&#xff1a;ITPUB博客原文&#xff1a;blog.itpub.net/69956102/viewspace-2726121/创建项目首先需要创建一个用于存储项目的文件夹&#xff0c;在控制台中输入以下命令&#xff1a;mvn archetype:generate -DgroupIdcom.mycompany.app -Da…

计算机应用基础形考作业3Excel部分,计算机应用基础形考3,Excel部分

“计算机应用基础”形考作业 3(Excel部分)可根据所学知识模块&#xff0c;在下列Excel、PowerPoint或Access中选做一个&#xff0c;我选了Excel (本次作业覆盖“模块 3 Excel 2010 电子表格系统”的内容&#xff0c;请在学完模块3后完成本次作业&#xff0c;要求第17周内完成。…

.net string format

转自&#xff1a;http://www.cnblogs.com/jobs2/p/3948049.html 转自&#xff1a;http://jingyan.baidu.com/article/48206aeaf8c52f216ad6b300.html 1、格式化货币&#xff08;跟系统的环境有关&#xff0c;中文系统默认格式化人民币&#xff0c;英文系统格式化美元&#xff0…

Scala 入门2(数组、List、Set、Map、元组、Option、Iterator)

文章目录1. 数组2. List3. Set4. Map5. 元组6. Option7. 迭代器学自 https://www.runoob.com/scala/scala-tutorial.html 1. 数组 使用 () 来取索引处的元素 // 数组var z1 : Array[String] new Array[String](3)var z2 new Array[String](3) // 两种方式定义z1(0) "…

python实现非对称加密算法_Python3非对称加密算法RSA实例详解

本文实例讲述了Python3非对称加密算法RSA。分享给大家供大家参考&#xff0c;具体如下&#xff1a;python3 可以使用 Crypto.PublicKey.RSA 和 rsa 生成公钥、私钥。其中 python3.6 Crypto 库的安装方式请参考前面一篇《Python3对称加密算法AES、DES3》rsa 加解密的库使用 pip3…

python画饼图_百度飞桨PaddlePaddle之[Python小白逆袭大神]7天训练营

第三次参加百度的7天训练营了这次参加的主题是【Python小白逆袭大神】&#xff0c;不过你别看是小白逆势。。。除非你一开始参加就逆袭完&#xff0c;不然你真的是python小白&#xff0c;这个课程还是有难难度的。说一下个训练营的特点版。这个营从python一些基础练习-->数据…

潍坊学院的计算机类怎么样,潍坊学院教育技术学专业怎么样?有知道的麻烦说下,谢谢!...

潍坊学院教育技术学专业怎么样&#xff1f;有知道的麻烦说下&#xff0c;谢谢&#xff01;以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;潍坊学院教育技术学专业怎么样&#xff1f;有知道的…

elasticsearch配置文件详解

elasticsearch的config文件夹里面有两个配置文件&#xff1a;elasticsearch.yml和logging.yml&#xff0c;第一个是es的基本配置文件&#xff0c;第二个是日志配置文件&#xff0c;es也是使用log4j来记录日志的&#xff0c;所以logging.yml里的设置按普通log4j配置文件来设置就…

Scala 入门3(类、Trait、模式匹配、正则、异常、提取器、IO)

文章目录1. 类和对象2. Trait3. 模式匹配4. 正则5. 异常处理6. 提取器7. 文件 IO学自 https://www.runoob.com/scala/scala-tutorial.html 1. 类和对象 object myClass {import java.io._class Point(xc : Int, yc : Int){var x : Int xcvar y : Int ycdef move(dx:Int, dy…

The Power of Android Action Bars(转载)

转自&#xff1a;http://www.informit.com/articles/article.aspx?p1743642转载于:https://www.cnblogs.com/lance-ehf/p/4285239.html

计算机网络校园网简单设计与实现,简单校园网的设计与实现.docx

本科课程考查(论文)专用封面作业(论文)题目&#xff1a;所修课程名称&#xff1a;简单校园网的设计与实现 《计算机网络实践》修课程时间&#xff1a; 2012年 9月至 2012年 12月完成作业(论文)日期&#xff1a;2012年12月评阅成绩&#xff1a;评阅意见&#xff1a;评阅教师签名…

python面向对象继承

如果一个A类继承自另一个B类&#xff0c;就把这个A类称为B的子类&#xff0c;把B称为A的父类或者超类。继承可以使子类具有父类的各种属性和方法&#xff0c;而不再需要写相同的代码。在令子类继承父类的同时&#xff0c;可以重新定义某些属性和方法&#xff0c;使其获得与父类…

c++ class struct同名_C/C++面向对象编程之封装

点击“蓝字”关注我们吧前言&#xff1a;何为面向过程&#xff1a;面向过程&#xff0c;本质是“顺序&#xff0c;循环&#xff0c;分支” 面向过程开发&#xff0c;就像是总有人问你要后续的计划一样&#xff0c;下一步做什么&#xff0c;再下一步做什么&#xff0c;意外、事物…

LeetCode 1718. 构建字典序最大的可行序列(贪心+回溯)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n &#xff0c;请你找到满足下面条件的一个序列&#xff1a; 整数 1 在序列中只出现一次。2 到 n 之间每个整数都恰好出现两次。对于每个 2 到 n 之间的整数 i &#xff0c;两个 i 之间出现的距离恰好为 i 。 序列里面两个数 a[…

collections求和方法_java集合求和最大值最小值示例分享

package com.happyelements.athene.game.util;import static com.google.common.base.Preconditions.checkNotNull;import java.util.Collection;import com.google.common.collect.Lists;/*** Math工具类** version 1.0* since 1.0*/public class MathUtil {/*** see MathUtil…

为什么要给计算机配置IP地址,更改ip地址 为何要重启电脑

在系统中&#xff0c;如果想修改计算机的IP地址&#xff0c;系统会提示重新启动计算机&#xff0c;有没有什么办法不重启机器又照样改IP呢&#xff1f; 首先按自己的需要改动IP地址&#xff0c;点击[确定] 按钮后&#xff0c;系统会出现重新启动计算机的提示。此时点击[否]&…

static函数

// 以下摘自网络 静态函数在函数的返回类型前加上关键字static&#xff0c;函数就被定义成为静态函数。函数的定义和声明默认情况下是extern的&#xff0c;但静态函数只是在声明他的文件当中可见&#xff0c;不能被其他文件所用。定义静态函数的好处&#xff1a;<1> 其他…