当前位置: 首页 > 面试题库 >

连接字符串和数字Java

陆高峰
2023-03-14
问题内容

为什么在这些情况下输出不同?

int x=20,y=10;

System.out.println("printing: " + x + y); ==> 印刷:2010年

System.out.println("printing: " + x * y); ==> 打印:200

为什么第一个输出不是30?它与运算符优先级有关吗?就像首先将“ printing”和x连接在一起,然后将结果字符串和y连接在一起?我对么?


问题答案:

它的BODMAS规则

我在下面显示从高到低的优先顺序:

B  - Bracket 
O  - Power
DM - Division and Multiplication
AS - Addition and Substraction

**如果运算符具有相同的优先级 ,* 此方法起作用Left to Right *

现在

System.out.println("printing: " + x + y);

"printing: " :是字符串”

"+" :是Java中唯一将Number连接到String的重载运算符。因为我们这里有2个“ +”运算符,并且x + y落在"printing:" +已经发生的位置之后,它也将x和y视为字符串。

因此输出为 2010。

System.out.println("printing: " + x * y);

在这里

"*":优先级高于 +

因此,它的x*y 第一printing: +

所以输出是 200

如果要在第一种情况下将200作为输出,请执行以下操作:

System.out.println("printing: "+ (x+y));

的优先顺序 BracketAddition



 类似资料:
  • 问题内容: 问题1 在第一种情况下,我知道这是两个字符串文字的串联,因此将对结果“ I Love Java”进行检查,使结果为true。但是,我不确定第二种情况。 问题2 上面的返回false,但是如果我注释掉第1行和第2行,则返回true。这是为什么? 问题答案: 问题的第一部分很简单:Java编译器将多个字符串文字的串联视为一个字符串文字,即 和 是两个完全相同的字符串文字,可以正确地进行in

  • 问题内容: 我试图在Python中连接字符串和数字。当我尝试这样做时,它给了我一个错误: 错误是: 为什么我不能做到这一点? 如何 可以 我将字符串和Python中的号码是多少? 问题答案: Python是强类型的。没有隐式类型转换。 您必须执行以下操作之一:

  • 我正在开发一个程序,该程序将获取一个文本文件,并将数字从0-99转换为文字(即0)- 这里有几行输出(每一行都是不同的system.out行): 这是输入文件上的三行: 如您所见,数字随系统一起添加和打印。从函数convertToWord中退出,但一旦返回main,就会丢失。如何跨函数将这些转换附加到字符串?

  • 当我写下面的代码时,我遇到了一个问题 然后我运行我的代码,控制台打印这个 这让我很困惑。为什么第二次打印是真的,而第一次打印是假的??在我对String文字池的理解中,当定义一个字符串时,JVM将检查池中是否包含该字符串,如果不包含,则将该字符串放入池中。 在我的代码中,变量Hello存在于字符串池中,“Helo”和“lo”也在池中,我的问题是 如果池中存在Helo和lo串联的结果。 关于str5

  • 问题内容: 我有以下代码 输出为。 Java如何完成字符串连接的技巧? 问题答案: 因为Java将表达式转换为类似 实际上,我认为它可能使用s,因此: 解决更高效 这使用“ 字符串”构建器上的方法(针对每种类型),这些方法可以正确处理

  • 本文章将介绍Thymeleaf标准表达式语法中的概念。 学习如何在Thymeleaf模板中显示对象(Bean)的属性值。 已经将类的bean已经设置为名称为的上下文模型。 为这些和属性添加一些格式,学习使用字符串相连接输出。 最后,修改模板以获得一个合理的静态原型(例如,通过一些原型数据替换并显示结果)。 如果要上机实践,请参考:Thymeleaf+SpringMVC5示例项目。这里不再重复创建项