一.Scala的代碼注釋(IDEA環(huán)境)
在開發(fā)過程中蜻势,一定要寫代碼注釋(一個(gè)類中跪帝,注釋一般占60%-70%)
1.單行注釋:? //.......(快捷操作:選中多行粱哼,然后"Ctrl+/")
2.多行注釋:? /*..........*/
3.類的注釋:直接類的前面加/**然后回車。
【代碼規(guī)范(規(guī)矩)】:
①{ }一般跟在類的后面谷徙,或者另啟一行拒啰;
②熟練掌握“Tab”鍵,不要使用空格鍵完慧;
③切記:從git谋旦、svn拉取代碼,千萬(wàn)不能按到格式化屈尼;
④"="的左右兩邊都需要加空格册着;
⑤一行代碼不要超過一定的長(zhǎng)度(80);
⑥maven有專門的代碼格式檢查類的插件。
二.配置Windows下Scala的環(huán)境變量
在最下面Terminal窗口輸入:scaladoc com.ruozedata.scala.basic.CommentApp.scala
此時(shí)報(bào)錯(cuò):'scaladoc'不是內(nèi)部或外部命令脾歧,也不是可運(yùn)行的程序
這是沒有下載scala到Windows電腦的原因甲捏,下載后要配置環(huán)境變量。
1.找到Windows環(huán)境變量設(shè)置界面鞭执,找到系統(tǒng)變量司顿,新建:
變量名:SCALA_HOME? ? ?變量值:(scala的安裝目錄)
2.用戶變量Path里面新建:%SCALA_HOME%\bin
3.系統(tǒng)變量CLASSPATH新增D:\bigdata\software\scala\bin;
4.Windows下cmd輸入scala檢查是否配置OK
5.配置完之后,再執(zhí)行仍然報(bào)錯(cuò),需要執(zhí)行以下操作:
Settings→搜索terminal兄纺,點(diǎn)擊terminal界面Shell path大溜,打開旁邊的文件圖標(biāo):C:\Windows\System32\cmd.exe點(diǎn)擊OK再重啟IEDA即可。
6.此時(shí)在terminal輸入:cd src/main/scala/com/ruozedata/scala/basic,再執(zhí)行CommentApp.scala即可估脆。
7.雙擊左側(cè)index.html文件钦奋,然后點(diǎn)擊左上角某個(gè)瀏覽器打開即可。
三.標(biāo)識(shí)符、var/val(Linux環(huán)境)
Scala標(biāo)識(shí)符:
名字付材、屬性名不能以數(shù)字開頭朦拖,可以以字母、下劃線開頭厌衔。
Linux練習(xí):
? ?1.圖中val 1name=“1name”會(huì)報(bào)錯(cuò)贞谓,說明不能以數(shù)字開頭。若把該語(yǔ)句放進(jìn)IDEA中葵诈,1name后面會(huì)出現(xiàn)紅色波浪線,說明錯(cuò)誤祟同,不能這樣命名作喘。
? ?2.圖中String可以作為名字,因?yàn)樗穷愔频脑纬牵梢悦⑻梗欢鴗ry是scala的關(guān)鍵詞,所以不能被命名砖顷。
val和var
var是“various” var 名字[:類型]=xxx 修飾變量贰锁,可變?
val是“values”?var 名字[:類型]=xxx? 修飾變量,不可變(這句話是不嚴(yán)謹(jǐn)?shù)穆蓑穑绻鹶al修飾的是一個(gè)對(duì)象豌熄,對(duì)象內(nèi)部的屬性是可以修改的,只是說對(duì)象本身不能修改)
? ? ? [ ]表示可有可無(wú)的意思物咳,不一定要寫锣险。在scala開發(fā)中,數(shù)據(jù)類型一般是可以推導(dǎo)的览闰,定義時(shí)不需要顯式地去指定數(shù)據(jù)類型芯肤,但是特殊情況下需要指定。
Java式:
? int a = 1
? String name = "PK"
Scala式:
? val a = 1
? var name = "PK"
Linux練習(xí):
IDEA練習(xí):
新建一個(gè)VarApp.scala
def main(args: Array[String]):Unit = {
? ? var user =new User
? ? user.name ="LK"
? ?println(user.name)
}
class User{? ? ? /*第一步必須先定義一個(gè)類*/
var name:String="LKun"
}
1.直接輸入new User.var回車兩下,會(huì)自動(dòng)彈出:var user = new User油吭,勾選彈出小窗口的第二個(gè)击蹲,會(huì)顯示類型,此時(shí)也可以修改名稱上鞠。
2.輸入user.name未報(bào)錯(cuò)际邻,表示這個(gè)內(nèi)容可以修改:user是使用var修飾的,user的屬性是可以修改的芍阎,user本身也可以修改世曾。鼠標(biāo)放在var這里提示:var could be a val說明這里可以使用val?
3.若加入user=null,會(huì)報(bào)錯(cuò):java.lang.NullPointerException(NPE經(jīng)典報(bào)錯(cuò)),原因是user=null使user是空的了轮听,不能user.null了骗露。
新建一個(gè)ValApp.scala
這里val修飾的user是不可以變的,所以會(huì)報(bào)錯(cuò)
【注意!!!】val和var分別在哪種情況下使用呢血巍??
? 優(yōu)先采用val萧锉,報(bào)錯(cuò)不行再選擇var。
四.讀取終端數(shù)據(jù)(IDEA環(huán)境)
新建StdInApp
Java式:(很Low述寡,別用)
? ? val reader=new BufferedReader(new InputStreamReader(System.in,"UTF-8"))
? ? ?val line=reader.readLine()
? ? println(line)? ?//Java IO設(shè)計(jì)模式:裝飾模式
需要在終端輸入內(nèi)容柿隙,然后回車,直接返回剛才的內(nèi)容鲫凶。
Scala式:
println("請(qǐng)輸入你的學(xué)號(hào):")
val no = StdIn.readLine()
println("請(qǐng)輸入你的薪水:")
val salary = StdIn.readDouble()
println(no +"\t" + salary)
注意:第一次使用StdIn時(shí)需要導(dǎo)包(即字體是紅色的下面有橫線)禀崖,直接鼠標(biāo)放上面然后有提示:Alt+Enter,然后再點(diǎn)一次Enter即可螟炫。