這里小結一下scala和Java基礎語法上的區別
1.變量的聲明
java :
變量:
private String name;
private int age;
常量:
private final static long Id=00000000008L;
scala:
變量:使用var關鍵字
var name:String="jack"
var age:Int=22
常量:使用val關鍵字
val name:String="jack"
val age:Int=22
另外,scala可以在沒有變量類型的情況下,會根據值自動生成相關類型,
比如:var name="jack",則name就為String類型
var age =22,age 位Int類型
小結:Java變量聲明中類型置前,如:int age,Scala是類型置后,如:var age:Int。2.Java一條語句結束,必有分號來結尾,而scal語句則可以不用分號。
-
3.函數的聲明
函數的聲明與定義的不同,看兩整數相加分別在Java和Scala中的實現,二者區別一目了然
<pre>
//Java的實現
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("無返回值的函數,打印信息:"+info);
}
}
//Scala的實現
object Test{
def main(args:Array[String]){
addInt(6,8);
}def addInt(a:Int,b:Int):Int={
return a+b;
}//Scala函數沒有返回值用Unit
def printInfo(info:String):Unit={println("無返回值的函數,打印信息:"+info)
}}
</pre> 4.數據類型
Java的基本類型如圖:
scala的數據類型:
注意:java中整型為int,小寫,而Scala中整型為Int,首字母大寫
- 5.數組
Java中的數組:
<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中的數組:
<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)
// 輸出所有數組元素
for ( x <- myList3 ) {
println( x )
}
}
}
</pre>
注意:在Scala中快捷遍歷數組,十分簡潔,如下代碼。
<code>
// 輸出所有數組元素
for ( x <- myList3 ) {
println( x )
}
//二維矩陣
var myMatrix = ofDimInt
// 創建矩陣
for (i <- 0 to 2) {
for ( j <- 0 to 2) {
myMatrix(i)(j) = j;
}
}
</code>
展開閱讀