Java学习记录(1)

这是我个人的第一篇博客,记录一下从零开始小菜鸡学习java的点滴。目前在b站上白嫖老高的java三百集,落笔的时候刚刚学完控制语句。唔,现在暂时也不知道能写啥,打算先记下学习中碰到的一些难忘的地方。难免写得鸡零狗碎一些。希望读者多多包涵(如果有的话)=。=

这是尚学堂第三章控制语句中的一道题。
5.以下关于方法调用的代码的执行结果是( )。(选择一项)

public class Test {
    public static void main(String args[]) {
        int i = 99;
        mb_operate(i);
        System.out.print(i + 100);
    }
    static void mb_operate(int i) {
        i += 100;
    }
}

A.99

B.199

C.299

D.99100

这题我一开始选的是C,理所当然地把i加了两次。后来我在csdn上找答案,他是这么说的:
在这里插入图片描述
说实话,在mb_operate这个方法里不是有static吗,讲道理应该是静态变量呀。而且据我现在所知,static不是仅影响调用吗,跟这有啥关系呀。我再看了看题目,把目光放到了方法里的void上:一定是因为没有返回值!带着发现新大陆般的欣喜,我把void改成了int,在结尾加上了return i;——迫不及待地按下Ctrl+F10之后,控制台干巴巴地跳出了199。。。WTF??
被泼了盆冷水的我,又把目光放到了那张图片里的后半句话,“形参不影响实参”。等等,这句话好像有点印象。翻了翻笔记,看到了这样一句话:“Java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本)。”
好像一颗满是灰尘的珠子被擦了一下,朦朦胧胧地放出了一丝光华——我悟了!我又去百度了一下值传递,看了一篇文章,终于搞懂了值传递的意思:在方法调用中传递参数时,传递的是数据的副本,不管你怎么改变这个副本,都不会影响原值。因此无论在上面mb_operate这个方法被调用了几次,在最终输出的语句里,i永远是99。(当然值传递并不只是那么简单,那篇文章还涉及到了面向对象内容,学完下一章还得回顾一下,我已经有点等不及了!)
解决问题,获取知识的快乐真是让人陶醉,也鼓舞于各位前辈的提携之情。今天终于感受到了,java的大门在缓缓向我打开,继续努力吧,菜鸟!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值