数据类型自动转换规则

数据类型的自动转换遵循如下规则:

1.若参与运算的数据类型不同,则先转换成同一类型,然后进行运算;

2.转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。

3.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

4.char型和short型参与运算时,必须先转换成int型

5.在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。

下图表示了数据类型的自动转换规则:

参考文献: <http://www.nowcoder.com/test/question/done?tid=1469657&qid=25817#summary>

来自为知笔记(Wiz)

时间: 2024-08-28 05:03:26

数据类型自动转换规则的相关文章

JAVA数据类型自动转换,与强制转换

一.数据类型自动转换 public class Test{ public static void main(String[] args){ int a = 1; double b = 1.5; double a_b_count = a+b; //整型与双精度型相加时,结果会自动转换为双精度型 String c = "凌"; char d = '晨'; char e = '好'; String c_d_e_content = c+d+e; //字符型与字符串型相加时,结果会自动转换为字符

php之数据类型自动转换

原文:php之数据类型自动转换 1:概述 ---php是一种弱类型的语言,它可以根据运行环境的变化而自动进行数据类型的转换 1.1转换成布尔类型的原则 以下值都将转换成布尔类型中的false: A.布尔类型的false; B.空字符串'' C.正数0或浮点数0.0或字符串'0'(不包括字符串'0.0') D.没有成员的数组----array() E.null 除此之外其它值都转换成true. 1.2转换成数值型的原则 A.如果字符串为合法的数字字符串,同时不包含./e/E,而且没有超过整型的存数

Spring4-自动装配Beans-按属性的数据类型自动装配Bean

1.创建Maven项目,项目名称springdemo16,如图所示 2.配置Maven,修改项目中的pom.xml文件,修改内容如下 <project xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

2018-07-14Java基础+基本数据类型+自动/强制数据类型转换+定义变量+运算符

Java查看版本: CMD内输入:java –version回车! 企业内一般是JDK1.5-->1.7版本! ① J2SE:Java 2 Platform Standard Edition( 2005年之后更名为Java SE )!包含构成Java语言核心的类:比如数据库连接,接口定义,数据结构,输入/输出,网络编程! ② J2EE:Java 2 Platform Enterprise Edition ( 2005年之后更名为Java EE )!Enterprise Edition(企业版)包

struts2中的数据类型自动转换

参考:https://blog.csdn.net/qq_35326718/article/details/72453042 https://www.cnblogs.com/aigeileshei/p/5889562.html struts2控制层Action可以通过使用拦截器可以自动赋值,但多个属性的数据类型有时会出现不一样的情况,struts2可以将常用的数据类型进行自动转换.有关知识参考上述blog. 本文建立web项目,实现String转换自定义类和String转换成Date类型. 首先建

数据类型自动转换(Java)

public class Test{ public static void main(String[]args) { int a=3;//穷人 double b=1.5;//富人 double c=a+b;//相加就成了富人,如果把c定义成int类型,就会报错 System.out.println(c); char man='男': String women='女': String str=man+women; System.out.println(str); }} int类型等级比double

Java基本数据类型自动转型溢出问题

<span style="font-size:14px;">public class TestCast { public static void main(String[] args) { int money=1000000000; //10亿 int year=20; int total=money*year; System.out.println(total); } }</span> 输出结果:-1474836480 这个时候我们就可以想到int的范围是-2

java数据类型及转换规则

数据类型中 一个字节等于8位,一个字节等于256个数,就是-128到+127共256 数值型 整型 Java各整数类型有固定的表数范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性 . byte 占1个字节,有效位8位,范围-128 ~ +127 short占2个字节,有效位16位,范围-32768 ~ +32767 int占4个字节,有效位32位,范围-2^31 ~ +2^31-1 long占8个字节,有效位64位,范围-2^63 ~ +2^63-1 浮点型 Java浮点类

php中数据类型自动转换

1.1 转为布尔型(即返回值为0) 空字符串''或"" 数字0或0.0 字符'0'或"0" 空值NULL 没有成员的数组    其余都转换成布尔型true,包含资源 1.2 转为整数或浮点型 如果字符串为合法的数字字符串,则直接转换成整型/浮点型 如果字符串中包含.或e或E,则转换成浮点型:否则转换成整型 非法的数字字符串转换成数值0 布尔型true转换成数字1,false转换成数字0 空值null将转换成数字0 1.3  转为字符串型 数值将直接转换成数字字符串