这里小结一下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>
展开阅读