当前位置:网站首页>Scala类型转换
Scala类型转换
2022-08-02 08:20:00 【Hyf 。】
目录
Java (隐式类型转换)
原则:精度小的类型自动转换为精度大的数值类型,这 个就是自动类型转换(隐式转换)。有它对应的类型就输出什么类型,如果没有它的类型,就会遵循从精度小的数值类型自动转换为精度大的数值类型。
package chapter01;
public class TestDataTypeConversion {
public static void main(String[] args) {
byte b = 10;
test(b);
char c = 'a';
test(c);
//精度小的类型自动转换为精度大的数值类型,这个就是自动类型转换(隐式转换)
}
public static void test(byte b){
System.out.println("bbb");
}
public static void test(short s){
System.out.println("sss");
}
public static void test(char c){
System.out.println("ccc");
}
public static void test(int i){
System.out.println("iii");
}
}
代码测试
Scala数值类型自动转换
char类型只能转换成int类型
原则:当 Scala 程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数值类型,这 个就是自动类型转换(隐式转换)。数据类型按精度(容量)大小排序为:
基本说明:
(1)自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度大的那种数据类型,然后再进行计算。
(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错,反之就会进行自动类型转换。
(3)(byte,short)和char之间不会相互自动转换。
(4)byte,short,char他们三者可以计算,在计算时首先转换为int类型。
运行代码
package chapter02
object Test_08DataTypeConversion {
def main(args: Array[String]): Unit = {
//(1)自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成
// 精度大的那种数据类型,然后再进行计算。
val a1:Byte = 10
val b1:Long = 2353L
val result1 :Long=(a1+b1)
val result2 :Int =(a1+b1.toInt) //强制数值类型转换
//(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错(除非强制数值类型转换),反之就会进行自动
//类型转换。
val a2:Byte =8
val b2:Int =a2
// val c2:Byte =b2 //会报错的,除非强制数值类型转换
//(3)(byte,short)和 char 之间不会相互自动转换。
val a3:Byte =9
val b3:Char ='a'
//val c3:Byte =b3 //虽然IDEA没有报错,但是它是错误的,除非强制数值类型转换
val c3:Int = b3
println(c3)
//(4)byte,short,char 他们三者可以计算,在计算时首先转换为 int 类型。
val a4:Byte =12
val b4:Short=25
val c4:Char ='c'
val result4:Int=a4+b4
val result44:Int=a4+b4+c4
println(result44)
}
}
测试截图
边栏推荐
- High imitation [Huawei consumer business official website] and wonderful animation analysis: practice embedding JS code in low-code platform
- 用C写小游戏(三子棋)
- AttributeError: module ‘clr‘ has no attribute ‘AddReference‘
- day_05_pickel 和 json
- PyCharm使用教程(详细版 - 图文结合)
- QT web 开发 - 笔记 - 3
- QT web development - Notes - 3
- Business Intelligence Platform BI Business Intelligence Analysis Platform How to Choose the Right Business Intelligence Platform BI
- MySQL Workbench 安装及使用
- 【特别提醒】订阅此专栏的用户请先阅读本文再决定是否需要购买此专栏
猜你喜欢
Biotin-EDA|CAS:111790-37-5| Ethylenediamine biotin
Biotin-C6-amine|N-biotinyl-1,6-hexanediamine|CAS: 65953-56-2
pnpm:简介
UVM信息服务机制
prometheus监控mysql_galera集群
(Note)阿克西斯ACASIS DT-3608双盘位硬盘阵列盒RAID设置
按键控制流水灯(计时器)
PyQt5(一) PyQt5安装及配置,从文件夹读取图片并显示,模拟生成素描图像
USACO美国信息学奥赛竞赛12月份开赛,中国学生备赛指南
【电子电路】长按键拉低电平,适用在有休眠机制的MCU但是没有看门狗,一个按键多个功能场景下使用
随机推荐
BGP通过MPLS解决路由黑洞
Qt读取文件中内容(通过判断GBK UTF-8格式进行读取显示)
文章解读 -- FlowNet3D:Learning Scene Flow in 3D Point Clouds
Technology Cloud Report: To realize the metaverse, NVIDIA starts from building an infrastructure platform
tf.where使用
PyCharm使用教程(较详细,图+文)
力扣:第 304 场周赛
MySQL 中 count() 和 count(1) 有什么区别?哪个性能最好?
How to use postman
R language plotly visualization: use the plotly visualization model to predict the true positive rate (True positive) TPR and false positive rate (False positive) FPR curve under different thresholds
TiFlash 存储层概览
Codeforces Round #811 (Div. 3)无DF
三维体尺测量
IO process thread -> process -> day4
USACO美国信息学奥赛竞赛12月份开赛,中国学生备赛指南
第3周学习:ResNet+ResNeXt
高仿【华为消费者业务官网】和精彩动画剖析:练习在低代码平台中嵌入JS代码
Redisson报异常attempt to unlock lock, not locked by current thread by node id解决方案
Gorilla Mux 和 GORM 的使用方法
近期在SLAM建图和定位方面的进展