黑马程序员技术交流社区

标题: 求指教!!! [打印本页]

作者: 张清华    时间: 2015-5-18 10:15
标题: 求指教!!!
class FunctionDemo122
{       
        public static void main(String[] args)
        {
                getResult(6);
               
        }
        public static void getResult(int num)
        {
                System.out.println(num*3+5);
                //return;
        }
       
}
运行的结果是23.


class FunctionDemo122
{       
        public static void main(String[] args)
        {
                getResult(6);
               
        }
        public static void getResult(int num)
        {
                System.out.println("getResult(6)="+num*3+5);
                //return;
        }
       
}
运行的结果是getResult(6)=185
为什么会有这样的差别呢?
作者: zxj35986847    时间: 2015-5-18 12:08
System.out.println("getResult(6)="+num*3+5);你这句话不是打印输出getResult(6)的值,
而是进行了字符串的拼接,也就是说你这句话不是打印输出一个值,而是一个字符串,
也就是说传入num=6这个值, 6*3=18, 然后"getResult(6)="和18拼接,就是getResult(6)=18 然后
再和5做字符串拼接,就是getResult(6)=185 ..
不知道我这么说你明白了没有? 而 你第一个输出语句System.out.println(num*3+5);是输出的值,
后一个相当于你创建了一个""对象,然后进行字符串的拼接,而不是输出的值.
不懂再追问.
作者: 张清华    时间: 2015-5-18 12:37
已懂,灰常感谢:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2