此代码中 void 和 int 用法的区别
Difference between the usage of void and int in this code
目前是初学者,我编写了一个使用 getter 和 return 值的简单程序(当前课程)。请问什么时候用void方案和int方案,结果一样吗?
我真的希望格式不要太糟糕。
class Database {
String name;
int age;
String getName() {
return name;
}
int getAge() {
return age;
}
int yearsPlusFifty() {
int year = age + 50;
return year;
}
void plusFifty() {
int year2 = age + 50;
System.out.println(year2);
}
}
public static void main(String args[]) {
Database person1 = new Database();
person1.name = "Josh";
person1.age = 30;
int year = person1.yearsPlusFifty();
System.out.println("The age plus 50 is: " + year);
person1.plusFifty();
}
使用 int 方法 (yearsPlusFifty),因为它有一个责任 - 计算值。 plusFifty 中的 Printl 是一种副作用,这是不可取的。将计算和打印的职责分开(使其更可重用、可测试且更易于理解)。
基本上,当您的方法没有 return
值时,应使用 void
,而当您的方法 returns int
值时,将使用 int
.
现在来看你的方法,它们并不相同,它们在做两件不同的事情:
int yearsPlusFifty()
- 添加 50 并返回 int
值
void plusFifty()
- 最好重命名为 printPlusFifty()
- 此方法同时添加和打印
int yearsPlusFifty() {//only adding and returning int value
int year = age + 50;
return year;
}
void printPlusFifty() {//adding + printing
int year2 = age + 50;
System.out.println(year2);
}
目前是初学者,我编写了一个使用 getter 和 return 值的简单程序(当前课程)。请问什么时候用void方案和int方案,结果一样吗?
我真的希望格式不要太糟糕。
class Database {
String name;
int age;
String getName() {
return name;
}
int getAge() {
return age;
}
int yearsPlusFifty() {
int year = age + 50;
return year;
}
void plusFifty() {
int year2 = age + 50;
System.out.println(year2);
}
}
public static void main(String args[]) {
Database person1 = new Database();
person1.name = "Josh";
person1.age = 30;
int year = person1.yearsPlusFifty();
System.out.println("The age plus 50 is: " + year);
person1.plusFifty();
}
使用 int 方法 (yearsPlusFifty),因为它有一个责任 - 计算值。 plusFifty 中的 Printl 是一种副作用,这是不可取的。将计算和打印的职责分开(使其更可重用、可测试且更易于理解)。
基本上,当您的方法没有 return
值时,应使用 void
,而当您的方法 returns int
值时,将使用 int
.
现在来看你的方法,它们并不相同,它们在做两件不同的事情:
int yearsPlusFifty()
- 添加 50 并返回 int
值
void plusFifty()
- 最好重命名为 printPlusFifty()
- 此方法同时添加和打印
int yearsPlusFifty() {//only adding and returning int value
int year = age + 50;
return year;
}
void printPlusFifty() {//adding + printing
int year2 = age + 50;
System.out.println(year2);
}