大数据学习之Scala中main函数的分析以及基本规则(2)
一、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)的更多相关文章
- 大数据学习day15----第三阶段----scala03--------1.函数(“_”的使用, 函数和方法的区别)2. 数组和集合常用的方法(迭代器,并行集合) 3. 深度理解函数 4 练习(用java实现类似Scala函数式编程的功能(不能使用Lambda表达式))
1. 函数 函数就是一个非常灵活的运算逻辑,可以灵活的将函数传入方法中,前提是方法中接收的是类型一致的函数类型 函数式编程的好处:想要做什么就调用相应的方法(fliter.map.groupBy.so ...
- 大数据学习——关于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 ...
- 大数据学习笔记——HDFS写入过程源码分析(2)
HDFS写入过程注释解读 & 源码分析 此篇博客承接上一篇未讲完的内容,将会着重分析一下在Namenode获取到元数据后,具体是如何向datanode节点写入真实的数据的 1. 框架图展示 在 ...
- 大数据学习笔记——HDFS写入过程源码分析(1)
HDFS写入过程方法调用逻辑 & 源码注释解读 前一篇介绍HDFS模块的博客中,我们重点从实践角度介绍了各种API如何使用以及IDEA的基本安装和配置步骤,而从这一篇开始,将会正式整理HDFS ...
- 大数据学习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 ...
- 关于C/C++中main函数参数的学习
因为面对对象作业(2018.5.21)的要求,去学习了C/C++中main函数参数的意义,以及一些简单的使用(从命令行指令的接受),不给予赘述.(仅为个人拙见,还望看官指正) 首先,带有参数的main ...
- 大数据学习(24)—— Spark入门
在学Spark之前,我们再回顾一下MapReduce的知识,这对我们理解Spark大有裨益. 在大数据的技术分层中,Spark和MapReduce同为计算层的批处理技术,但是Spark比MapRedu ...
- 大数据系列修炼-Scala课程06
关于Scala中的正则表达式与模式匹配结合的正则表达式Reg 正则表达式的实现:正则表达式的定义与其它语言差不多,只需在表达式后加一个.r,并且可以遍历相应的表达式进行匹配 //定义的正则表达式 va ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
随机推荐
- ORACLE FORMS PL/SQL PACKAGE SHOW TIPS WINDOW
--在开发ORACLE FORM的程序中,要编写PL/SQL程序包产出异常情况时,直接在FORM弹出一个异常提示窗口 DECLARE BEGIN app_exception.raise_excepti ...
- Enable Notepad++ 666 support both SCLEX_FORTRAN and SCLEX_F77
Enable Notepad++ 666 support both SCLEX_FORTRAN and SCLEX_F77 http://blog.csdn.net/gocad/article/det ...
- 无线AP和无线路由器区别wifi热点
转自:http://network.51cto.com/art/201310/413327.htm 就像很多用户很容易混淆无线上网卡和无线网卡一样,很多用户也分不清无线AP和无线路由,小峰便是其中的一 ...
- SHA1算法实现及详解
1 SHA1算法简介 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digit ...
- Hive安装与配置——深入浅出学Hive
第一部分:软件准备与环境规划 Hadoop环境介绍 •Hadoop安装路径 •/home/test/Desktop/hadoop-1.0.0/ •Hadoop 元数据存放目录 •/home/test/ ...
- hadoop中OutputFormat 接口的设计与实现
OutputFormat 主要用于描述输出数据的格式,它能够将用户提供的 key/value 对写入特定格式的文件中. 本文将介绍 Hadoop 如何设计 OutputFormat 接口 , 以及一些 ...
- linux 基本命令学习
原文: https://www.oschina.net/translate/useful-linux-commands-for-newbies?lang=chs&p=2
- 使用BeyondCompare比较文件夹下的文件时,相同的文件内容,但显示为不相同
主要原因是: 两个文件行尾标题不一致而导致的,一个是PC,一个是Unix 解决办法: 随便比较文件夹中的两个文件,点击规则,去掉比较行尾(pc/mac/unix)选项,点击确认,回到文件夹比较界面,刷 ...
- Eclipse Kepler SR2 + Python 3.4 + JDK7+Pydev3.4 搭建 python 开发环境(MAC)
Eclipse Kepler SR2 + Python 3.4 + JDK7+Pydev3.4 搭建 python 开发环境(MAC) 此为mac开发环境 一:下载所需软件: Eclipse Kepl ...
- MQTT---HiveMQ源代码具体解释(十八)Cluster-kryo与Serializer
源博客地址:http://blog.csdn.net/pipinet123 MQTT交流群:221405150 既然是Cluster,node之间肯定是须要交互的,那么肯定是须要序列化和反序列化.Hi ...