Scala的变量和数据类型

4 篇文章 0 订阅
订阅专栏

var和val的区别

常量:在程序执行的过程中,其值不会被改变的变量

  1. 基本语法
    var 变量名 [: 变量类型] = 初始值 var i:Int = 10
    val 常量名 [: 常量类型] = 初始值 val j:Int = 20
    注意:能用常量的地方不用变量

数据类型

在这里插入图片描述

  1. Scala中一切数据都是对象,都是Any的子类
  2. Scala中数据类型分为两大类:数值类型(Any Val)、引用类型(Any Ref),不管是数值类型还是引用类型都是对象。
  3. Scala数据类型仍然支持低精度转高精度的自动转换。
  4. Scala中的StringOps是对Java中的String增强。
  5. Unit:对应Java中的void,用于方法返回值的位置,表示没有返回值。Unit是一个数据类型,只有一个对象,就是()。void不是数据类型,只是一个关键字。
  6. Null是一个类型,只有一个对象就是null,他是所以引用类型(Any Ref)的子类。
  7. Nothing,是所有数据类型的子类,主要用于一个函数没有明确返回值时使用,因为我们可以把抛出的返回值返回给任何变量或者函数。

整数类型(Byte、Short、Int、Long)

在这里插入图片描述
Scala 的整型,默认为 Int 型,声明 Long 型,须后加‘l’或‘L’。
Scala 程序中变量常声明为 Int 型,除非不足以表示大数,才使用 Long。

浮点类型

在这里插入图片描述
Scala 的浮点型常量默认为 Double 型,声明 Float 型常量,须后加‘f’或‘F’。

字符类型(Char)

字符类型可以表示单个字符,字符类型是 Char。

布尔类型(Boolean)

boolean类型占一个字节

Unit类型、Null类型和Nothing类型

  1. 基本说明
    在这里插入图片描述

类型转换

自动类型转换

数据类型按精度(容量)大小排序为:
在这里插入图片描述

  1. 自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换为精度大的那种数据类型,然后进行计算
  2. 把精度大的数值类型赋值给精度小的数值类型会报错,反之进行自动类型转换。
  3. (byte,short)和char之间不会相互自动转换。但是可以计算,在计算时,他们会先转换为int类型然后进行计算。

强制类型转换

自动类型转换的逆过程,将精度大的数值类型转换为精度小的数值类型。使用时要加上
强制转函数,但可能造成精度降低或溢出,格外要注意。

Java : int num = (int)2.5
Scala : var num : Int = 2.7.toInt

数值类型和String类型间转换

在程序开发中,我们经常需要将基本数值类型转成 String 类型。或者将 String 类型转成
基本数值类型。

  1. 基本类型转 String 类型(语法:将基本类型的值+“” 即可)
  2. String 类型转基本数值类型(语法:s1.toInt、s1.toFloat、s1.toDouble、s1.toByte、s1.toShort、s1.toLong)
Scala字符串处理】43、Scala中字符串常见操作
CSDN 精品推荐
11-13 923
Scala 中,字符串是不可变的,因此字符串的操作主要涉及创建、拼接、切割、转换、查找、替换等常见操作。
Spark基础学习笔记09:Scala变量数据类型
howard2005的专栏
03-02 1604
1. 学会变量声明 2. 掌握数据类型
Scala教程(一)——基本数据类型变量
齐梦星空
05-22 1029
1、基本数据类型 Byte 8位有符号补码整数。数值区间为 -128 到 127 Short 16位有符号补码整数。数值区间为 -32768 到 32767 Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 Long 64位有符号补码整数。数值区间为 -9223372036854775808 到 92233720368...
Scala 基础 —— StringStringOps)、tuple、Range
04-23 3785
scala> val rawData = sc.textFile("...") rawData: org.apache.spark.rdd.RDD[String]val line = rawData.first line: Stringsplit()和 Java/Python 中的 String 类一样,得到一个 String 构成的数组scala> val pieces = li
scala入门知识点
m0_38109926的博客
05-18 405
变量与常量 变量: var i:Int = 10 常量: val j:Int = 20 说明: 类型可以省略,类型确定后,就不能修改,变量声明时,必须要有初始值 字符串、变量一起使用 val s2 = s"name=$name" var age: Int = 18 //格式化输出 printf("info=%s age=%d\n", s2, age) //如果需要对变量进行运算,那么可以加${} val s1 = s""" |select | name, | age |from
二、Scala变量数据类型
一智哇的博客
03-15 454
Scala变量数据类型
Scala变量数据类型
weixin_67240302的博客
06-16 123
Scala变量数据类型
scalascala变量定义和数据类型
听风成歌。
02-29 2359
一、变量定义 对比java说明 scala变量的定义分两个,一个是用val来定义,相当于java中是用final来定义变量,一旦定义,其中的值便不可修改;另外一个是用var来定义,相当于java中的非final变量,可修改。一般使用val定义,因为变量定义之后一般很少会去修改。如果你用val定义了一个对象,对象.属性还是可以修改的(前提是对象.属性是用var来定义的) java变量定义方式: St...
ScalaScalaString
weixin_34356555的博客
01-16 448
一、前言   大数据领域的Spark、Kafka、Summingbird等都是由Scala语言编写而成,相比Java而言,Scala更精炼。由于笔者从事大数据相关的工作,所以有必要好好学习Scala语言,之前也学习过,但是没有记录,所以就会忘记,感觉Scala确实比Java方便精炼很多,下面以Scala Cookbook英文版作为参考资料,从头到尾梳理Scala相关知识点,也加深印象。PS:这是...
Scala
热门推荐
涵死的博客
11-27 1万+
Scala安装与配置 1 安装 2 配置IDEA 二 Scala基础 1 Hello Scala 11 IDEA运行HelloScala程序 12 控制台运行HelloScala程序 2 声明值和变量 3 常用类型 31 常用类型介绍 32 常用类型结构图 4 算数操作符重载 5 调用函数与方法 6 option类型 三 控制结构和函数 1 if else表达式 2 w
Scala基础语法大全总结(一)
不清不慎的博客
07-09 1万+
Scala语言是一门基于JVM的编程语言,具有强大的功能,它即具有类似Java的面向对象的特性,而且也类似于C语言面向过程,函数也是一等公民,即不需要在隶属于哪一个类就可以执行。基于JVM的特性,使得scalaJava可以无缝互操作,scala可以任意操作Java的代码,两者的联系紧密。 Scala解释器的使用: REPL: Read(读值)、Evaluation(计算)、Prin...
Scala数据类型
qq_53481973的博客
07-05 449
Scala数据类型
一、Scala简明笔记
Norni的博客
09-15 514
目录1、项目创建和环境配置2、Hello world3、变量数据类型3.1 注释3.3 代码规范3.4 变量和常量3.5 标识符3.6 字符串3.7 键盘输入及文件读取3.8 数据类型3.9 整数类型3.10 浮点类型3.11 字符类型3.12 布尔类型3.13 空类型3.14 类型转换4、运算符5、流程控制5.1 if-else if-else5.2 For5.3 while/do...wh...
Scala 点滴:String & String Interpolation
Freecloud
03-20 2285
String: Scala中的String类使用的就是JavaString.class;所以,用法跟Java相同。但是Scala中加入了StringOps类扩展了String,有一些很有用的方法。 几个需要注意的是: "a" * 2    返回:"aa":字符串 * 2。 """ She said: "Hey,geys." And then... """:原生字符串,其中可有任意符号
Scala 自学笔记
escaflone的专栏
02-04 4736
1、声明指和变量 val answer = 8 * 5 + 2; //常量 var counter = 0; //变量 //在必要的时候 ,可以指定类型 val greeting:String = null val greeting:Any = "Hello" //可以将多个值或变量放在一起声明 val xmax, ymax = 100 //xmax 和 ymax设为100 var gree
[scala基础]--String的操作
欢迎来到我的博客,一起探索代码里的世界!
08-14 8162
运行环境:jdk1.7、scala-2.10.4package study /** * Document:本类作用---->测试字符串 * User: yangjf * Date: 2016/8/14 8:07 * 像数组,字符串不是直接的序列,但是他们可以转换为序列, 并且他们也支持所有的在字符串上的序列操作这里有些例子让你可以理解在字符串上操作 */ obj...
scala--String
gentleman851的博客
03-28 571
val h = "Hello" f"'$h%s'" // 'Hello' f"'$h%10s'" // ' Hello' f"'$h%-10s'" // 'Hello '
Scala | 字符串揭秘
purisuit_knowledge的专栏
07-25 751
转载自:http://songkun.me/2018/05/14/scala-string-ops/ String源码剖析 Scala 中的String其实仅仅是java.lang.String的别名,在scala.Predef中可以找到其定义: 1 type String = java.lang.String 明明 Scala...
Scala学习笔记(4) --輸入/輸出
言の叶の庭
03-20 3243
输入/输出(IO)Scala终端输出与Java中类似,使用print()/println()函数。 Scala中终端输入需要导入包scala.io.StdIn。格式化输出使用print()/println()可以打印String类型的文本输出。 复杂文本可以使用类似Java的字符串拼接方式(使用操作符+)。 在Scala中,字符串依然使用Java中标准的String类型,但通过隐式转换特性,S
写文章

热门文章

  • Kafka如何保证消息顺序? 3844
  • Kafka生产经验 2958
  • ARP协议工作原理 1756
  • Spark的核心组件 1332
  • List的常用实现类 1214

分类专栏

  • 23春招复习 2篇
  • 大数据面经 2篇
  • zookeeper 5篇
  • 计算机网络 4篇
  • jdk 3篇
  • 集合 3篇
  • LeetCode 27篇
  • spark 18篇
  • hive 10篇
  • MapReduce 5篇
  • JUC 15篇
  • JVM 1篇
  • 剑指 Offer 60篇
  • scala 4篇
  • hbase 2篇
  • sqoop 1篇
  • kafka 8篇
  • flume 3篇
  • hadoop 4篇
  • Yarn 2篇
  • hdfs 5篇

最新评论

  • 携程面经1

    CSDN-Ada助手: Java 技能树或许可以帮到你:https://edu.csdn.net/skill/java?utm_source=AI_act_java

  • ArrayList和LinkedList的区别

    CSDN-Ada助手: 不知道 算法 技能树是否可以帮到你:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm

  • 同步锁的分类

    路遥万里: 太全面了吧

  • CC23 最长的连续元素序列长度

    cluse_ld: 你不是我第一个铁粉天理难容

  • CC23 最长的连续元素序列长度

    路遥万里: 博主666

大家在看

  • Verilog:参数(parameter)的使用
  • (八千字心得笔记)零基础C语言入门第三课——scanf函数和printf函数详解
  • 喷泉模型并不是常见的软件开发过程模型之一,它并不属于您提到的主流模型列表中 1216
  • C语言结构体数组 java静动数组及问题 90
  • Linux常用命令大全超详细知识点概览 1080

最新文章

  • 滴滴面经1
  • 网络资源面经3
  • 网络资源面经2
2023年4篇
2022年184篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢雕塑喷漆哪家有商场玻璃钢花盆怎么浇水北京玻璃钢雕塑全国接单天津 玻璃钢雕塑人物玻璃钢雕塑施工方案公园景观玻璃钢卡通雕塑加工玻璃钢竹简雕塑价格江西动物玻璃钢雕塑市场玻璃钢雕塑多钱百色玻璃钢商场美陈南京商场美陈哪里有四川主题商场美陈多少钱吉林环保玻璃钢雕塑销售厂家晋城标识标牌玻璃钢景观雕塑房地产玻璃钢彩绘雕塑小品福建主题商场美陈销售厂家定做玻璃钢仿铜雕塑河南铸铜玻璃钢仿铜雕塑定做五华区玻璃钢雕塑造型厂家多少钱玻璃钢人物铜雕塑设计济南玻璃钢花盆河南常见商场美陈制造华威桥商场美陈吐鲁番玻璃钢雕塑制作厂家人物卡通玻璃钢雕塑制作长春玻璃钢雕塑的生产厂家广东装饰商场美陈批发价商场美陈礼盒济宁有玻璃钢雕塑生产厂家江苏广场玻璃钢花盆香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化