我想知道,两个语句之间有什么区别,这些可能很简单
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:
}
Run Code Online (Sandbox Code Playgroud)
我得到了代码的输出没有错误,但毫无疑问它是如何工作的?这里发生了什么?
如果您拒绝投票,请告诉我原因.
你必须记住它char仍然是一种数字类型.
在+这里是一元加号,这确实什么都没有.+x具有相同的价值x.
不过 +x是一个int同时x是char你的情况.因此,在这种情况下它的效果println(int)是调用,而不是println(char)有效地打印您的数值char而不是由它表示的字符.
之所以+x是int的是,元运算符+执行所谓的一元数值提升其"标准化"的种数值int,long,float和double适当的.
这行更容易理解的版本
System.out.println((int) character);
Run Code Online (Sandbox Code Playgroud)
它主要存在于关于一元减号(-x)的对称语言,它返回其操作数的否定值.
有关详细信息,请参阅此页面(在"一元运算符"下).
| 归档时间: |
|
| 查看次数: |
1890 次 |
| 最近记录: |