一、main函数的分析

首先来看我们在上一节最后看到的这个程序,我们先来简单的分析一下。有助于后面的学习

object HelloScala
{
def main(args: Array[String]): Unit =
{
println("I Love You Scala");
}
}

如图所看到的,在Scala中能够使用object和class分别定义一个类。两者还是存在一些区别。以后我会在专门的博客中给予介绍。

在Scala中定义一个函数使用:def 来修饰

完整定义一个函数为:

def 函数名(參数:參数类型。參数:參数类型): 返回值类型={

}

比如:

def methodName(parameterStr: String, parameterInt: Int): Int =
{
return 1;
}

Unit表示这种方法没有返回值,相当于Java其中的void,在Java中叫做返回类型,在Scala中叫做结果类型。

println("I Love You Scala");

就是向控制台打印一句话。全部Scala程序的入口都是从main函数開始的。

二、基本规则

每一种语言都有自己规定。记住这些有助于我们不在后面的编程犯错,写出更加美丽的程序出来。

区分大写和小写:这点和非常多语言一样 Scala也是区分大写和小写的,比如HELLO和hello是意义全然不同的

类名:首字母大写,而且採用驼峰结构。比如:HelloWorld.scala

方法名:除首个单词的首字母小写以外。其余单词首字母大写。比如:def getData(){}

变量命名:以字母或者下划线开头。能够使用字母,数字或下划线。“$”字符在Scala中是保留关键字。不能使用。

三、Scala关键字

四丶Scala凝视

Scala中的单行凝视和多行凝视和Java一样。

比如:

/*
* 我是多行凝视
* */
val myarr = Array("A", "B", "C");
def main(args: Array[String]): Unit =
{
for (i <- 0 to myarr.length - 1)
{
//我是单行凝视
println(myarr(i))
}
}

注意:在Scala中一条语句结束时候的分号“;”是可选的。可是但两条语句在同一行的时候。必须分号切割。

出于对Java的习惯,笔者通常会打上。

假设以上有不懂得。请留言。笔者会一一具体回复。

大数据学习之Scala中main函数的分析以及基本规则(2)的更多相关文章

  1. 大数据学习day15----第三阶段----scala03--------1.函数(“_”的使用, 函数和方法的区别)2. 数组和集合常用的方法(迭代器,并行集合) 3. 深度理解函数 4 练习(用java实现类似Scala函数式编程的功能(不能使用Lambda表达式))

    1. 函数 函数就是一个非常灵活的运算逻辑,可以灵活的将函数传入方法中,前提是方法中接收的是类型一致的函数类型 函数式编程的好处:想要做什么就调用相应的方法(fliter.map.groupBy.so ...

  2. 大数据学习——关于hive中的各种join

    准备数据 2,b 3,c 4,d 7,y 8,u 2,bb 3,cc 7,yy 9,pp 建表: create table a(id int,name string) row format delim ...

  3. 大数据学习笔记——HDFS写入过程源码分析(2)

    HDFS写入过程注释解读 & 源码分析 此篇博客承接上一篇未讲完的内容,将会着重分析一下在Namenode获取到元数据后,具体是如何向datanode节点写入真实的数据的 1. 框架图展示 在 ...

  4. 大数据学习笔记——HDFS写入过程源码分析(1)

    HDFS写入过程方法调用逻辑 & 源码注释解读 前一篇介绍HDFS模块的博客中,我们重点从实践角度介绍了各种API如何使用以及IDEA的基本安装和配置步骤,而从这一篇开始,将会正式整理HDFS ...

  5. 大数据学习day29-----spark09-------1. 练习: 统计店铺按月份的销售额和累计到该月的总销售额(SQL, DSL,RDD) 2. 分组topN的实现(row_number(), rank(), dense_rank()方法的区别)3. spark自定义函数-UDF

    1. 练习 数据: (1)需求1:统计有过连续3天以上销售的店铺有哪些,并且计算出连续三天以上的销售额 第一步:将每天的金额求和(同一天可能会有多个订单) SELECT sid,dt,SUM(mone ...

  6. 关于C/C++中main函数参数的学习

    因为面对对象作业(2018.5.21)的要求,去学习了C/C++中main函数参数的意义,以及一些简单的使用(从命令行指令的接受),不给予赘述.(仅为个人拙见,还望看官指正) 首先,带有参数的main ...

  7. 大数据学习(24)—— Spark入门

    在学Spark之前,我们再回顾一下MapReduce的知识,这对我们理解Spark大有裨益. 在大数据的技术分层中,Spark和MapReduce同为计算层的批处理技术,但是Spark比MapRedu ...

  8. 大数据系列修炼-Scala课程06

    关于Scala中的正则表达式与模式匹配结合的正则表达式Reg 正则表达式的实现:正则表达式的定义与其它语言差不多,只需在表达式后加一个.r,并且可以遍历相应的表达式进行匹配 //定义的正则表达式 va ...

  9. 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端

    1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...

随机推荐

  1. DCI:The DCI Architecture: A New Vision of Object-Oriented Programming

    SummaryObject-oriented programming was supposed to unify the perspectives of the programmer and the ...

  2. plsql只有注释显示问号,其余中文可以正常显示

    在plsql客户端查看表信息,注释均为乱码,使用select 查询字段中中文字符正常,以下为解决方案: 1.使用语句 select * from V$NLS_PARAMETERS 查询 nls_lan ...

  3. Spring持久化

    1. Spring的DAO理念 Spring提供了一套抽象的DAO类,供开发者扩展,这有利于以统一的方式操作各种DAO技术,如JDO.JDBC等,这些抽象DAO类提供了设置数据源及相关辅助信息的方法, ...

  4. 关于FFmpegInterop项目的编译

    如果是从git 上下载的最新版本 FFmpeg,那么打开VS2015编译时会报出一个错误    C4996    'av_free_packet': 被声明为已否决    FFmpegInterop  ...

  5. iOS: FFmpeg的使用二

    1.下载并编译FFMPEG. https://github.com/kewlbear/FFmpeg-iOS-build-script 下载后有一个build-ffmpeg.sh文件.终端执行即可自动下 ...

  6. [Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

    /Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/ ...

  7. 如何配置通过Fiber Channel连接主机与存储

    在一台Windows Client上, 安装免费的Cisco Fabric Manager. 笔者安装的是Fabric Manager 5.0(7). 注意, 这台Windows Client上应该安 ...

  8. JS性能优化之创建文档碎片(document.createDocumentFragment)

    讲这个方法之前,我们应该先了解下插入节点时浏览器会做什么.         在浏览器中,我们一旦把节点添加到document.body(或者其他节点)中,页面就会更新并反映出这个变化,对于少量的更新, ...

  9. Myeclipse最全快捷键

    转自:http://www.iteye.com/topic/1051317 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一 ...

  10. (剑指Offer)面试题42:左旋转字符串

    题目: 字符串的左旋转操作是把字符串前面的若干字符转移到字符串的后面.请定义一个函数实现字符串左旋转操作的功能, 比如:输入字符串"abcdefg"和数字2,该函数将返回左旋转2位 ...