定义变量和逻辑判断语句

package com.zy.scalaimport scala.collection.immutableobject ScalaDemo {def main(args: Array[String]): Unit = {//定义变量-------------------------------------------// var 定义的变量是可变的var str1: String = "111"// 使用 val 定义的变量值是不可变的,相当于 java 里用 final 修饰的变量 scala鼓励使用valval str2: String = "222"//定义块表达式val a = 10val b = 20//在 scala 中{}中包含一系列表达式,块中最后一个表达式的值就是块的值//下面就是一个块表达式val result: Any = {val c = b - aval d = b - cd //块中最后一个表达式的值
    }//result 的值就是块表达式的结果
    println(result)//条件表达式----------------------------------------//if else的使用val x = 1val y = if (x == 1) "111" else "222"println(y)//if else if  elseval z = if (x > 1) "111" else if (x < 1) "222" else falseprintln(z)//循环//for(i <- 表达式),表达式 1 to 10 返回一个 Range(区间)//每次循环将区间中的一个值赋给 ifor (i <- 1 to 10)println(i)//for(i <- 数组)val arr = Array("a", "b", "c")for (i <- arr)println(i)//高级 for 循环//每个生成器都可以带一个条件,注意:if 前面没有分号for (i <- 1 to 3; j <- 1 to 3 if i != j)print((10 * i + j) + " ")println()//for 推导式:如果 for 循环的循环体以 yield 开始,则该循环会构建出一个集合//每次迭代生成集合中的一个值val v: immutable.IndexedSeq[Int] = for (i <- 1 to 10) yield i * 10println(v)}
}

方法和函数

package com.zy.scalaobject FunctionDemo {def main(args: Array[String]): Unit = {//方法和函数--------------------------------------//定义方法 def 函数名(参数列表):返回值类型={方法体}def method1(x: Int, y: Int): Int = {x * y}//调用方法val a: Int = method1(3, 2)println(a)//定义函数val function1 = (x: Int, y: Int) => {x + y}//调用函数val b: Int = function1(1, 2)println(b)//定义一个方法//方法 m2 参数要求是一个函数,函数的参数必须是两个 Int 类型//返回值类型也是 Int 类型def m1(f: (Int, Int) => Int): Int = {f(2, 6)}//定义一个函数 f1,参数是两个 Int 类型,返回值是一个 Int 类型val f1 = (x: Int, y: Int) => x + y//再定义一个函数 f2val f2 = (m: Int, n: Int) => m * n//调用 m1 方法,并传入 f1 函数val r1 = m1(f1)println(r1)//调用 m1 方法,并传入 f2 函数val r2 = m1(f2)println(r2)//将方法转换成函数,只需要在方法的后面加上一个下划线var f3 = m1 _val r3: Int = f3(f1)println(r3)}
}

转载于:https://www.cnblogs.com/blazeZzz/p/9794152.html

Scala基础:定义变量和逻辑判断语句以及方法和函数相关推荐

  1. eval python定义变量,表达式与语句 局部变量与全局变量 exec与eval

    表达式与语句 局部变量与全局变量 exec与eval Python有时需要动态的创造Python代码,然后将其作为语句执行  或  作为表达式计算. exec用于执行存储在字符串中的Python代码. ...

  2. 【2017-02-18】C#基础 - 定义变量,输入输出(最基础的编程,以及灵活多变的编写思维)...

    C# 全称C Sharp 它是一种编程语言 文件名以.cs结尾 我们要如何运用C#来进行编程,那就是Visual Studio 如何使用Visual Studio 打开VS,点击左上角的"文 ...

  3. Java-循环语句 控制跳转语句及方法(函数)

    流程控制语句之循环语句 什么是循环结构: 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为fa ...

  4. python基础之变量以及if语句

    1.变量 1.1定义:变量是一种介质,是将一些值暂时存储在内存中,方便后续程序调用.可将其看作容器但其内部的东西是可变化的. 1.2 变量的命名规则: 1.变量的命名只能由数字,字母,下划线构成. 2 ...

  5. Scala基础之变量和数据类型

    一 变量 1.1 变量类型 Scala中有两种变量,val和var, val类似于java的final变量,一旦赋值,后续不能对其进行再次赋值.相反,var变量就是类似java非final变量,在生命 ...

  6. 数学基础 -- 基础定义(集合、实数集、映射、函数)

    此系列文章仅为学习数学基础记录的笔记 为此后快速复习提供可行的方案 定义 集合:是指具有某种特定性质的具体的或抽象的对象汇总成的集体,这些对象称为该集合的元素. 基数: 集合中元素的个数称为集合的基数 ...

  7. Scala基础语法学习

    目录 一.变量 二.数据类型 三.scala中的条件表达式 四.循环 五.while循环 六.方法 6.函数 7.数组 (1).定长数组 (2).变长数组 (3).遍历数组 (4).数组常用操作 8. ...

  8. 【单片机学习笔记】(6):字符串处理函数、变量的三种情况、用函数实现模块化程序设计、晶振与延时、指针

    / 字符串处理函数 / stract函数   字符串连接函数 例:printf("%s", stract(str1, str2)): strcpy(字符串或字符数组名)和strnc ...

  9. C语言基础——运算符(定义变量、转义字符、输入输出语句、运算符、32个关键字)

    文章目录 一.定义变量 1.如何定义? 2.如何调用? 二.转义字符 二.输入输出语句 1.输出语句 2.输入语句 三.运算符 3.1 赋值运算符: 3.2 算数运算符: 3.3条件运算符 3.4 逻 ...

最新文章

  1. 理解VMware Team中的虚拟网络
  2. 常见浏览器兼容问题、盒模型2种模式以及css hack知识讲解
  3. 点云配准网络 PCRNet: Point Cloud Registration Network using PointNet Encoding 2019
  4. window.onload 和 body.onload 相互覆盖的本质
  5. pat1111-1120
  6. UI设计素材|社交界面模板
  7. 【学习笔记】深入理解js原型和闭包(9)—— 简述【执行上下文】下
  8. linux下载tar包和rpm包以及镜像的地址分享一下
  9. 怎样复制秀米html码,秀米微信图文编辑器如何复制?
  10. python中的异常、模块、文件
  11. jq匹配偶数行_jQuery 偶数选择器(:even )的介绍
  12. 技术面试最后反问面试官的问题合集
  13. Riverbed未来要往哪里去?收购Ocedo让你一目了然
  14. 关于OSPF的区域划分规则
  15. Android手机APP广告植入与产品上线
  16. 关于魔兽世界插件AddOns
  17. Android自定义view 滑动开关 支持左右滑动 适用于listview
  18. 学习笔记(01):Web前端与HTML5移动开发系列一:HTML篇-06,HTML基本构成和语法
  19. KSM大解锁:5月将有110万枚KSM可用于Kusama上的DeFi应用
  20. matlab中巴特沃斯滤波器的使用

热门文章

  1. python文件粉碎传输_python使用stuck 实现scoket编程实现文件传输
  2. android跑分和ios,安卓评分再高也没用吗 安卓与ios的区别
  3. 进阶学习(4.1) JVM结构和原理
  4. 网站推广中的优化雷区作为网站推广专员你了解多少?
  5. java写万年历_用java代码写万年历
  6. h5MYSQL并进行增删查改_mysql增删改查
  7. wps右键新建里面没有word和excel_WPS竟然出过这么多实用工具?每个都免费无广告,简直相见恨晚...
  8. Android <java.lang.ClassNotFoundException:Didn‘t find class ‘XXX‘ on path:DexPathList> 解决
  9. tensorflow 线性回归 iris
  10. CNN tflearn处理mnist图像识别代码解说——conv_2d参数解释,整个网络的训练,主要就是为了学那个卷积核啊。...