中易网

为什么字符型的前面加上+就变成了int型的

答案:4  悬赏:70  
解决时间 2021-02-12 17:38
为什么字符型的前面加上+就变成了int型的
最佳答案
java的基本型态中, 除了boolean外, 全都是数值型态, char也是数值型态的一种。而'+'用於单一数值型态的运算元时, 会将位元宽度小於int的数值, 自动转型为int, 例如byte, char, short等。

因此, java compiler会将+'i'转型为int型态, 并与System.out的println(int v)的方法系结(static binding)。利用像Eclipse的IDE工具进行执行追踨, 将可以验证此结果。或是执行下列程式也可以

public class CharConverteTest {
public static void main(String[] agrs) {
m(+'i');
}

private static void m(String string) {
System.out.println("引数是String型态");
}

private static void m(int i) {
System.out.println("引数是int型态");
}

private static void m(char c) {
System.out.println("引数是char型态");
}
}
全部回答
322%128=66。66刚好是b的ascii码,但不是b。ascii的范围是0~127,用字符输出时,大于127的数将会被取模。
输出的是“i”的ASCII码值,调用toString()方法。看看System.out.println();的源代码就知道了。jdk里有源代码。
在JAVA里 System.out.println('i');和System.out.println("i");是等效的; System.out.println(+'i'); 有加号,包装类中它会自动把'i'转成ASCII码中的105。如果前面加了字符,它则把i当字符看,例如: public class Test { public static void main(String[]agrs){ String s="abc"; System.out.println('i'); System.out.println(+'i'); System.out.println("i"); System.out.println(s+'i'); } } 运行结果如下: i 105 i abci
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
视觉统合失调,听觉统合失调有好的训练方法吗
香驰粮油综合批发门市地址在哪,我要去那里办
恒安物业客户服务中心在什么地方啊,我要过去
有一个女生身材高挑,皮肤白皙,长的柳叶眉大
龙口东海的治安怎么样??
脱臼!粤语粤语怎么说?
肺癌晚期肚子鼓硬是怎么回事
我喜欢我的姿态少啰嗦什么歌词
小米手机的另一个程序在运行导致不能录音怎么
逍遥镇正宗牛肉原味胡辣汤地址有知道的么?有
结合自己做体操或其他运动,写出骨骼、肌肉的
在平行四边形ABCD中,已知AB=12,BC=10,A=60°,
三八妇女节送女朋友什么礼物好
卖早点没人来吃,怎么办?这店是晚上烧烤,我
腰嘎拉甲怎么去啊,有知道地址的么
推荐资讯
求韩愈《答冯宿书》翻译及解析 急求!!!!
申请强制执行已经过了两个月了,没有接到任何
永昌盛菜市场入口2地址有知道的么?有点事想
徐州二院中医科贾先红星期几做诊
东京食种里有个人物叫筱原他是谁
云雅宾馆(大同城区)地址在什么地方,想过去办
下 岗了想开个零食店,行不?求指点呢
青海大学总面积多少?
寻找前世之旅第三季什么时候上映
雨花区龙细华诊所在什么地方啊,我要过去处理
1990以后的报刊杂志在哪可以查到
小学生钢琴考级年年热度不减当初让她学琴是想
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?