{
public static void main(String[] args) {
int a=6;
char b='3';
System.out.println(a+b);
char fire=(char)(a+b);
}
}
这段代码只要a+b不超过10的话运行结果为什么无缘无故的前面硬有个5????
8 个解决方案
#1
char fire=(char)(a+b);
这段代码是多余的,,不要也一样!~!
这段代码是多余的,,不要也一样!~!
#2
b的ASCII码51,
a+b是6+51=57.
a+b是6+51=57.
#3
谢谢楼上的!~!~
#4
因为a是整数类型的,要执行a+b,jvm会将b隐式转换为整数类型((int)b=51),所以a+b=6+51=57,输出57
#5
char往int晋升了吧。倒。
#6
class Hello
{
public static void main(String[] args) {
int a=6;
char b='3';
System.out.println(a+b);
char fire=(char)(a+b);
}
}
这段代码只要a+b不超过10的话运行结果为什么无缘无故的前面硬有个5????
字符'3'的ASCII的值为51。
System.out.println(a+b);这段代码是先将变量b转换成相应的ASCII值,然后再与a进行相加,结果为57.
char fire=(char)(a+b);
这段代码是将整型57强制转换成char字符类型,即将57的数值转换成相应对的ASCII的字符,即‘9’,所以显示结果如下:
57
9
就是这个形式,你还没有明白吗???
!!!!!!
{
public static void main(String[] args) {
int a=6;
char b='3';
System.out.println(a+b);
char fire=(char)(a+b);
}
}
这段代码只要a+b不超过10的话运行结果为什么无缘无故的前面硬有个5????
字符'3'的ASCII的值为51。
System.out.println(a+b);这段代码是先将变量b转换成相应的ASCII值,然后再与a进行相加,结果为57.
char fire=(char)(a+b);
这段代码是将整型57强制转换成char字符类型,即将57的数值转换成相应对的ASCII的字符,即‘9’,所以显示结果如下:
57
9
就是这个形式,你还没有明白吗???
!!!!!!
#7
还有强制类型转换是有风险性的,超出转换后类型的存储范围要负责任的。。。
#8
将C/C++的陋习带到Java来啦!
#1
char fire=(char)(a+b);
这段代码是多余的,,不要也一样!~!
这段代码是多余的,,不要也一样!~!
#2
b的ASCII码51,
a+b是6+51=57.
a+b是6+51=57.
#3
谢谢楼上的!~!~
#4
因为a是整数类型的,要执行a+b,jvm会将b隐式转换为整数类型((int)b=51),所以a+b=6+51=57,输出57
#5
char往int晋升了吧。倒。
#6
class Hello
{
public static void main(String[] args) {
int a=6;
char b='3';
System.out.println(a+b);
char fire=(char)(a+b);
}
}
这段代码只要a+b不超过10的话运行结果为什么无缘无故的前面硬有个5????
字符'3'的ASCII的值为51。
System.out.println(a+b);这段代码是先将变量b转换成相应的ASCII值,然后再与a进行相加,结果为57.
char fire=(char)(a+b);
这段代码是将整型57强制转换成char字符类型,即将57的数值转换成相应对的ASCII的字符,即‘9’,所以显示结果如下:
57
9
就是这个形式,你还没有明白吗???
!!!!!!
{
public static void main(String[] args) {
int a=6;
char b='3';
System.out.println(a+b);
char fire=(char)(a+b);
}
}
这段代码只要a+b不超过10的话运行结果为什么无缘无故的前面硬有个5????
字符'3'的ASCII的值为51。
System.out.println(a+b);这段代码是先将变量b转换成相应的ASCII值,然后再与a进行相加,结果为57.
char fire=(char)(a+b);
这段代码是将整型57强制转换成char字符类型,即将57的数值转换成相应对的ASCII的字符,即‘9’,所以显示结果如下:
57
9
就是这个形式,你还没有明白吗???
!!!!!!
#7
还有强制类型转换是有风险性的,超出转换后类型的存储范围要负责任的。。。
#8
将C/C++的陋习带到Java来啦!