首页
学习
活动
专区
圈层
工具
发布

Java类型转换基本规则

参考链接: Java类型转换 1、基本数据类型的转换是指由系统根据转换规则自动完成,不需要程序员明确地声明不同数据类型之间的转换。转换在编译器执行,而不是等到运行期再执行。 ...2、基本数据类型的转换在赋值、方法调用和算术运算三种情况下都会发生。在进行方法调用时,数据类型指调用方法向被调用方法传递参数,即实参和型参类型不一致,从而发生了类型转换。 ...3、赋值和方法调用的基本数据类型转换规则一样。合法的基本类型转换原则是指从取值范围窄的类型向取值范围宽的类型转换,如果是从取值范围宽的类型向取值范围窄的类型转换,则会产生编译错误。 ...4、具体规则:  (1)布尔型和其它基本数据类型之间不能相互转换;  (2)byte型可以转换为short、int、、long、float和double;  (3)short可转换为int、long、float...而默认类型为双精度的带有小数点的浮点数型文字值只能赋值给双精度型变量,不能赋值给单精度型变量。  7、基本数据类型的转换在算术运算情况下,正对单操作数运算符和双操作数运算符的转换规则是不一样的。

1.6K10

隐秘的 MySQL 类型转换

其根源就是MySQL的隐式类型转换。 3.1 什么是隐式类型转换? 在MySQL中,当操作符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容,则会发生隐式类型转换。...由于字符串是非数字型的,所以就会被转换为0,因此计算结果:0+1=1 3.2.2 使用内置函数显示转换 MySQL对数据进行类型转换,提供了cast() 和 convert()。...相同点:两者都是进行数据类型转换,实现的功能基本等同 不同点:两者的语法不同:cast(value as type) 、 convert(value,type) 将数值型转换为字符串型,应用示例如下:...3.3 字符类型转换 另外,关于字符串类型转换的一些补充: mysql> select '1a2b3c' = 1; -> 1 mysql> select 'a1b2c3' = 0; -> 1 从上面的例子可以得出...4、总结 本文主要从问题入手,继而进行问题引申,最终挖掘出问题根源:MySQL隐式类型转换。

4.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript 基本数据类型转换

    [数据类型转换.001] 前言 数据类型转换是我们在前端开发中经常遇到的场景,一般而言,在 JavaScript 中类型转换有三种情况: 转换为数字(调用 Number(),parseInt(),parseFloat...转换为数字 Number(string) 方法 Number() 可以把任意值转换成数字,如果要转换的目标对象(一般是字符串)中有不是数字的值,则会返回 NaN。...将目标对象转换为字符串。...当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接,返回字符串: let a = 1 a + '' // '1' 转换为布尔值 Boolean() Boolean...str) // true 总结 以上就是 JavaScript 基本数据类型转换相关的知识总结,其中最需要注意的是隐士转换。 ~本文完,感谢阅读!

    1K00

    【C语言】数据类型(基本类型、构造类型、类型转换)

    ⏰打卡:DAY1 今日学习目标:数据类型(基本类型、构造类型、类型转换) ✨个人主页:颜颜yan_的个人主页 专栏系列:从0开始学C语言 ---- 文章目录 前言 基本类型 整型 浮点型 字符型...构造类型 数组 枚举类型 共用体 结构体 类型转换 隐式类型转换 显式类型转换 总结 ---- 前言 最近C语言忘了好多,开始复习ing,记一下近日的笔记~ ---- C语言中的数据类型分为4中,分别是基本类型...这里查看一下每种数据类型的大小 基本类型 整型 不包含小数部分的数据都成为整型数据。...类型转换 隐式类型转换 隐式类型转换是指系统自动进行的类型转换。 不同类型的数据进行运算,系统会自动将低字节数据类型转换为高字节数据类型,即从下往上转换。...基本格式为:(类型名)(表达式) 浮点数与整型的转换:将浮点数转换成整数时,将舍弃浮点数的小数部分,只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式,即小数点后带若干个0。

    4.6K30

    谈谈 MySQL 隐式类型转换

    来源:andyqian www.andyqian.com/2017/11/11/database/MySQLConvert/ 前言 今天我们继续回到MySQL系列文章中,谈一谈MySQL中隐式类型转换。...带着这疑问,我们来看看今天的主角——MySQL隐式类型转换 什么是隐式类型转换? 在MySQL中: 当操作符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。...为了加深我们对隐式类型转换的印象,我们再多看看几个隐式类型转换案例: 案例一: 字符串转换为数字 mysql > SELECT 1+’1′; 结果: 案例二: 数字转换为字符串 mysql -> SELECT...如何避免隐式类型转换? 只有当清楚的知道隐式类型转换的规则,才能从根本上避免产生隐式类型转换。MySQL也在官网描述了进行隐式类型转换的一些规则如下: 1....使用CAST函数显示转换 我们可以使用CAST显示的将类型进行转换,如下所示: mysql> SELECT 38.8, CAST(38.8 AS CHAR); 结果: mysql > 38.8, ‘38.8

    3.6K120

    Java之基本数据类型转换

    文章目录 基本数据类型转换 1. 自动类型转换 2. 自动类型转换注意和细节 3. 强制类型转换 4. 强制类型转换细节说明 5. 基本数据类型转换-练习题 基本数据类型转换 1....自动类型转换注意和细节 //细节1: 有多种类型的数据混合运算时, //系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算 int n1 = 10; //ok //float d1...强制类型转换 介绍 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意。...强制类型转换细节说明 说明:靠近小括号的 10 先会转换成 int 类型,再乘以 3.5 就会变成 double 类型再加上后面的数,结果是 double 类型,不能把放在 int 类型里 //演示强制类型转换...基本数据类型转换-练习题

    88120

    mysql基本数据类型

    mysql数据库分多钟数据类型,大类可以分为三种:数值类型、时间(日期)和字符(串)类型。 数值类型 MySQL支持所有标准SQL数值数据类型。...在存储或检索过程中不进行大小写转换。 binary和 varbinary类似于 char和 varchar ,不同的是它们包含二进制字符串而不要非二进制字符串。...说到字符就不得不说一下编码格式,我们常用的是utf8(3个字节),基本的字符都能装下,但是表情字符emoji所占的是四个字符,这时就不够用了,好在mysql5.5.3版本以后支持一种新的编码格式utftmb4...每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。 TIMESTAMP类型有专有的自动更新特性。 ?...mysql在5.6.4版本后,timestamp与datetime支持到微秒。 字段类型与时区的关联关系 timestamp会根据系统时区进行转换,datatime则不会。

    1.9K20

    mysql 隐式类型转换_scala的隐式转换

    在mysql查询中,当查询条件左右两侧类型不匹配的时候会发生隐式转换,可能导致查询无法使用索引。...下面分析两种隐式转换的情况 看表结构 phone为 int类型,name为 varchar EXPLAIN select * from user where phone = ‘2’ EXPLAIN...select * from user where phone = 2 两种情况都可以用到索引,这次等号右侧是’2’,注意带单引号哟,左侧的索引字段是int类型,因此也会发生隐式转换,但因为int类型的数字只有...所以虽然需要隐式转换,但不影响使用索引,不会导致慢查询 EXPLAIN select * from user where name= ‘2’ 这种情况也能使用索引,因为他们本身就是varchar 类型...EXPLAIN select * from user where name= 2 因为等号两侧类型不一致,因此会发生隐式转换,cast(index_filed as signed),然后和2进行比较。

    3.1K10

    mysql 类型自动化转换问题

    find_in_set('4',ad_type); 参考:https://www.cnblogs.com/mytzq/p/7090197.html 无意间发现了一个这样的问题,ad _type为text类型...解惑 询问了一个朋友,他给了一个方向,mysql会自动转换类型,当你select语句的条件和数据中的type不一致的时候; 一拍大腿,是呀,之前有碰到过类似问题,如下: 有个id是varchar,你不加...‘’也可以查询出来, 应该是转换了的,但这样没走索引的,所以查询效率很低 。。...,只是有一个逗号的存在,在转换的时候会截断,实际操作如下: ?...所以就解释通了,三观恢复 拿了一下官方的翻译版本, 隐式类型转换规则: 如果一个或两个参数都是NULL,比较的结果是NULL,除了NULL安全的相等比较运算符。

    2.6K20

    C语言类型转换(自动类型转换+强制类型转换)

    数据类型转换就是将数据(变量、数值、表达式的结果等)从一种类型转换为另一种类型。自动类型转换自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。...1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如:float f = 100;100 是 int 类型的数据,需要先转换为 float 类型才能赋值给变量 f。...对于不安全的类型转换,编译器一般会给出警告。2) 在不同类型的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。...强制类型转换自动类型转换是编译器根据代码的上下文环境自行判断的结果,有时候并不是那么“智能”,不能满足所有的需求。如果需要,程序员也可以自己在代码中明确地提出要进行类型转换,这称为强制类型转换。...自动类型转换是编译器默默地、隐式地进行的一种类型转换,不需要在代码中体现出来;强制类型转换是程序员明确提出的、需要通过特定格式的代码来指明的一种类型转换。

    30810

    C语音之基本数据类型转换

    文章目录 基本数据类型转换 1. 自动类型转换 1. 自动类型转换 2. 数据类型按精度(容量)大小排序为 3. 数据类型自动转换表规则 4. 案例演示 5. 自动类型转换细节说明 2....强制类型转换 1. 强制类型转换 2. 案例演示 3. 强制类型转换细节说明 4. 基本数据类型转换-练习题 基本数据类型转换 1. 自动类型转换 1....自动类型转换 介绍:当 C 程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。 2. 数据类型按精度(容量)大小排序为 ? 3. 数据类型自动转换表规则 ?...案例演示 演示一下基本数据类型转换的基本情况。...基本数据类型转换-练习题 判断是编译是否会通过?

    91930

    MySQL 案例:类型转换也会用上索引?

    背景 作为大多数 MySQL DBA 都有的常识,当 MySQL 的查询中出现隐式数据类型转换,比如 int 类型的列使用字符串类型的内容作为查询条件时,会出现索引失效的问题,导致查询可能会变成全表扫描...依旧查阅官方文档,可以在类型转换的章节中找到一部分关于类型转换的介绍,摘抄部分内容如下: In all other cases, the arguments are compared as floating-point...简单来说,就是在做对比的时候,MySQL 自身会有一套基本的规则来对应不同类型数据的比较,而字符串与数字的对比中,字符串会被转换成双精度浮点型数字之后再进行对比。...本身类型转换的特殊性,仍旧可以使用到索引。...总结一下 对于“隐式数据类型转换会导致索引失效”这一说法在绝大多数情况下都是正确的,但是严格的来说,仍旧存在特殊情况,可能会误打误撞使用上索引。

    3K80

    Python3 | 练气期,基本数据类型,类型转换!

    [ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x00 Python3基本数据类型,类型转换 描述:上一章,我们学习了Python3基础语法,此章节我们学习Python几种基本数据类型,以及数据类型转换...0x02 数据类型转换 虽然 Python 是弱类型语言,但是在编程时常常需对数据类型进行转换,其中Python 数据类型转换可以分为两种:隐式类型转换和显式类型转换。...2.1 隐式类型转换 在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。...例如,较低数据类型(整数)与较高数据类型(浮点数)进行计算时,将结果自动转换为浮点数,即隐式类型转换。...2.2 显式类型转换 在显式类型转换中,Python 需要手动进行转换,此时只需要将数据类型作为函数名包含需要类型转换的变量即可,然后函数将返回一个新的对象,表示转换的值; 例如,整型和字符串类型运算时

    1.3K10

    Java8 基本类型数组转换为List

    Java基本类型(byte/short/int/long/float/double/char/boolean)的数组(byte[]/short[]/int[]/long[]/float[]/double...[]/char[]/boolean[])不能直接通过Arrays.asList方法转换为List,因为List的元素必须是包装类。...在Java8之前,想要实现这种转换只能通过循环。对于int, long, double三种基本类型,Java8提供的新特性Stream则可以让我们在一行之内解决这个问题。...(注意,只支持int, long, double三种类型,其他基本类型不行,感谢q452227361的指出) list = Arrays.stream(arrays).boxed().collect(Collectors.toList...()); 其中Arrays.stream方法把数组转换为Stream对象,Stream.boxed方法把基本类型转换为包装类,最后调用Stream.collect方法将Stream对象转换为List对象

    1.8K10

    Go 编程 | 连载 05 - 基本数据类型转换

    一、基本数据类型转换 强制转换 Go 中基本数据类型的强制转换值指的是通过 int、int32、string、float32、float64... 等基本数据类型的标识符来实现的数据类型转换。...如果底层数据类型相同也算是可以实现强制类型转换的。...隐式转换 通过数据类型标识符来实现的转换成为强制转换或者显示转换,而隐式转换指不通过类型标识符即可实现的数据类型的转换。 Go 中常量和变量之间支持隐式转换,变量之间的不支持隐式转换。...二、 strconv 标准库实现的基本数据类型转换 从上述代码中可以确定,字符串和数字之间是不能通过 int、float32、string 这种简单的方式实现互相转换的,要想实现这种跨类型的互相转换,就需要使用到...Go 官方文档中对 Package strconv 的描述是 strconv 标准库实现了基本数据类型和其字符串表示的相互转换。

    98310

    Java基础-基本数据类型之间的转换

    本文链接:https://blog.csdn.net/weixin_42528266/article/details/102930817 在赋值运算或算术运算时,要求数据类型相同,否则要进行类型转换...转换方式: 自动转换 强制转换 除boolean类型外,所有的基本数据类型因为各自的精度不同,赋值时都要考虑这个问题 除boolean类型外,所有的基本数据类型包括:整型,浮点型,字符型。...运算中相邻两个操作数先转化为同一类型,转换从低级到高级,然后进行运算;运算的结果再 和下一个操作数据进行运算,规则相同 3+'A'+45L 5+3.6+ 'A'+3.14f ?...赋值运算时的转换 自动类型转换(左>右) 代码示例 package com.cwl.base.day01; /** * @program: java_base * @description: 测试基本数据类型...,再计算 =两侧:左侧宽度>右侧宽度 自动转换 左侧宽度转换 特例 可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超 出其表数范围

    77830
    领券