好程序员大数据学习路线分享spark之Scala,基本语法:变量变量的定义:不可变:val a = 2 或者val a : Int = 2 (指定了数据类型) lazy val a : Int =2可变:var a = 2 或者var a : Int = 2(指定了数据类型)def a = 2定义变量不能1.以数字以及特殊符号(_除外)开头2.以关键字(var、val、class等)开头def定义的是??var编译后有set与get方☐法所以可以重新赋值val编译后只有get方法 所以不能再赋值了lazy惰性变量,只在该变量被调用的时候才实例化,而且后面只能跟valdef与val差不多 不能重新赋值 更多修饰方法Scala变量的类型:Any是scala的顶级类型,Any下有AnyVal(值类型)和AnyRef(引用类型)两个子类AnyVal :它有9个类型,其中7个是指类型:Double Float Byte Int Short Long Char和两个非值类型:Unit BooleanAnyRef :是引用类型,它的子类有:List Option或者自定义的并继承它的class所有的类型都需要首字母大写Scala会自动推断类型Scala数据类型可以从低到高转换Byte-Short-Int-Long-Float-DoubleChar-Int-Long-Float-Double注意:scala内没有强转操作符Scala里没有操作符的概念,所谓的操作符其实都是方法数学运算:+ – * / : % .+ ( ) 注:x+y与x.+(y)等价关系: >= ! != ==位运算:| & ^如果两个不一样类型的变量进行运算,最终结果的类型是大的那个类型如果想要格式化输出:var x =5 var y = 5var n =x + yprint(s”x+y=$n”) 输出结果x+y=10当然也可以在结果前面加字符串”x+y”条件表达式
这种打出来是空,因为else里不是一个值,而是一个赋值语句正常应该是va 香港云主机r res = if(sex == 1){“男”}else{“女”}因为大括号里只有一个‘表达式’,大括号可以省略var res = if(sex == 1)“男”else“女”for循环for(i打印1-10for(i 打印1-9val arr = Array(“java”,”scala”,”python”) //定义一个数组for(i打印数组内容 for(i 相当于双层for循环val arr =for(i 把0-9循环出来后封装进arr集合val arr =for(i
val res2 = for(i 过滤val arrf = bf.filter(_ %2==0).map(_ *100) //过滤 _是全部数据的意思 在scala中不支持break语句,但在scala 2.8之后 可以利用Breaks方式来实现
方法def m1(x : Int , y : Int ) : Int = {x + y} //三种声明方式def m2(x:Int , y:Int) {print(x+y)}def m3(x:Int , y:Int){x+y}解释:m1是方法名 xy是int型的参数 括号外的int是返回值类型 x+y是方法调用:m1 (3,4)函数val f1 = (x:Int , y:Int) => x+y //声明val f1 = (x:Int , y:Int) =>{val sum = x+ysum*100} //最后一句作为函数的返回值 函数没有返回值类型回车之后会看到f1: (Int, Int) => Int =
这篇文章主要介绍win8管理员账户不见了怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.首先按“WIN+F”快捷键,点击“所有位置”。2.再输入“CMD”在搜索出来程序上点击右键选择“以管理员身份运行”。3.进入命令提示符以后,…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。