String output = "test:";
for(int i = 1; i <= 3; i++)
output += i;i = 1; output = "test:" + (String)i = test1
i = 2; output = "test:1" + (String)i = test12
i = 3; output = "test:12" + (String)i = test123你把String 放在加号的前面,那么后面的运算就是 String的加法操作,就如同 "test:" + "1"这样的操作了
for(int i = 1; i <= 3; i++)
output += i;i = 1; output = "test:" + (String)i = test1
i = 2; output = "test:1" + (String)i = test12
i = 3; output = "test:12" + (String)i = test123你把String 放在加号的前面,那么后面的运算就是 String的加法操作,就如同 "test:" + "1"这样的操作了
在java里,一个变量是String,另一个是 ing,那么两都要相加时,就会把ing型转为String,然后再把两个字符串连接起来!
for(i=1;i<=3;i++)
sum+=i;
printf("sum:%d\n",sum);
结果就是为: sum:6假如java你也这样写的话也是 6 int sum = 0, i;
for(i = 1; i <= 3; i++)
sum += i;
System.out.println("sum:" + sum);
结果也是sum:6
String output="test:";
for(int i=1;i<=3;i++)
output+=i;
JOptionPane.showMessageDialog(null,output,"test",JOptionPane.INFORMATION_MESSAGE);
结果是: test:123
由于基本类型和字符串相加时,转化为字符串的连接操作:即先将int转化为String型(String.valueOf(int)),再相加。
理解应该是: i=1,output="test:"+1="test:1";
i=2,output="test:1"+2="test:12";
i=3,output="test:12"+3="test:123";
最后output应该是"test:123"
即执行JOptionPane.showMessageDialog(null,output,"test",JOptionPane.INFORMATION_MESSAGE);语句后的结果应该是:test:123而C中若有: int sum=0,i;
for(i=1;i<=3;i++)
sum+=i;
printf("sum:%d\n",sum);
结果就是为: sum:6
而c中,sum为int型,
理解应该是: i=1,sum=1;
i=2,sum=sum+2=3;
i=3,sum=sum+3=6;
最后一句:printf("sum:%d\n",sum);
将sum以字符流的形式输出,所以结果是:test:6