一.Scala的代码注释(IDEA环境)
在开发过程中,一定要写代码注释(一个类中,注释一般占60%-70%)
1.单行注释: //.......(快捷操作:选中多行,然后"Ctrl+/")
2.多行注释: /*..........*/
3.类的注释:直接类的前面加/**然后回车。
【代码规范(规矩)】:
①{ }一般跟在类的后面,或者另启一行;
②熟练掌握“Tab”键,不要使用空格键;
③切记:从git、svn拉取代码,千万不能按到格式化;
④"="的左右两边都需要加空格;
⑤一行代码不要超过一定的长度(80);
⑥maven有专门的代码格式检查类的插件。
二.配置Windows下Scala的环境变量
在最下面Terminal窗口输入:scaladoc com.ruozedata.scala.basic.CommentApp.scala
此时报错:'scaladoc'不是内部或外部命令,也不是可运行的程序
这是没有下载scala到Windows电脑的原因,下载后要配置环境变量。
1.找到Windows环境变量设置界面,找到系统变量,新建:
变量名:SCALA_HOME 变量值:(scala的安装目录)
2.用户变量Path里面新建:%SCALA_HOME%\bin
3.系统变量CLASSPATH新增D:\bigdata\software\scala\bin;
4.Windows下cmd输入scala检查是否配置OK
5.配置完之后,再执行仍然报错,需要执行以下操作:
Settings→搜索terminal,点击terminal界面Shell path,打开旁边的文件图标:C:\Windows\System32\cmd.exe点击OK再重启IEDA即可。
6.此时在terminal输入:cd src/main/scala/com/ruozedata/scala/basic,再执行CommentApp.scala即可。
7.双击左侧index.html文件,然后点击左上角某个浏览器打开即可。
三.标识符、var/val(Linux环境)
Scala标识符:
名字、属性名不能以数字开头,可以以字母、下划线开头。
Linux练习:
1.图中val 1name=“1name”会报错,说明不能以数字开头。若把该语句放进IDEA中,1name后面会出现红色波浪线,说明错误,不能这样命名。
2.图中String可以作为名字,因为它是类制的,可以命名;而try是scala的关键词,所以不能被命名。
val和var
var是“various” var 名字[:类型]=xxx 修饰变量,可变
val是“values” var 名字[:类型]=xxx 修饰变量,不可变(这句话是不严谨的,如果val修饰的是一个对象,对象内部的属性是可以修改的,只是说对象本身不能修改)
[ ]表示可有可无的意思,不一定要写。在scala开发中,数据类型一般是可以推导的,定义时不需要显式地去指定数据类型,但是特殊情况下需要指定。
Java式:
int a = 1
String name = "PK"
Scala式:
val a = 1
var name = "PK"
Linux练习:
IDEA练习:
新建一个VarApp.scala
def main(args: Array[String]):Unit = {
var user =new User
user.name ="LK"
println(user.name)
}
class User{ /*第一步必须先定义一个类*/
var name:String="LKun"
}
1.直接输入new User.var回车两下,会自动弹出:var user = new User,勾选弹出小窗口的第二个,会显示类型,此时也可以修改名称。
2.输入user.name未报错,表示这个内容可以修改:user是使用var修饰的,user的属性是可以修改的,user本身也可以修改。鼠标放在var这里提示:var could be a val说明这里可以使用val
3.若加入user=null,会报错:java.lang.NullPointerException(NPE经典报错),原因是user=null使user是空的了,不能user.null了。
新建一个ValApp.scala
这里val修饰的user是不可以变的,所以会报错
【注意!!!】val和var分别在哪种情况下使用呢?
优先采用val,报错不行再选择var。
四.读取终端数据(IDEA环境)
新建StdInApp
Java式:(很Low,别用)
val reader=new BufferedReader(new InputStreamReader(System.in,"UTF-8"))
val line=reader.readLine()
println(line) //Java IO设计模式:装饰模式
需要在终端输入内容,然后回车,直接返回刚才的内容。
Scala式:
println("请输入你的学号:")
val no = StdIn.readLine()
println("请输入你的薪水:")
val salary = StdIn.readDouble()
println(no +"\t" + salary)
注意:第一次使用StdIn时需要导包(即字体是红色的下面有横线),直接鼠标放上面然后有提示:Alt+Enter,然后再点一次Enter即可。