Java 无效方法 Return
Java Void Methods Return
Java:
为什么一个方法叫做 void
(即它没有 return 任何东西)如果它 return 是这样的:
System.out.println("Something");
例如:
public static void sayHello() {
System.out.println("Hello");
}
它做了 return 事情,这条消息!
这个方法做一些事情(打印"Hello"),但它不return任何事情。如果它 return 编辑了一个值,您可以这样做:
aVariableToAssignReturnValue = sayHello(); //you can't do it!
例如阅读this。
我会说它会向标准输出打印一条消息,但不会 return 向调用语句打印任何内容。
它没有return任何可以存储在变量中的东西。
所以根本就没有return任何东西。
但它可以执行诸如打印到控制台之类的操作。
考虑这两个例程。
public void sayHello() { System.out.println("Hello"); }
public int giveANumber() { System.out.println("Hi"); return 42; }
你怎么称呼他们?
sayHello();
int i = giveANumber();
因为 sayHello 是空的,所以调用时没有等号,左边也没有。但是,由于 giveANumber returns 是一个 int,因此您应该使用等号和一个整数来调用它以接收左侧的值。
在编程语言历史上有 Algol68,它可能是所有语言中最好的过程语言。这是第一种完全定义的语言,一切都是类型化的。是这么说和表达的语言。
其中VOID是一个单值SKIP的类型。一个 PROC () VOID,一个方法,可以被强制为 VOID,做一个调用。
"Return" 在这种情况下意味着一个值通过堆栈传回,该值可以分配给调用代码中的变量。你的例子不是这种情况。
Object o = sayHello(); // WRONG - Compile error
void 方法可以做一些事情 - 在您的情况下打印到屏幕。这不是此处描述的 "return"。
由于问题在页面顶部显示为 "Java Void Methods Return",在 "Void" 上带有大写字母 "V",可能还值得注意的是 Java 有一个 class "Void" 除了关键字 "void." 声明为 return Void 的方法做 return 一些事情 - 但如果是你的情况,你应该检查文档class 因为这是一种特殊情况。
简单明了,因为你是让他执行某事而不返回某事。你的方法 returns 一个空洞,没有任何意义。作为一名 c 程序员,在 C 中,一个 returns 什么都没有的方法被称为过程。更多结帐 What is the difference between a "function" and a "procedure"?.
sayHello()
没有 return 声明;因此,它是一个 void
方法。根据您的假设,唯一真正的 void
方法将如下所示:public static void wowSuchVoid(){ }
。甚至有什么意义?
Java:
为什么一个方法叫做 void
(即它没有 return 任何东西)如果它 return 是这样的:
System.out.println("Something");
例如:
public static void sayHello() {
System.out.println("Hello");
}
它做了 return 事情,这条消息!
这个方法做一些事情(打印"Hello"),但它不return任何事情。如果它 return 编辑了一个值,您可以这样做:
aVariableToAssignReturnValue = sayHello(); //you can't do it!
例如阅读this。
我会说它会向标准输出打印一条消息,但不会 return 向调用语句打印任何内容。
它没有return任何可以存储在变量中的东西。
所以根本就没有return任何东西。
但它可以执行诸如打印到控制台之类的操作。
考虑这两个例程。
public void sayHello() { System.out.println("Hello"); }
public int giveANumber() { System.out.println("Hi"); return 42; }
你怎么称呼他们?
sayHello();
int i = giveANumber();
因为 sayHello 是空的,所以调用时没有等号,左边也没有。但是,由于 giveANumber returns 是一个 int,因此您应该使用等号和一个整数来调用它以接收左侧的值。
在编程语言历史上有 Algol68,它可能是所有语言中最好的过程语言。这是第一种完全定义的语言,一切都是类型化的。是这么说和表达的语言。
其中VOID是一个单值SKIP的类型。一个 PROC () VOID,一个方法,可以被强制为 VOID,做一个调用。
"Return" 在这种情况下意味着一个值通过堆栈传回,该值可以分配给调用代码中的变量。你的例子不是这种情况。
Object o = sayHello(); // WRONG - Compile error
void 方法可以做一些事情 - 在您的情况下打印到屏幕。这不是此处描述的 "return"。
由于问题在页面顶部显示为 "Java Void Methods Return",在 "Void" 上带有大写字母 "V",可能还值得注意的是 Java 有一个 class "Void" 除了关键字 "void." 声明为 return Void 的方法做 return 一些事情 - 但如果是你的情况,你应该检查文档class 因为这是一种特殊情况。
简单明了,因为你是让他执行某事而不返回某事。你的方法 returns 一个空洞,没有任何意义。作为一名 c 程序员,在 C 中,一个 returns 什么都没有的方法被称为过程。更多结帐 What is the difference between a "function" and a "procedure"?.
sayHello()
没有 return 声明;因此,它是一个 void
方法。根据您的假设,唯一真正的 void
方法将如下所示:public static void wowSuchVoid(){ }
。甚至有什么意义?