Java字符转整型,结果的类型怎么确定? 30

Java字符转整型,结果的类型怎么确定?字符a,你,我,他,这几个在存入变量之前,先转成的类型是byteshortint哪一种?根据Unicode表确定,还是根据左边的变... Java字符转整型,结果的类型怎么确定?字符a,你,我,他,
这几个在存入变量之前,先转成的类型是byte short int哪一种?
根据Unicode表确定,还是根据左边的变量类型确定?
展开
 我来答
life大地皇者
2018-05-01 · 心理咨询师
life大地皇者
采纳数:2990 获赞数:23192

向TA提问 私信TA
展开全部

1、类型转换主要在在 赋值、方法调用、算术运算 三种情况下发生。  a、赋值和方法调用 转换规则:从低位类型到高位类型自动转换;从高位类型到低位类型需要强制类型转换:  (1)布尔型和其它基本数据类型之间不能相互转换;   (2)byte型可以转换为short、int、、long、float和double;   (3)short可转换为int、long、float和double;   (4)char可转换为int、long、float和double;   (5)int可转换为long、float和double;   (6)long可转换为float和double;   (7)float可转换为double;

另外还有是直接数的赋值:先通过直接数判断其类型,然后基本原则和上面谈到的赋值原则基本一致;只是直接数是整数时特殊一点,当在可表示范围内时,可以直接赋值给 byte short char三种类型;

b、算术运算 中的类型转换:1 基本就是先转换为高位数据类型,再参加运算,结果也是最高位的数据类型;2 byte short char运算会转换为Int;

(1)如操作数之一为double,则另一个操作数先被转化为double,再参与算术运算。

(2)如两操作数均不为double,当操作数之一为float,则另一操作数先被转换为float,再参与运算。

(3)如两操作数均不为double或float,当操作数之一为long,、则另一操作数先被转换为long,再参与算术运算。

(4)如两操作数均不为double、float或long,则两操作数先被转换为int,再参与运算。

特殊:

(1)如采用+=、*=等缩略形式的运算符,系统会自动强制将运算结果转换为目标变量的类型。

(2)  当运算符为自动递增运算符(++)或自动递减运算符(--)时,如果操作数为byte,short或char类型不发生改变;

1、基本类型 与 对应包装类 可自动转换,这是自动装箱和折箱的原理;

Integer c1 = new Integer(1); Integer c2 = 2; int cc = new Integer(3); //另:String 与 基本类型的互转 int i = Integer.parseInt("13"); int ii = Integer.valueOf("12"); String s1 = String.valueOf(123); String s2 = Integer.toString(i); String s3 = "" + i;

2、两个引用类型间转换:

1、子类能直接转换为父类 或 接口类型;

2、父类转换为子类要 强制类型转换;且在运行时若实际不是对应的对象,会抛出ClassCastException运行时异常;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式