2016 - 2025

感恩一路有你

java变量交换 为什么说java里面只有值传递?

浏览量:1689 时间:2021-03-25 14:56:15 作者:admin

为什么说java里面只有值传递?

在这个问题上,不同的人有不同的理解。对于Java初学者来说,他们可能认为Java中的参数传递分为值传递和引用传递。至于为什么,教科书上说了。对于程序员的某些工作年限,他们可能会认为,如果传递的参数类型是普通类型,则传递的是值;如果参数是对象,则传递的是引用。另一些人认为,只有Java中的值传递才是主要问题的主题。

对于Java编程语言,前两种理解是错误的。Java中只使用值传递。对我来说,一开始,我也理解了价值传递和参照传递的理论,但随着自己代码的积累,我逐渐发现事实并非如此。那么为什么只有价值传递呢?

首先,让我们了解什么是值传递,什么是引用传递?

值传输意味着调用函数时,实际参数值被复制并传递给被调用函数。修改被调用函数中的参数值不会影响原始参数值。

引用传递意味着调用函数时,实际参数的地址直接传递给被调用函数。修改被调用函数中的参数值将影响原始参数值。

如果传递的参数类型是普通基本类型,则必须复制实际参数值并将其传递给形式参数。但是,当参数类型是对象时,它也是复制的参数值,并将其传递给形式参数。只复制对象的引用地址,即内存中分配的存储地址,而不是直接传递的引用地址。

此时,有些人可能会问为什么一个对象会被传递给另一个方法。在此方法中修改对象的属性值时,原始调用方法中对象的属性值将更改。这不就是参考传递吗?

事实上,这是一个非常令人困惑的问题。如果你仔细看看上面的说法,事实并非如此。将一个对象传递给另一个方法会传递什么?传递对象引用的地址。对象引用的地址是否已在其他方法中修改?原始对象引用是否受影响?不

!因此,Java中没有引用传递,只有值传递。不要犯任何错误

零基础想学习java,应该从哪学起?

事实上,这个问题对于任何语言都是一样的。从一门语言开始,我们首先需要了解语言语法(可以使用),然后了解标准库(可以使用)。有了这两个步骤,再加上一点其他语言的知识,我们应该可以开始了。我校招收的很多毕业生经过1-2个月的辅导,都能达到这个阶段。

剩下的是第三步,通过项目或产品的实践加深对技术和业务的理解。在这个阶段,我们通常依靠自学、谷歌和理解。两三年后,我们可以发现,有些人对技术和业务的了解很深(老手),有些人还很肤浅。这段时间通常是另一个跳槽阶段。在这个时候,不同的人的工资水平会有很大的差异。

总而言之,程序员最重要的是持续学习(第三阶段)。事实上,IT行业是一个需要不断学习的行业(因为技术更新太快)。初出茅庐,我们都有同样的基础和能力。这一差距将在2-3年后出现。如果你是贫穷的一方,那就意味着你工作不够努力。

最后,Java主要用于服务器。由于其出色的内存管理,它阻止了许多程序员的能力差异(能力较弱的程序员可以编写较少的糟糕系统),并且适合于长期的服务器项目(如web和其他非UI应用程序)。

虽然也有优秀的UI库(如SWT)和优秀的桌面应用程序(如idea、eclipse和netbean),但是桌面软件应用程序仍然很少,需要带JRE,所以负担相对较大。

java变量交换 java实现两个数的交换 java 输入

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。