這里小結(jié)一下scala和Java基礎(chǔ)語法上的區(qū)別
1.變量的聲明
java :
變量:
private String name;
private int age;
常量:
private final static long Id=00000000008L;
scala:
變量:使用var關(guān)鍵字
var name:String="jack"
var age:Int=22
常量:使用val關(guān)鍵字
val name:String="jack"
val age:Int=22
另外,scala可以在沒有變量類型的情況下,會根據(jù)值自動生成相關(guān)類型,
比如:var name="jack",則name就為String類型
var age =22,age 位Int類型
小結(jié):Java變量聲明中類型置前,如:int age,Scala是類型置后它匕,如:var age:Int妓肢。2.Java一條語句結(jié)束地来,必有分號來結(jié)尾陪腌,而scal語句則可以不用分號。
-
3.函數(shù)的聲明
函數(shù)的聲明與定義的不同翻伺,看兩整數(shù)相加分別在Java和Scala中的實現(xiàn),二者區(qū)別一目了然
<pre>
//Java的實現(xiàn)
public class TestJava{
public static void main(String [] args){
addInt(6,8);
}public static int addInt(int a,int b){
return a+b;
}public void printInfo(String info){
System.out.println("無返回值的函數(shù)沮焕,打印信息:"+info);
}
}
//Scala的實現(xiàn)
object Test{
def main(args:Array[String]){
addInt(6,8);
}def addInt(a:Int,b:Int):Int={
return a+b;
}//Scala函數(shù)沒有返回值用Unit
def printInfo(info:String):Unit={println("無返回值的函數(shù)吨岭,打印信息:"+info)
}}
</pre> 4.數(shù)據(jù)類型
Java的基本類型如圖:
scala的數(shù)據(jù)類型:
注意:java中整型為int,小寫峦树,而Scala中整型為Int,首字母大寫
- 5.數(shù)組
Java中的數(shù)組:
<pre>
public class TestJava{
public static void main(String []agrs){
int [] numbs = new int[3];
String [] names = {"jack","tom","jerry"};
for(int i=0;i<numbs.length;i++)
numbs[i]=i*i;
printArrays(numbs);
for(String arg:names)
System.out.println(arg);
}
private static void printArrays(int []a ){
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
}
}
</pre>
scala中的數(shù)組:
<pre>
import Array._
object Test {
def main(args: Array[String]) {
var myList1 = Array(1.9, 2.9, 3.4, 3.5)
var myList2 = Array(8.9, 7.9, 0.4, 1.5)
var myList3 = concat( myList1, myList2)
// 輸出所有數(shù)組元素
for ( x <- myList3 ) {
println( x )
}
}
}
</pre>
注意:在Scala中快捷遍歷數(shù)組,十分簡潔辣辫,如下代碼。
<code>
// 輸出所有數(shù)組元素
for ( x <- myList3 ) {
println( x )
}
//二維矩陣
var myMatrix = ofDimInt
// 創(chuàng)建矩陣
for (i <- 0 to 2) {
for ( j <- 0 to 2) {
myMatrix(i)(j) = j;
}
}
</code>
展開閱讀