急!!!!!java System.out.println()输出规则!!!!!
publicclassTest{publicstaticvoidmain(String[]args){intx=5;inty=2;inta=5,b=4,c=3;Syste...
public class Test {
public static void main(String[] args) {
int x = 5;
int y = 2;
int a=5,b=4,c=3;
System.out.println(x+y+"K");
System.out.println("abc"+a+b+c+3);
}
}
结果是:
7K
abc5433
这是为什么??????? 展开
public static void main(String[] args) {
int x = 5;
int y = 2;
int a=5,b=4,c=3;
System.out.println(x+y+"K");
System.out.println("abc"+a+b+c+3);
}
}
结果是:
7K
abc5433
这是为什么??????? 展开
24个回答
展开全部
第一个 x+y 是数值型的计算,+“K”后变成字符型的结果
第二个“abc”+...是按照字符型直接拼装的字符串
第二个“abc”+...是按照字符型直接拼装的字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个system.out先计算x+y=7,然后再接K结果为7K,第二个system.out先输出abc然后接a值5、b值4、c值3,最后3,结果为abc5433
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单。java语法规则:从左往右计算。首先:x+y+"K";是x+y=7再加k的时候,由于k是字符串。所以类型强制转换了。而第二个。是从字符串开始相加的。就直接是类型转换了。如果你在第二个后面将a+b+c放在括号里面会先算这个几个:结果会是abc123;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int数据与字符串相加 java会默认的将int转换为string,所以最后的加号就变成了连接符
x+y+"K"
5+2+"K" 7+"K" 所以等于7K
底下的自己研究研究
x+y+"K"
5+2+"K" 7+"K" 所以等于7K
底下的自己研究研究
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x+y+"K" 按照从左到右的运算次序,先计算x+y为7,再和"K"连接产生新的字符串对象7k。
"abc"+a+b+c+3 按照从左到右的运算次序,第一个运算对象为字符串"abc",右边的全部以字符串方式连接,最后生成字符串对象abc5433。
在本处的Java代码中,加号有两种含义(所谓的“运算符重载”):对于数值型计算表示加法运算符,对于字符串表示连接运算符。
"abc"+a+b+c+3 按照从左到右的运算次序,第一个运算对象为字符串"abc",右边的全部以字符串方式连接,最后生成字符串对象abc5433。
在本处的Java代码中,加号有两种含义(所谓的“运算符重载”):对于数值型计算表示加法运算符,对于字符串表示连接运算符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询