Scala的函数:

目前博客园中的代码编辑器中还不支持Scala语言....用的Java代码的存储方式

 object TestScala {
def main(args: Array[String]): Unit = {
//println("hello world!!") //调用方式一:
var c = add(1,3)//该行打印4
println(c) //该行返回"()" 这在scala中有一个专门的名称描述,叫做Unit类型.
/*
* 返回结果:
* 4
* ()
*/ var d = add2(1,3)
println(d)
/*
* 返回结果:
* 4
*/ //调用方式二:
var e = add2(a =1,3)
//var e = add2(a =1, b=3)
//var e = add2(b =3, a=1)
//var e = add2(b =3,1) 这样是不可以的.
println(e);
/*
* 返回结果:
* 4
*/ }
/*
* 函数定义
* 无返回值的函数(或者说返回Unit类型)
*/
def add(a:Int , b:Int){
println(a + b)
} /*
*定义有返回值的函数必须满足两个条件:
*第一:小括号()和大括号{} 中间必须添加等号.
*第二:将有值的变量放到最后一行. scala默认返回最后一行的值.
*第三:如果返回值类型强制制定为Unit类型,返回值就是Unit类型.
*/
def add2(a:Int , b:Int) :Int = {//:Int 可以不写,scala会判断返回值是什么类型
a + b
} // def add2(a:Int , b:Int) :String = { 定义成String类型的返回值,会报编译错误
// a + b
// } // def add2(a:Int , b:Int) :Unit = { 定义成Unit类型的返回值,不会报编译错误,但是返回值变成了Unit类型
// a + b
// } def add3(a:Int , b:Int) :Int = {
a + b
} def add4(a: Int, b: Int) = {
"a=" + a + " b=" + b
}
}

Scala中的if语句:

 object TestScalaIf {
def main(args: Array[String]): Unit = { // val resutlt = judge1(-100)
// println(resutlt) val resutlt2 = judge2(100)
println(resutlt2)
}
/*
* scala中不存在三元运算符,使用if/else
*/
def judge1(x:Int) = {
val c = if(x > 0) 1 else "superman"
c
} /*
* scala在做分层判断时,必须要把每一种可能性都判断好
*/
/*
def judge2(x: Int) = {
if(x>0){
1
}else if(x<0){
-1
}else{ //这种情况下和Java没有任何的区别.
0
}
}
*/
def judge2(x: Int) = {
if(x>0){
1
}else if(x<0){
-1
}
0//这个0是无论x是什么样的值都会走的.最后的返回值都是此处的0
} }

Scala的基本语法总结的更多相关文章

  1. Scala进阶之路-Scala的基本语法

    Scala进阶之路-Scala的基本语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数式编程初体验Spark-Shell之WordCount var arr=Array( ...

  2. IDEA编写 Scala时没有语法检查和错误提示

    #问题描述 在IDEA中写scala程序时,一些明显的语法错误不进行检查,没有像写Java时的红线什么的,当编译运行时,编译失败. https://blog.csdn.net/weizheng1000 ...

  3. scala系列--基础语法

    Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 类 ...

  4. Scala基础语法 (一)

    如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...

  5. Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合

    前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...

  6. Scala 语法基础

    一 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scal ...

  7. Scala基本语法总结(一)

    Scala基本语法总结 时隔快一年了,又捡起scala,不是想学的有多么的精通,只是想把之前遇到的知识点和实践中遇到的重点进行归纳总结,对以后的面试或许有点帮助吧! 一.scala开发环境的配置 我这 ...

  8. scala函数式编程(二) scala基础语法介绍

    上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些ja ...

  9. Scala学习笔记一

    首先是安装Scala 下载Scala进行安装 http://www.scala-lang.org/ 安装好scala后,为scala配置系统环境参数 新建环境变量SCALA_HOME,值为scala安 ...

随机推荐

  1. POJ 3026 Borg Maze (最小生成树)

    Borg Maze 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/I Description The Borg is an im ...

  2. #maven系列(4)-maven插件的介绍

    1. 简介 在Maven设计中,实际的任务都是交由插件完成的,这种思想和设计模式中的模板方法非常类似,模板方法模式在父类中定义算法的整体结构,子类可以通过实现或者重写父类的方法来控制实际的行为,这样既 ...

  3. Spring入门(9)-AOP初探

    Spring入门(9)-AOP初探 0. 目录 什么是面向切面编程 AOP常见术语 AOP实例 参考资料 1. 什么是面向切面编程 Aspect Oriented Programming(AOP),即 ...

  4. Mysql常见报错解决方法

    一:登录报错 ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO) mysql日志文件 ...

  5. 转载 C#结构体(struct)和类(class)的区别

    转载原地址: http://dotnet.9sssd.com/csbase/art/8 C#结构体和类的区别问题:在C#编程语言中,类属于引用类型的数据类型,结构体属于值类型的数据类型,这两种数据类型 ...

  6. HDU 2795 Billboard (线段树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题目大意:有一块h*w的矩形广告板,要往上面贴广告;   然后给n个1*wi的广告,要求把广告贴 ...

  7. rqnoj-396-SY学语文-dp

    纯动态规划. 注意初始化为-INF #include<stdio.h> #include<algorithm> #include<iostream> #includ ...

  8. UVa Online Judge 工具網站

    UVa Online Judge 工具網站   UVa中译题uHuntAlgorithmist Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 Mirror UVa Online Judg ...

  9. BZOJ 1043 HAOI2008 下落的圆盘 计算几何

    题目大意:n个圆盘依次下落.求终于能看到的轮廓线面积 円盘反对! 让我们一起团结起来! 赶走円盘! 咳咳.非常神的一道题 今天去看了题解和白书才搞出来-- 首先我们倒着做 对于每一个圆盘处理出在它之后 ...

  10. Android应用开发多语言drawable目录

    Android程序多语言的支持是就该Value目录不同国家的区分,前面文档有介绍相相应的国家名称Value怎样写 例如以下说下多语言图片的替换也是就该图片目录目录drawable目录例如以下: Bac ...