IDEA创建Scala项目:
创建一个Maven项目:在maven项目环境下进行编码
新建目录需要编译 目录-->右键-->Mark Dirctory as --->Source Root 作为源码(编译成功 目录颜色会从灰色变色浅绿色)
把项目和Scala关联 项目-->右键-->Add Framework Support --->scala 右边选Scala库 -->ok
以下这步是本人在IDEA初次配置Maven项目遗留得问题,这一步可以在初次设置Maven项目中完成。仅供参考
* maven项目创建好 需要修改里面配置 点击右上角-->搜索maven-->User settings file 找maven解压包下面的settings 下面是生成jar位置 一般都会自动生成
Scala是完全面向对象的,会有两个字节码文件:
Scala 源码中包含了main方法 在编译后自动形成public static void main
Scala在编译源码时 会自动产生两个字节码文件 静态main方法执行另一个字节码文件中的成员main方法。
Scala源文件是以".scala"为扩展名。
Scala是完全面项对象的 没有静态的语言 只能通过模拟生成静态方法。
编译时将当前类生成特殊的类 Hello$,(在类后面加$)然后创建对象来调用这个对象的main方法。
一般情况 将加$ 类的对象 称为“伴生对象”。
伴生对象内容 都可通过类名调用 来模拟java中静态语法。
伴生对象语法规则 使用object 声明 就可用类名调用。
在 Java中 public static void main(string[] arrays){方法体} Scala: 小括号就是参数列表 Unit和void 其实是一样的,代表返回值。
Scala没有public 默认所有的访问权限都是公共的。
Scala 没有void关键字 采用特殊对象模拟: Unit。
Scala中声明方法采用关键字def。
方法后面的小括号是方法的参数列表。
Scala中参数列表声明方式和java不一样:Java: String 参数名; Scala : 参数名:类型。
Scala中方法的声明和方法体是通过等号连接的 Unit=。
Scala中 将方法 的返回值类型放在方法声明的后面使用冒号连接。
Scala有格式的输出:printf("name=%s, age=%d, url=%s \n", name, age, url) //%占位符 第一个和第三个是字符串 第二个是数字 s是字符串 d 是数字.
插值字符串 前面加入s 就是插值字符串:
println(s"name=$name, age=$age, url=$url") //最常用 推荐
print(f"name=${name}, age=${age}%.3f, url=${url}\n") //把前面s换成f 格式化 %占位符 .3f 就是double类型
print(raw"name=${name}, age=${age}%.3f, url=${url}\n") //原始 给什么 打印什么
Scala中没有++、- -操作符 需要通过+=、-=来实现同样的效果 :
java: Scala:
var i=1 var i=1
i+=1 i-=1
println(i) //2 println(i) // 0
Scala键盘输入语法:
val line: String = StdIn.readLine()
println("line="+line)
val age: Int = StdIn.readInt()
println("age="+age)
控制台: 输入line+回车 输入age+回车
Scala数据交换:
Scala数据交换和java一样,利用一个外置容器
var a=10
var c=19
println(s"${a} = ${c}")
var d=a
a=c
c=d
println(s"${a} = ${c}")
在Scala中的 For循环使用:
1. 使用 1 to 5表示循环的范围,从1到5 包含
2. 使用1 until 5表示循环的范围,从1 到5 (不包含)
3. 也可嵌套使用 for 里面套用for
for(i <- 1 to 5){
println(s"i = ${i}")}
for (i <- 1 until 5){
println(s"i=${i}")}
Scala特殊字:采用yield关键字,把每次结果放到集合中返回来 :
val res = for(i <- 1 to 10) yield i * 2
println(res)
/