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 ...
随机推荐
- fenby C语言 P22
#include <stdio.h> int main(){ char array[]={'t','o','m','c','a','t'}; int i; for(i=0;i<6;i ...
- css过渡transition属性
一.CSS3 过渡 (一).CSS3过渡简介 CSS3过渡是元素从一种样式逐渐改变为另一种的效果. 实现过渡效果的两个要件: 规定把效果添加到哪个 CSS 属性上 规定效果的时长 定义动画的规则 过渡 ...
- malloc面试题目(转) - [C++]
试题4: void GetMemory( char *p ){ p = (char *) malloc( 100 );} void Test( void ) { char *str = NULL; G ...
- 利用span设置文字固定宽度
<input type="radio" name="dispMode" id="rdoManul" value="manul ...
- flask插件之flask_session会话机制
flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一 ...
- Java 用双向循环链表实现 遍历
package day2; /** * 构建双向循环链表,实现遍历功能 */public class DoubleLB { public static void main(String[] args) ...
- python的位置参数、关键字参数、收集参数,关键字收集参数混合调用问题
参数混合调用顺序用法: 函数中参数顺序为:普通参数,收集参数,关键字参数,关键字收集参数,其顺序不能颠倒,颠倒会报错. 普通参数.关键字参数可以有n个,对量没有具体要求,收集参数和关键字收集参数要么没 ...
- C语言1博客作业04
问题 答案 这个作业属于那个课程 C语言程序设计1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/9770 我在这 ...
- [考试反思]0904NOIP模拟测试37:守望
100分并列的还有4个没粘 总分是大脸的一半,然而还只低了2名.差距好大...但其实后面的分数段又很密集,和我都差不了多少... 我可能也是最水的那一个,排行榜前7个里面就我没有AC.全是暴力... ...
- CSPS模拟 89

