首页 > 编程语言 >Scala学习5之scala与java的不同之总结1

Scala学习5之scala与java的不同之总结1

时间:2023-01-04 11:04:11浏览次数:48  
标签:java 变量 Scala Int scala println hello


1.scala不同声明变量的具体类型,只需要声明是var还是val,即变量或不变量,由编译器自动判断。而java需要具体声明,比如Int,String


2.scala函数声明返回值是声明在后面,而且可以不用return,直接在最后写返回变量或常量即可。比如

    def main(args:Array[String]):Int={

     println("hello")

     1

   }

而java或者c需要return


3.scala不用分号结束,而java需要

    

scala:
println("hello scala")

java:
println("hello java");


scala设计者觉得多输入一个字符都是浪费,所以编写从简


4.scala中赋值语句是unit的,所以不能串联:

x=y=1 //有问题

y=1返回值是unit,所以x赋值有问题

而java和c++可以


5.scala没有提供break和continue来推出循环,而java可以。

   scala解决办法:设置boolean变量,或者使用Breaks对象;continue不知道怎么使用

package test
import scala.util.control.Breaks._
object test3 {
def main(args:Array[String]){
println("hello test3")
var test=new test2()
test.main1()

breakable{
for(i<-0 to 10){
if(i==5) break
println(i);
}
}
println(test4);
}
def test4():Int={
return 1
}
}


//scala可以使用return


6.scala的for可以用守卫,java不能这么表达

for(i<- 0 to 5 ;j<-0 to 5 if i!=j){]


7.scala通配符为‘_’,java为‘*’

8.scala的构造器名称为this,而java和C++为与类名称一样,当需要修改类名称时,显然java麻烦。

    scala的辅助构造器前一定要有一个主构造器或者其他辅助构造器

    而且scala的主构造器参数可以直接放在类后面

   

class Person(name:String,age:Int) {

}

而java行数比较多


9.java中内部类从属于外部类,但是scala实例化的内部类是不同的。可以使用类型投影Network#Person,表示任何Network的Person类





标签:java,变量,Scala,Int,scala,println,hello
From: https://blog.51cto.com/u_13791455/5987190

相关文章

  • JAVA问题总结之22--Arraylist集合的操作
    JAVA问题总结之22--Arraylist集合的操作:packagecom.atguigu.java1;importjava.util.ArrayList;importjava.util.List;importorg.junit.Test;publicclassTestList{......
  • Scala学习6之scala与java的不同之总结2-重写override
    scala与java的不同之总结21.重写  scala:overridedefgetAge(){}java:@overridepublicIntgetAge(){}2.scala可以使用private[this]来更细化限定权限,private[this]可以......
  • Scala学习7之scala与java不同之总结3-特质和接口
    1.scala和java为了避免出现菱形继承的问题,都只能继承一个类,但都可以继承多个特质(scala)或者接口(java);java中使用接口interfere,接口里面只能包含抽象方法,不能包含字段,也不能包......
  • Java问题总结之31-成员变量声明
    [修饰符]   类型   变量名;修饰符有:①public。指明变量为公有,即程序中的其他类均可访问此类中的变量。②protected.指明变量为受保护访问。可被同一个......
  • JavaScript学习
    1、书写位置​ 行内式(内嵌式):写在元素内部,一般不常用。a:<ahref="javascript:alert('11');">超链接</a>非a:<buttononclick="alert('11')"></button>​ 内部式:可......
  • 「java技术干货」switch分支结构详解
    前言在上一篇文章中,壹哥给大家介绍了Java里的顺序、分支、循环结构的概念,并且重点给大家讲解了分支结构中的条件分支。并在条件分支中,详细地给大家讲解了if条件分支的使用......
  • JAVA常用PMO
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></d......
  • IntelliJ IDEA 不能识别 Java 项目
    解决办法需要把 src 目录标志为 SourceRoot——在 src 目录上点右键,选择 MarkDirectoryAs -> SourcesRoot:.java文件的图标会发生改变:EDIT在 Projec......
  • javascript【基础】数据类型
    五种基本数据类型NumberStringBooleanUndefined一个没有设置值的变量Null表示一个空对象引用ES6(Symbol)//ES6一种复杂数据类型Object在Java......
  • java 方法的内存理解
    目录方法调用的基本内存原理方法传递基本数据类型的内存原理基本数据类型(四类八种):数据值存储在自己的空间中引用数据类型:存储地址值,真实值在地址指向的空间两种数据类型的......