当前位置: 首页 > 知识库问答 >
问题:

java中的Void实际上不返回任何值吗?

白星海
2023-03-14

我读到关键字val在java中不返回任何值。我尝试运行一个简单的程序。但我不认为val按照我阅读的方式工作。这是示例......

public class Main {
    public static void main(String args[]){
        intro("Arun", "Saravanampatti");
        intro("Kalyana Sundram", "Kovil Patti");
    }

    static void intro(String name, String place){
        System.out.println("Hello bro my name is " + name +". and I'm from " + place);
    }
}

现在,我创建了一个名为intro的方法,其关键字为void。所以方法的值,比如名称和位置,不应该从intro方法中去掉。它不应该将值返回给main方法。但在这里确实如此。这怎么可能。

共有2个答案

郎诚
2023-03-14

您的intro不返回任何内容,但它正在调用System.out的另一个方法,该方法将值打印到您的标准输出。

这就是你看到价值观的原因。

赵修诚
2023-03-14

您混淆了打印/输出和返回。

打印(使用System.out.println)意味着您将一些信息发送到执行程序的控制台。

另一方面,返回是将一个值发送回调用方法:

public void caller(){
    int i=calee();//get a value from a method (must be returned from callee) 
    System.out.println(i);//print the value
}
public int calee(){
    return 1337;//give 1337 back to the calling method 
}
 类似资料:
  • 我相信这是一个愚蠢的问题,但我已经讨论了很久了。。我试图创建一个java程序,根据用户输入的年数和金额计算复利。但我一直遇到一个错误,void方法无法返回值。因此,我将方法切换为double,因为这是将返回的内容,但它告诉我double方法必须返回double。即使我在循环中返回一个双倍。。。请帮忙

  • 问题内容: 我有div元素,其中定义了left和top,没有绝对位置,我想使用jQuery读取left和top值。 使用可以$(“#MyId”).css(“left”)在IE浏览器(IE8)中提供预期的结果,但在Chrome中,它返回“自动”,尽管这些值是以元素样式显式编写的。 注意IE和Chrome之间的区别。 另外,这在jQuery 1.4.2中运行良好,在jQuery 1.4.3及更高版本中

  • 如果我们假设有如下所示的XML,那么match=“/”究竟返回什么?据我所知,它返回了一个虚构的顶级节点,它具有<代码> 测验xml

  • 我在玩C语言中的函数指针只是为了学习。我尝试调用一个空函数,并将其结果设置为int。 我从中得到的结果是: 在对它进行了一点研究之后,我意识到main正在函数()中打印printf语句中的字符数。为什么会这样?这是预期产出吗?

  • 我有一个关于显示void类型的返回值的问题。因此trimLines是一个void类型的方法。我不明白如何显示void类型的方法,因为该方法没有返回任何东西,所以没有任何东西可以显示。由于采用字符串类型,这将导致错误。

  • 问题内容: 我有这段代码,由于某种原因,当我尝试返回路径时,我得到None: 有办法解决吗?提前致谢。 问题答案: 你需要返回递归结果: 否则,该函数仅在执行该语句后结束,导致None返回。 你可能要下降了,总是返回结尾: 因为如果是,False那么你也将在没有功能的情况下结束功能return。如果在这种情况下None递归不是正确的选择,而在返回则不是正确的选择,那么你也需要处理这种边缘情况。