ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

54 Scala入门、变量和数据类型、运算符

2022-02-08 13:34:27  阅读:147  来源: 互联网

标签:name val scala Scala 数据类型 运算符 user id 变量


Scala程序编译执行流程

变量

// val/var 变量标识:变量类型 = 初始值
// var 可以被重新赋值
// var 不可以被重新赋值
// scala语句的最后不需要添加分号
val name:String = "tom"

使用类型推断来定义变量

// scala可以自动根据变量的值来自动推断变量的类型
val name = "tom"

惰性赋值

// 有一些变量保存的数据较大,但不需要马上加载到JVM内存
// 可以使用惰性赋值来提高效率
lazy val sql = """insert overwrite table adm.itcast_adm_personas
select
a.user_id,
a.user_name,
a.user_sex,
a.user_birthday,
a.user_age,
a.constellation,
left join gdm.itcast_gdm_user_buy_category c on a.user_id=c.user_id
left join gdm.itcast_gdm_user_visit d on a.user_id=d.user_id;"
"""

字符串

// 使用双引号
// 使用插值表达式
val name = "zhangshan"
val age = 30
val sex = "male"
val info = s"name=${name}, age=${age}, sex=${sex}"
println(info)
// 使用三引号

数据类型

  • scala中所有的类型都使用大写字母开头

  • 整形使用Int而不是Integer

  • scala中定义变量可以不写类型,让scala编译器自动推断

运算符

  • scala没有 ++, -- 运算符
  • scala中可以直接使用 == ,!= 进行比较,与equals相同,比较的是值
  • eq 比较的是地址值
val str1 = "abc"
val str2 = str1 + ""
str1 == str2
str1.eq(str2)

Scala类型层次结构

// 以下代码有问题
// null类型不是Int类型的子类,不能转换成Int类型
val b:Int = null

标签:name,val,scala,Scala,数据类型,运算符,user,id,变量
来源: https://www.cnblogs.com/19BigData/p/15870869.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有