1. 什么scala?
Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的
最佳特性结合在一起的静态类型的编译语言
2. scala特点?
1.Scala是一门多范式的编程语言,scala支持面向对象和函数式编程;
2.scala语言非常的简洁高效;
3.scala源代码会被编译成java字节码,然后运行在JVM上,并可以调用现有的JAVA类库,实现两种语言的无缝连接;
4.scala思想是将函数式编程语言的特点融合到JAVA上。
3. scala的注意事项?
1.scala源文件以.scala为扩展名;
2.scala程序的执行入口是object中的main()函数;
3.Scala语言严格区分大小写;
4.Scala方法由一条条语句构成,每个语句后不需要分号(scala语言会在每行后自动加分号);(至简原则)
5.如果同一行有多条语句,除了最后一条语句不需要分号,其他语句都需要分号。
4. scala的注释?
//单行注释
/*
*多行注释
*/
/**
*文档注释
*/
5. scala的关键字?
package,import,class,object,trait,extends,with,type,for
private,protected,abstract,sealed,final,implicit,lazy,override
try,catch,finally,throw
if,else,match,case,do,while,for,return,yield
def,var,val
this,super
new
true,false,null
6. scala的变量声明?
val | var 变量名 [:变量类型] = 变量值
声明变量时可以不指定类型,编译器根据值确定
1:声明变量时,类型可以省略(编译器自动推导,即类型推导)
2:类型确定后就不能修改,说明Scala是强数据类型语言
3:变量声明时需要初始值
4:声明或定义一个变量时,可以用var或者val修饰,var修饰的变量可改变,val不可以改变,一般都使用val
5:var修饰的对象引用可以改变,val修饰的则不可以改变,但对象的状态(值)却是可以改变的
7.scala数据类型?
scala一切数据都是对象,都是Any子类
数据类型分为两大类:数值类型(AnyVal),引用类型(AnyRef)
整数类型(Byte(1),Short(2),Int(4),Long(8)
浮点类型(Float(4),Double(8))
字符类型(Char(2))
布尔类型Boolean(1)
Unit类型,Null类型,Nothing类型
8.scala运算符?
算数运算符:
+ 正号
- 负号
+ 加
- 减
* 乘
/ 除
% 取余
+ 字符串相加
关系运算符:
== 相等于
!= 不等于
< 小于
> 大于
>= 大于等于
<= 小于等于
逻辑运算符:
&& 逻辑与
|| 逻辑或
! 逻辑非
位运算符:
& 按位与运算符 (a & b) 输出结果 12,二进制解释:0000 1100
| 按位或运算符 (a | b) 输出结果 61,二进制解释:0011 1101
^ 按位异或运算符 (a ^ b 输出结果 49,二进制解释:0011 0001
~ 按位取反运算符 (~a ) 输出结果 -61,二进制解释:1100 0011,在一个有符号二进制数的补码形式
<< 左移动运算符 a << 2 输出结果 240,二进制解释:1111 0000
>> 右移动运算符 a >> 2 输出结果 15,二进制解释:0000 1111
>>> 无符号右移 A >>>2 输出结果 15, 二进制解释:0000 1111
赋值运算符:
= 将一个表达式的值赋值给左边的值
+= 相加后再赋值 c += a 等于 c = c + a
-= 相减后再赋值
*/ 相乘后再赋值
/= 相除后再赋值
%= 取余后再赋值
<<= 左以后赋值 c <<= 2 等于 c = c <<
>>= 右移后赋值
&= 按位与后赋值
^= 按位异或后赋值
|= 按位或后赋值
注意:scala中没有++,--操作符,需要通过+=,-=来实现同样的效果
9.函数和方法的区别
为完成某一功能的程序命令(语句)的集合,称为函数;
类中的函数称之为方法。
scala语言的语法非常灵活,可以在任何地方的语法结构中声明任何的语法;
函数没有重载和重写的概念,方法可以进行重载和重写;
scala中函数可以嵌套定义;
方法写在类中;
函数可以当做参数。