Har*_*Raj 11 java string println
我有一个疑问如下.
public static void main(String[] args) throws IOException{
int number=1;
System.out.println("M"+number+1);
}
Run Code Online (Sandbox Code Playgroud)
输出: M11
但我想把它打印成M2而不是M11.我无法对++进行编号,因为变量与for循环有关,如果我这样做会给我不同的结果,并且无法使用另一个print语句打印它,因为输出格式会发生变化.
请求您帮我正确打印.
Ósc*_*pez 16
试试这个:
System.out.printf("M%d%n", number+1);
Run Code Online (Sandbox Code Playgroud)
%n
换行在哪里
Roh*_*ain 10
在总和周围添加一个括号,以强制执行sum
先发生.这样,bracket
首先评估具有最高优先级的,然后进行评估concatenation
.
System.out.println("M"+(number+1));
Run Code Online (Sandbox Code Playgroud)
它与Java连接字符串的优先顺序有关,
基本上Java是说
"M"+number = "M1"
"M1"+1 = "M11"
您可以像数学一样重载优先级
"M"+(number+1)
Run Code Online (Sandbox Code Playgroud)
现在读
"M"+(number+1)
= "M"+(1+1)
= "M"+2
="M2"