因此,我想我对方法返回值的方式误解了。

我不明白为什么list [0]在输出中为3,因为那是一个void方法,它不会将任何内容返回给main方法...如果void方法实际上可以返回值,那么为什么num仍然会 是0 ..... num也不会变成3吗??

或void方法不返回任何值(数组除外)?

public static void main (String []args){

int []list = {1,2,3,4,5};

int number = 0;

modify(number, list);

System.out.println("number is:"+number);

for (int i = 0; i < list.length; i++)

{

System.out.print(list[i]+"");

}

System.out.println();

}

public static void modify (int num, int []list){

num = 3;

list[0] = 3;

}

输出:

number is: 0

3 2 3 4 5

虚空不返回任何东西。 您的方法不返回任何内容。 它修改"列表"引用的数组的内容。

您可能需要使自己熟悉"按值传递","按引用传递"的概念,并了解对象是引用(在方法调用之间按值传递)。

"数字"是一个简单的整数-按值传递给Modify方法。因此,即使方法中分配给" num"的值发生了变化,此方法的调用者使用的原始变量也保持不变。

"列表"也是按值传递的,但是"列表"是一个对象,因此您要将对该对象的引用(按值)传递给Modify方法。因此,如果您在方法中更改对象的内部,则您将更改调用者引用的同一对象。

现在,如果您这样做:

public static void modify (int num, int [] list)

{

num = 3;

int [] newlist = {9,8,7,6,5,4};

list = newlist;

newlist[0] = 3;

}

然后,传递给修改的"列表"将永远不会被修改,因为Modify方法中的"列表"被更改为完全指向另一个对象。

它不返回任何内容,仅修改变量list[0]。

list[0] = 3;是给出输出3的原因。它与num无关,并且您未返回任何内容。您只需修改数组的内容。

如上所述,该方法实际上并没有返回值……它正在修改数组中的第一个值。输出反映了由"修改"修改的值

java void的返回值_Java:void方法返回值?相关推荐

  1. java递归函数返回值_Java基础——方法返回值递归

    原标题:Java基础--方法返回值&递归 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 例题:写一 ...

  2. java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  3. java exe 返回值_java调用exe返回值

    {// getAccount 方法,使用 get 方法; return accounts.get(index); } } Bank .java: package com.mybank.domain; ...

  4. java调用其他程序吗_java本地方法如何调用其他程序函数,方法详解

    JNI是Java Native Interface的缩写,中文为JAVA本地调用.从Java 1.1 开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许J ...

  5. java变量默认值_Java变量的默认值和初始化

    Java变量的默认值和初始化 学习自 <Thinking In Java> 变量的默认值 注意只有成员变量才有默认值,而局部变量必须要赋初值.为什么会这么设计,下面会讨论. 关于各种基础类 ...

  6. java的split的正则_Java split方法和正则表达式

    今天写程序的时候遇到一个问题,就是如果把一句话中的单词从这句话中分离出来 比如:Always bear in mind that your own resolution to success is m ...

  7. java的sort的用法_Java排序方法sort用法详解

    Java排序方法sort用法详解 发布于 2020-2-28| 复制链接 摘记: 本文实例为大家分享了java对数组.集合的排序方法,供大家参考,具体内容如下对数组的排序: ```java //对数组 ...

  8. java中integer的范围_java中integer取值范围是什么

    java中integer取值范围是什么 发布时间:2020-08-27 10:01:14 来源:亿速云 阅读:69 作者:小新 这篇文章给大家分享的是有关java中integer取值范围是什么的内容. ...

  9. java对象默认值_java对象的默认值

    2.4.1 字段和方法 定义一个类时(我们在Java里的全部工作就是定义类.制作那些类的对象以及将消息发给那些对象),可在自己的类里设置两种类型的元素:数据成员(有时也叫"字段") ...

  10. java equals返回值_Java equals() 方法

    equals() 方法用于判断 Number 对象与方法的参数进是否相等. 语法 public boolean equals(Object o) 参数 o -- 任何对象. 返回值 如 Number ...

最新文章

  1. pmp知识点详解-项目大牛整理_PMP核心知识点—第五章:项目范围管理(1)
  2. ASP.NET中常用的26个优化性能方法(转)
  3. Tensorflow实例:(卷积神经网络)LeNet-5模型
  4. leetcode-458-Poor Pigs
  5. 前端面试题及答案整理(一)
  6. 有初学的同学问你为什么Java的main方法必须是public static void?请告诉ta!
  7. SQL 创建随机时间的函数
  8. abaqus结构工程分析及实例详解pdf_“结构非线性、材料拟合、冲击碰撞、钣金/金属成形、顺序耦合、多物理场、有/非参优化”专题...
  9. SPC软件:全程监控食品质量
  10. HBase:HBase的rowKey设计技巧
  11. e5服务器cpu性能排行,了解至强cpu!至强cpu性能排行榜及具体参数详解【详解】...
  12. 【杂谈】真相揭开有点吃惊:杨利伟出舱时
  13. Locale类的详细解析
  14. 计算机考研代码854,哈工大计算机考研考纲854计算机基础
  15. android Wifi自动连接
  16. toString转化成json
  17. C# winform设置开机启动
  18. 这些年过上幸福生活的程序员(中篇)
  19. 二进制反码求和java_简单又复杂的“整数类型”
  20. Android制造 FaceID [FaceNet + MobileNet]

热门文章

  1. 服务器的信号来源来自哪里,人类曾多次发现地外信号,到底来自哪里?
  2. java 出现FileNotFoundException异常的具体情况排除
  3. pve 不订阅更新_魔兽世界PVE史:(五)王朝序幕
  4. 讨厌的360日历怎么彻底删除?360日历功能彻底卸载方法
  5. 仿照利用android系统源码资源文件,修改SeekBar颜色 前景与背景
  6. 《中层变革》观看笔记
  7. web前端开发工作描述_2019年前端开发前景如何?前端开发会被淘汰吗?
  8. Android Handler机制笔记
  9. postgreSQL数据库 id自增
  10. 计算机应用能力考试2019,2019全国计算机应用能力考试备考指南