Scala学习系列一
一 scala介绍 Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
1) Scala 是一门多范式 (multi-paradigm) 的编程语言,Scala支持面向对象和函数式编程
2) Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
3) Scala 单作为一门语言来看, 非常的简洁高效
4) Scala 在设计时,马丁·奥德斯基 是参考了Java的设计思想,可以说Scala是源于java,同时马丁·奥德斯基 也加入了自己的思想,
将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学,只要在学习Scala的过程中,搞清楚Scala 和 Java相同点和不同点,
就可以快速的掌握Scala这门语言
二 windows安装sacla开发环境:
Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机并配置好,推荐安装JDK1.8
在 http://www.scala-lang.org/ 下载Scala2.11.8程序安装包
安装&配置
1. 配置JDK的环境变量 JAVA_HOME
2. 配置Scala的环境变量SCALA_HOME
3. 将Scala安装目录下的bin目录加入到PATH环境变量
在PATH变量中添加:%SCALA_HOME%\bin
4. 在命令行窗口中输入“scala”命令打开scala解释器(REPL)
出现下面的内容表示Scala已经正确的执行
idea中配置:

idea开发scala第一个项目:
首先创建一个java的maven项目。然后配置:

开发第一个程序:


就可以创建了:

看运行结果:

scala是一个完全的面向对象语言,来解释下代码具体含义:
package com.cxy.scala
object Abc{
//scala编译源码中包含了main方法,再编译后自动形成public static main
//scala再编译源码时候,会生成两个字节码文件,静态的main方法执行另外一个字节码文件中
//成员main方法
//scala是完全面向对象的语音,没有静态方法,只能通过模拟僧从静态方法
//编译时,将当前类生成一个特殊的类,,Abc$,然后创建对象来调用这个对象的main方法
//一般情况下,将加$符号的类对象,称之为“半生对象”
//半生对象,就可以通过类名来访问,来模拟java中的静态方法
//伴生对象,使用object声明
//public static void main (String[] agrs){
// 方法体
// }
//scala中没有public关键字,默认所有的访问类权限都是公共的
//void, static,也是没有这个关键字,
//scala 中使用unit来模拟void关键字
//scala中声明方法采用关键字def
//方法后面的小括号,参数类表,
//scala中,参数类表的声明方式和java中不一样
//scala只关注变量名。java中:String 参数名
//scala中 参数名:类型
//java中方法得声明和方法体直接连接
//scala中将方法的声明和方法题是通过等号连接
//scala中将方法的返回值类型防止再方法声明的后面使用冒号连接的
def main(args: Array[String]): Unit = {
println("Hello World")
}
}
看代码中的注释,就可以明白了
所以不做太多的阐述了
1) 打开IDEA工具,如图:点击Configure
Scala学习系列一的更多相关文章
- Scala学习系列(一)——Scala为什么是大数据第一高薪语言
为什么是Scala 虽然在大数据领域Java的使用更普及,Python也有后来居上的势头,但Scala一直有着不可动摇的地位.我们熟悉的Spark,Kafka,Flink都是由Scala完成了其核心代 ...
- scala学习系列二
一 scala语言开发注意事项: 1 Scala程序的执行入口是main()函数 2 Scala语言严格区分大小写. 3 Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后 ...
- Scala学习系列(三)——入门与基础
本课程源码共享于 https://github.com/tree1123/learning-scala 首先,打开IDEA编辑器的SbtExampleProject项目,我们将在这个项目下进行练习 本 ...
- scala学习笔记
一 入门 为了增加编程趣味和技能,学习新语言,体会函数式编程和简易的并发管理模型,了解日渐活跃的Spark,尝试下Scala.Scala = Scalable language,作者是Martin O ...
- 大数据学习系列之五 ----- Hive整合HBase图文详解
引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...
- 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...
- Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)
不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
随机推荐
- JVM(4) 类文件结构
一.实现“平台无关性” 字节码(ByteCode)存储格式和虚拟机是实现语言无关性的基础.Java虚拟机不和包括Java在内的任何语言绑定,它只与“Clas”文件这种特定的二进制文件格式所关联,Cla ...
- fenby C语言 P26
指针 地址 类型+“*”+变量名=指针变量 int *p1;//指向整型变量的指针变量p1 float *p2;//指向浮点型变量的指针变量p2 char *p3;//指向字符型变量的指针变量p3 “ ...
- sqlite复制表
(1)复制表,并把原表的 所有记录都复制到新表里. CREATE TABLE newTb AS SELECT * FROM oldTb (2)只复制表结构,不复制数据到新表里. 注:该语句无法复制关键 ...
- 高频Linux命令小结(新手向)
示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址:[你要的前端打怪升级指南] 近期 ...
- [Pandas]利用Pandas处理excel数据
Python 处理excel的第三包有很多,比如XlsxWriter.xlrd&xlwt.OpenPyXL.Microsoft Excel API等,最后综合考虑选用了Pandas. Pand ...
- 使用jieba分析小说人物出现次数
分析: 1. 读取小说,以读的形式打开 with open('文件名.txt','r',encoding='utf8') as f: str = f.read() 2. 切割小说 ret = jieb ...
- NOIP模拟 11
差点迟到没赶上开题 开题后看了T1,好像一道原题,没分析复杂度直接敲了个NC线段树,敲了个暴力,敲了个对拍,就1h了.. 对拍还对出错了,发现标记下传有点问题,改了以后对拍通过,就把T1扔掉看T2 觉 ...
- SpringBoot项目热启动
一.添加POM依赖 <!-- 热部署模块 --> <dependency> <groupId>org.springframework.boot</groupI ...
- 远程传输命令scp
Linux scp 命令用于 Linux 之间复制文件和目录. scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令. scp 是加 ...
- VM小技巧——虚拟机解决vm窗口太小的办法
——" 慢下来总结才能增大效率" 很多人在装虚拟机的时候,遇到了窗口过小不能自适应的问题.我也是查了好多资料,都说安装Vmware Tools即可解决,还有说修改分辨率也可以.两种 ...

