注册 登录
编程论坛 JAVA论坛

发现一个简单的问题

程序猿单身狗 发布于 2016-07-14 21:08, 3200 次点击
for(int i=0;i<5;i++){
        System.out.println("输入第"+i+1+"数值:");

输出时显示:01 11 21 31 41
只有本站会员才能查看附件,请 登录

而Sytem.out.println(i+1+"这样就顺着下去"),求解
12 回复
#2
zx3152016-07-15 00:19
应该把 i + 1 括起来:

System.out.println("输入第" + (i + 1) + "数值");

#3
程序猿单身狗2016-07-15 09:01
#4
小雍2016-07-15 16:53
加括号就是将俩个数相加,不加就是将俩个数字组合
#5
dc小菜鸟2016-07-15 17:48
“+”有两个作用,一个是进行算术运算,一个是组合字符。如果“+”前面是一个字符串,那么“+”后面的也会被当做字符串,“+”将他们连接起来

[此贴子已经被作者于2016-7-15 17:50编辑过]

#6
平常心q2016-07-15 18:19
回复 5楼 dc小菜鸟
正解
#7
成都鑫哥哥2016-07-16 15:08
#8
仍去寻酒2016-07-18 08:55
for(int i=1;i<6;i++){
    System.out.println("请输入第"+i+"个数");
}
这样就行了,没必要在输出语句中搞特殊。。
#9
程序猿单身狗2016-07-18 17:26
回复 8楼 仍去寻酒
如果这样子的话下面的程序看得很乱了。加个括号也不麻烦呀
#10
aijiao06242016-07-19 14:23
这样是:System.out.println("输入第"+i+1+"数值:");  字符串+数字,实际上是字符串拼接。("输入第"+i之后变成字符串,再加1也是字符串拼接。
而Sytem.out.println(i+1+"这样就顺着下去")是i+1(整型+整型)=整型,后面再拼接字符串时i+1已经计算完毕。所以,这种方式是对的。
第一个输出语句可以改成:System.out.println("输入第"+(i+1)+"数值:");  这样就对了,先算括号里面的加法,再进行字符串拼接。
#11
风渐起2016-07-28 17:42
正解,我看的视频教程,刚也提到了这点。
#12
炫飛2016-08-03 08:38
加油。哈哈。
#13
guaidaojide2016-08-03 10:50
有括号的代表着是加法,没括号的代表着字符串的拼接
1