为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么c1输出不是A 而是n呢

请问为什么c1输出不是A 而是n呢

菲花雨宸 2018-03-19 12:18:51
查看完整描述

6 回答

?
甲乙丙丁戊

TA贡献1条经验 获得超2个赞

第8行是  char c ='n'吧?单引号引用的就是字符,因此输出是 n 。

查看完整回答
2 反对 回复 2018-03-20
?
Frank作家

TA贡献37条经验 获得超9个赞

这是 强制装换   和 非强制装换的区别   char c1 ='n'; 没有转换  所以就是  c1 = n 


查看完整回答
1 反对 回复 2018-03-20
?
qq_小章章承龙_0

TA贡献3条经验 获得超0个赞

本身就是字符,输出的就是字符。另外的如果你给的是数值,只要是在char对应的范围之内,是可以实现int到char的转化的。

查看完整回答
反对 回复 2018-03-19
?
UTHINK

TA贡献2条经验 获得超0个赞

“c1”这个是字符串类型,‘n’单引号包起来的是字符类型,字符串连上字符就是一个字符串所以最后打印的是从c1=n


查看完整回答
反对 回复 2018-03-19
?
qq_风中枫_0

TA贡献1条经验 获得超0个赞

char c1 = 'n'这条代码中的n由于使用了单引号,默认为字符n,即将c1字符的值置为n;

解决办法:char c1 = (char)n;不使用单引号,使用强制类型转换将上文定义的整形变量n的值赋给c1,即可达到效果

查看完整回答
反对 回复 2018-03-19
?
慕先生8257704

TA贡献1条经验 获得超0个赞

第8行,‘n’->n,试试?

查看完整回答
反对 回复 2018-03-19
?
元气满满GO

TA贡献92条经验 获得超16个赞

图看不清,直接贴代码

查看完整回答
反对 回复 2018-03-19
  • 菲花雨宸
    菲花雨宸
    public class TypeExchange { public static void main(String[] args) { int y=67832; char c=(char)y; System.out.println("c="+c); int n=65; System.out.println("n="+n); char c1='n'; System.out.println("c1="+c1);
  • 元气满满GO
    元气满满GO
    因为你定义的c1是字符n,输出时是字符串拼接,就是n了
  • 元气满满GO
    元气满满GO
    char c1 = (char) 65; System.out.println("c1=" + c1); System.out.println("c1=" + (int)c1);
  • 6 回答
  • 0 关注
  • 2407 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信