java加号在字符串中的作用是什么?
我想知道,这两种说法的区别是什么,可能很简单
String ss="myname";
char[] charArray = ss.toCharArray();
for ( char character : charArray )
{
System.out.println( +character );//Statements are here what does plus refers here:
System.out.println( character ); //Statements are here:
}
我得到了代码的输出,没有错误,但毫无疑问它是如何工作的?这里发生了什么
如果你投票反对,请告诉我原因
# 1 楼答案
你必须记住
char
仍然是一个数字类型这里的
+
是一元加号,它不。。。没什么+x
的值与x
的值相同然而
+x
是int
,而x
是char
。因此,它在本例中的效果是调用println(int)
,而不是println(char)
有效地打印char
的数值,而不是它所代表的字符之所以
+x
是int
,是因为Unary Operator +执行所谓的Unary Numeric Promotion,将数值“规范化”为int
、long
、float
和double
类型这句话的一个更容易理解的版本是
对于一元减号(
-x
)来说,语言是对称的,它返回其操作数的反数值有关详细信息,请参见this page(在“一元运算符”下)