Scala学习-02-方法

算数和操作符重载

所有的操作符都是方法。

a + b 是一种缩写形式  :  a .+ b

“+”是方法名(操作符重载)

++和——

Scala中并没有“++”和“——”。需要使用“+=”和“-=”

BigInt和BigDecimal

scala> var x :BigInt = 1234567890
x: BigInt = 1234567890

scala> x*x*x
res19: scala.math.BigInt = 1881676371789154860897069000

java中还要调用方法才行,Scala简单了许多。

调用数学方法

在Scala中不需要从某个类调用静态方法,而是直接调用。

scala> import scala.math._
import scala.math._

scala> sqrt(2)
res21: Double = 1.4142135623730951

scala> pow(2,4)
res22: Double = 16.0

scala> min(3,pi)
<console>:15: error: not found: value pi// π 值需要大写P
       min(3,pi)
             ^

scala> min(3,Pi)
res24: Double = 3.0
在Scala中“_”是通配符,类似于Java中的“*”以Scala开头的包,引入时可以省略Scala。

Scala中的方法

在Scala中几乎可以使用任何符号为方法命名。这一点和其他语言很不一样。

当方法有两个操作数时,通常你可以把 “.” 省略作为简写。

  a 方法 b

时间: 2024-10-06 04:02:42

Scala学习-02-方法的相关文章

scala学习手记20 - 方法返回类型推断

除了推演变量的类型,scala也会推演方法的返回类型.不过这里有一处需要注意:方法返回类型的推演依赖于方法的定义方式.如果用等号"="定义方法,scala就会推演方法返回类型:否则,它就认为方法的返回为void.看一个例子: def printMethodInfo(methodName: String) { println("The return type of " + methodName + " is " + getClass().getDe

Scala学习笔记(5)-类和方法

Scala里的类和方法的概念都是差不多的,这里只列出Scala重要的一些概念: 1.Public是Scala的缺省访问级别,可以省略不写. 2.Scala里方法参数的一个重要特征是它们都是val,不是var(参数是val的理由是val更容易讲清楚,你不需要多看代码以确定是否val被重新赋值,而var则不然.)如果你想在方法里面给参数重新赋值,结果是编译失败. 3.如果方法没有发现任何显式的返回语句,Scala将返回方法中最后一个计算得到的值. 4.对于方法来说推荐的风格实际是避免显式的尤其是多个

Scala学习笔记及与Java不同之处总结-从Java开发者角度

Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续更新一些切换后在开发过程中值得注意的地方.以下列举了部分,但令人印象深刻的Scala语言的不同之处,具体的代码演示样例及具体阐述见下文. ? Scala中可直接调用Java代码,与Java无缝连接. 语句能够不用";"结束.且推荐不适用";". 变量声明时以var或va

Scala学习笔记-环境搭建以及简单语法

关于环境的搭建,去官网下载JDK8和Scala的IDE就可以了,Scala的IDE是基于Eclipse的. 下面直接上代码: 这是项目目录: A是scala写的: package first import scala.collection.mutable.ListBuffer object A { def main(args: Array[String]) { print("Hello,Scala");//学习程序设计的第一句 println("---");//pr

scala学习(一)

开始学习scala,有一种学习java的感觉. 首先,从网站下载scala的包,下载后要安装,安装后把安装目录的bin放到环境变量psth里 cmd里,输入scala,如果出现下图,那么恭喜咯,安装成功咯~~ 1:变量 首先我们看下定义变量方法 var 可以定义变量,可以改变值 val 定义的变量不可以改变值,类似于java的final变量: 2:函数 如图定义了一个函数 def max(x:Int,y:Int):Int ={ if(x>y)x else y } def:表面定义函数 max :

ThinkPhp学习02

原文:ThinkPhp学习02 一.什么是MVC                M -Model 编写model类 对数据进行操作 V -View  编写html文件,页面呈现 C -Controller 编写类文件(UserAction.class.php)二.ThinkPHP的MVC特点        三.ThinkPHP的MVC对应的目录    M 项目目录/应用目录/Lib/Model V 项目目录/应用目录/Tpl C 项目目录/应用目录/Lib/Action四.url访问C     

scala学习(二)

接着上次的学习,今天学习scala的下面内容咯~~ 1·使用集(set)和映射(map) 学习过java的童鞋们,看见这两个肯定很开心咯,因为很眼熟哦. scala的集合,分为可变类型和不可变类型.array--可变:list保持不变 那么set和map呢,他们通过类继承的差别控制可变和不可变~~ 先看个set的列子吧: var jetSet = Set("zhangsan","lisi") jetSet += "wangwu" println(

Scala 学习

1,Scala学习 官方网网站: http://www.scala-lang.org/ http://www.scala-lang.org/download/ 可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性. Scala是在JVM上运行. Scala有几项关键特性表明了它的面向对象的本质.例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值.数字等)在内,连函数也是对象.另外,类可以被子类化,而且Scala还提供了基于

设计模式学习02—工厂模式

1.动机与定义 我们在程序中使用一个对象时,需要new一下,如果需要设置其他值就再初始化一下.比如我要使用一个按钮,手动new一个矩形按钮,然后初始化一些值,如显示文字,背景色等. // 矩形按钮 IButton btn = new RecButton(); // 初始化其他值 btn.setText("提交"); btn.setBackgroundColor("#00aaff"); // 其他初始化省略 // 圆形按钮 IButton btn2 = new Rou

从 scala学习到精通大数据平台

大数据何止是大,未来的世界应该是数据大爆炸,掌握数据的人才能掌握未来! 模拟用户轨迹,行为分析,市场预测,spark基于内存的大数据框架.图计算,机器学习,docker,hadoop,spark,flink,,,让我们一起来追寻spark,进入大数据时代!!! spark 大数据是用scala语言,scala是完全面向对象和函数式编程,简介而又不简单.是一个弹性编程语言,scala的actor编程特别擅长于并发编程.和java有些不同又比java强大,省去了很多繁琐的东西,scala中的的接口用