A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张清华 中级黑马   /  2015-5-18 10:15  /  358 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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
为什么会有这样的差别呢?

评分

参与人数 1黑马币 +20 收起 理由
┣┫流枫 + 20 赞一个!

查看全部评分

2 个回复

倒序浏览
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);是输出的值,
后一个相当于你创建了一个""对象,然后进行字符串的拼接,而不是输出的值.
不懂再追问.
回复 使用道具 举报 1 0
已懂,灰常感谢:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马