急!!!!!java System.out.println()输出规则!!!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!!!!!java System.out.println()输出规则!!!!!相关的知识,希望对你有一定的参考价值。

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
这是为什么???????

首先,这个跟println输出规则没什么关系
这个是跟运算规则和“+”连接符有关
其次x,y,a,b,c都是int型,也就是可用“+”号计算的类型
最后
第一个输出x+y+"K"
从左到右先计算x+y,结果为7是int类型,这里的"+"号是计算符号,而后“+”号是当字符串连接符号处理所以最后int的7和string类型的“K”连接后生成新的string,“7K”
第二个输出“abc”+a+b+c+3
也是从左到右计算,因为“abc”是字符串,而后跟“+”号是当字符串连接符号处理,所以是“abc5433”
其后的“+”号都当成了字符串连接符号

总之,当“+”号前后有字符串出现时,就当做字符串连接符号处理了。
例如:
int a=1;
String s="a";
System.out.println(a+s);
输出"1a"
System.out.println(s+a);
输出“a1”

而且这种情况就从左到右,依次看“+”号前后有没有字符串出现就行了。
参考技术A 在System.out.println()里面是可以输入语句的,比如x+y就是一个语句,是一个可以执行的语句,当println进行输入的时候会对这个语句进行计算。语句就是不是“”包含的就可以进行计算。 参考技术B 基本算法是有优先级的,这里是按正常顺序执行,字符串+数字=字符串,字符串再+数字=结果字符串。 字符串+(数字+数字)优先级:小括号》正常顺序 参考技术C System.out.println("abc"+a+b+c+3); 在java中基本类型的值加上一个字符串后会自动转换为字符串,如1+“1” 最后会是“11”,如果你要输出想要的可以写成这样System.out.println("abc"+(a+b+c+3));或System.out.println(a+b+c+3+"abc");(就像你第一个println一样),仅供参考。。。 参考技术D 优先级一样从左开始,前面2个int型相加,自然是5+2等于7,然后数字与字符串相加,就不是加法,而是串成一个字符串变成7k,后面同理,在优先级一样的情况下,从左开始,字符串与数字串成新的字符串,输出是abc5433

以上是关于急!!!!!java System.out.println()输出规则!!!!!的主要内容,如果未能解决你的问题,请参考以下文章

Java Vector 类

java快速排序

Java——猜拳游戏

Java Vector 类

继承

Java中的入队,出队和ViewQueue