-
2021-02-26 08:45:19
展开全部
1、执行算术运算时,低类型(短字节)可以转换为e68a84e8a2ad62616964757a686964616f31333366303839高类型(长字节);例如: int型转换成double型,char型转换成int型等等;
2、赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它;
3、函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参;
4、函数有返回值时,系统首先会自动隐式地将返回表达式的值的类型转换为函数的返回类型,然后再赋值给调用函数返回。
扩展资料
C++中强制类型转换函数有4个:
1、const_cast(用于去除const属性)。
2、static_cast(用于基本类型的强制转换)。
3、dynamic_cast(用于多态类型之间的类型转换)。
4、reinterpreter_cast(用于不同类型之间的指针之间的转换,最常用的就是不同类型之间函数指针的转换)。
隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。
在赋值表达式中,如果赋值符左右两侧的操作数类型不同,则将赋值符右边操作数强制转换为赋值符左侧的类型数值后,赋值给赋值符左侧的变量。
在函数调用时,如果return后面表达式的类型与函数返回值类型不同,则在返回值时将return后面表达式的数值强制转换为函数返回值类型后,再将值返回。
参考资料
更多相关内容 -
java中的数据类型,变量使用规则,自动类型转换
2018-05-15 22:57:01java中的数据类型,变量使用规则,自动类型转换 -
java基本数据类型自动转换规则
2017-08-03 09:38:02一、java基本数据类型 Java提供了八种基本类型,其中包括六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。 整型: short, int, long, byte; 浮点型:float, double; 字符型:char; ...一、java基本数据类型
Java提供了八种基本类型,其中包括六种数字类型(四个整数型,两个浮点型),一种字符类型和一种布尔型。
整型: short, int, long, byte;
浮点型:float, double;
字符型:char;
布尔型:boolean.
Java中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或操作系统的改变而改变。
二、非赋值运算,自动转换规则
1)布尔型不参与转换
2)规则: byte/char/short -> int -> long -> float -> double
2.1)例子:
2.2)规则具体讲解public class Test { public static void main(String[] args) { short a = 1; byte b = 2; char c = 3; //三个输出都是 class java.lang.Integer System.out.println(getType(b+a)); System.out.println(getType(b+c)); System.out.println(getType(a+c)); } public static String getType(Object o){ return o.getClass().toString(); } }
(2.2.1)如操作数之一为double,则另一个操作数先被转化为double,再参与算术运算。
(2.2.2)如两操作数均不为double,当操作数之一为float,则另一操作数先被转换为float,再参与运算。
(2.2.3)如两操作数均不为double或float,当操作数之一为long,、则另一操作数先被转换为long,再参与算术运算。
(2.2.4)如两操作数均不为double、float或long,则两操作数先被转换为int,再参与运算。
3)对比一下C语言
三、赋值运算,自动转换规则将小范围类型变量转换成大范围类型的变量。Java会自动扩宽类型
看上面那张图,各个基本数据类型的取值范围都有了,如果一个取值范围包括了另一个的,那么赋值时,小的可以自动转换成大的
例子: long d = 333; float e = d; //可以
short a = 1; char b = a; //不行,因为取值范围不是包含,而是交叉
int a = 1; byte b = a; //不行,大的转成小的,要强制类型转换,byte b = (byte) a;
四、一些值得注意的地方
当运算符为取正运算符(+)。取负运算符(-)或按位取反运算符(~)时,如果操作数为byte、char或short,则先被转换为int,再参与运算
-
java类型转换及其规则介绍
2021-02-27 19:17:47一、自动类型转换整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。数据类型转换必须满足如下规则:1、不能对boolean类型进行类型转换。2、不能把对象类型转换成...一、自动类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
数据类型转换必须满足如下规则:
1、不能对boolean类型进行类型转换。
2、不能把对象类型转换成不相关类的对象。
3、在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
(视频教程推荐:java视频)
4、转换过程中可能导致溢出或损失精度,例如:int i =128;
byte b = (byte)i;
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
5、浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:(int)23.7 == 23;
(int)-45.89f == -45
注意:必须满足转换前的数据类型的位数要低于转换后的数据类型。
二、强制类型转换
1、条件是转换的数据类型必须是兼容的。
2、格式:(type)value type是要强制类型转换后的数据类型。
我们来看以下的例子:
输出结果为:
三、隐含强制类型转换
1、整数的默认类型是 int。
2、浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。
-
Java:自动类型转换和强制类型转换的规则
2017-07-27 19:27:48自动类型转换规则: 强制类型转换: 代码示例: package com.jredu.ch02; public class Ch04 { public static void main(String[]args){ //自动类型转换 //基本数据的自动类型转换只有7种...自动类型转换规则:
强制类型转换:
代码示例:
package com.jredu.ch02; public class Ch04 { public static void main(String[]args){ //自动类型转换 //基本数据的自动类型转换只有7种数据类型,除了boolean //基本原则:低级别可以直接转高级别 // char //byte->short->int->long->float->double //运算时的自动转换条件:1、两种数据类型要兼容,2、目标类型大于原类型 int a=10; double b=1.1; b=b+a; a=a+(int)b; System.out.println(b);//b=11.1 System.out.println(a);//a=10+11=21 } }
package com.jredu.ch02; public class Ch05 { public static void main(String[] args) { // TODO Auto-generated method stub //强制类型转换 //高级别转低级别时,必须要进行强转 //是否强制转换取决于数据类型级别的高低,不取决于数据的实际值。 int a=330; short b=(short)a; short c=350;//直接自变量赋值 ,不需要转换类型 int e=(int)-1.1; System.out.print(e); //e=-1 } }
-
Java数据类型自动转换的优先顺序
2021-03-15 22:15:39C++中的数据类型的自动转换?哪些和哪些之间是可以自动转换的?...自动转换遵循以下规则: 1.若参与运算量的类型不同,则先转换成同一类型。java中数据类型自动类型转换为什么转换顺序是byte-float所占字节比l... -
java 自动类型转换原理
2018-10-17 20:16:57当八种基本类型参与运算时,若是不同类型,则编译后会自动进行类型转换 如: double d=0.0; int i=0; System.out.println(i==d);//打印出true 查看编译后的class文件可以...//自动进行了类型转换,转换规则见上... -
Java数据类型转换规则
2019-03-30 16:39:40一、数据类型分类:主要分为 基本类型、引用... a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换: (1)布尔型和其它基本数据类型之间不能相互转换; (2... -
Java表达式类型自动提升
2020-12-22 18:31:48要说清这道题,首先看看java表达式类型转换规则。 【java表达式类型转换】 java是一门强类型语言,不仅每个变量具有指定的数据类型,它的表达式也有指定的数据类型。因此在不同类型之间进行赋值操作很容易遇到... -
java中的基本数据类型转换规则
2019-07-17 20:50:59a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换: (1)布尔型和其它基本数据类型之间不能相互转换; (2)byte型可以转换为short、int、、long、f... -
自动类型转换
2019-02-01 19:51:57在java 程序中,不同的基本类型的值经常需要进行相互类型转换,类型转换分为自动类型转换和强制类型转换。布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的... -
Java中数据类型转换——基本数据类型转换的6大规则
2020-11-25 10:37:14基本数据类型之间是存在固定的转换规则的,现总结出以下6条规则。无论是哪个程序,将这6个规则套用进去,问题迎刃而解。 八种基本数据类型中,除了boolean类型不能转换,剩下七种类型之间都可以进行转换 -
java 中基本数据类型的自动转换和强制转换
2021-08-06 14:02:25在java中基本数据类型可以分为自动转换和强制转换,下面细说一下这两种类型转换的规则和细节。 先列一下基本数据类型和字节数说一下 整型 大小 浮点型 大小 字符型 大小 byte 1 double ... -
Java中的基本数据类型、类型转换规则(自动、强制)、原反补码、用户自定义标识符
2018-09-26 12:54:54数据类型和运算符 数据类型指明了变量和表达式的状态和行为。分为常量和变量 常量 // 目录 数据类型和运算符 ...//类型转换 char类型 byte解释类型 数据类型长度用类型名首字母大写.size ... -
Java数组类型与类型转换
2020-07-04 18:09:08数据类型与类型转换数据类型基本数据类型整数小数/浮点数布尔类型字符转义字符引用数据类型字符串类型转换自动类型转换强制类型转换强制类型转换规则 数据类型 基本数据类型 整数 类型 字节 取值范围(二进制) ... -
java中对象类型的转换
2020-07-07 14:24:07自动类型转换:小的数据类型可以自动转换成大的数据类型 如long g=20; double d=12.0f 强制类型转换:可以把大的数据类型强制转换(casting)成小的数据类型如 float f=(float)12.0; int a=(int)1200L 2.对Java对象的... -
Java中的隐式类型转换和显式类型转换
2021-03-10 10:32:34隐式类型转换也叫做自动类型转换。 1、规则: 从存储范围小的类型到存储范围大的类型。 2、转换方向: byte→short(char)→int→long→float→double(这里指的是只有前面的数据类型能随便转换成后面的) —实际开发... -
Java中各个数据类型之间的转换
2009-05-08 13:06:39也就是说byte类型的变量可以自动转换为short类型,示例代码: byte b = 10; short sh = b; 这里在赋值时,JVM首先将b的值转换为short类型,然后再赋值给sh。 在类型转换时可以跳跃。示例代码: byte b1 = 100; ... -
Java子类与父类之间的类型转换
2021-02-12 14:18:00从子类向父类的转换不需要什么限制,只需直接蒋子类实例赋值给父类变量即可,这也是Java中多态的实现机制。2.向下转换在父类变量调用子类特有的、不是从父类继承来的方法和变量时,需要父类变量向子类转换。为什么要... -
Java基本数据类型以及强制类型转换
2020-12-12 21:42:321Java基本数据类型 1. 1数据类型(应用) 1.1.1 计算机存储单元 我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写... -
Java数据类型转换(自动转换和强制转换)
2016-09-29 17:01:33自动数据类型转换自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 低———————————————>高 byte,short,char-> int -> long -> float -> double运算中,不同类型的数据先转化为同一... -
Java中数据类型的转换规则
2016-08-11 11:36:23Java中数据精度比较 byte -
JAVA数据类型转换规则
2019-05-24 11:18:23小容量向大容量类型转换,称为自动转换。 大容量向小容量类型转换,称为强制转换。需要加强制类型转换符,程序才能编译通过。但会损失精度。 当整数字面值没有超出 byte、short、char的取值范围,可以直接赋值给byte... -
Java类型转换基本规则
2013-11-15 21:34:551、基本数据类型的转换是指由系统根据转换规则自动完成,不需要程序员明确地声明不同数据类型之间的转换。转换在编译器执行,而不是等到运行期再执行。 2、基本数据类型的转换在赋值、方法调用和算术运算三种情况... -
Java基本数据类型转换
2021-03-12 19:59:25在8大基本数据类型中,boolean不属于数值类型,所以不参与转换,其他类型的转换规则如下。一般的来说(byte、short、char)是平级的,这三种类型相互之间不参与自动类型转换操作但可以进行强制转换操作。 转换方式:... -
java克隆/拷贝,类型转换
2021-08-26 11:09:03具体规则为: double→float→long→int→short(char)→byte 语法格式为: (转换到的类型)需要转换的值 示例代码: double d = 3.10; int n = (int)d 隐式转换,小的自动往大的转换(byte->int->short->long) 隐式... -
java中隐式类型转换和显示类型转换
2020-03-21 15:33:33转换规则:从存储范围小的类型到存储范围大的类型转换。 byte–>short(char)-int-long-float-double byte b = 10; short s = b; 显示类型转换(强制类型转换) 由程序员手动转换类型。 转换规则:从存储范围大的...