有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    你必须记住char仍然是一个数字类型

    这里的+是一元加号,它不。。。没什么+x的值与x的值相同

    然而+xint,而xchar。因此,它在本例中的效果是调用println(int),而不是println(char)有效地打印char的数值,而不是它所代表的字符

    之所以+xint,是因为Unary Operator +执行所谓的Unary Numeric Promotion,将数值“规范化”为intlongfloatdouble类型

    这句话的一个更容易理解的版本是

    System.out.println((int) character);
    

    对于一元减号(-x)来说,语言是对称的,它返回其操作数的反数值

    有关详细信息,请参见this page(在“一元运算符”下)