Java 返回语句使我困惑。不知道如何使用它
嘿,伙计们,我对编程比较陌生。我在高中时做了一点,我正在努力重新开始。我现在正在使用Codecademy再次学习Java。因为我会努力保持活跃,所以我想在这里开个账户是明智的 我现在正在学习返回声明,我正在使它正常工作。。。我可以在无知中继续前行,假装我知道发生了什么,但我不知道。我在这里使用Return语句的任何地方都让我感到困惑,因为它感觉好像我可以将任何正确数据类型的实例/变量抛出到Return语句中,代码将不受影响地运行 例如,我将Java 返回语句使我困惑。不知道如何使用它,java,Java,嘿,伙计们,我对编程比较陌生。我在高中时做了一点,我正在努力重新开始。我现在正在使用Codecademy再次学习Java。因为我会努力保持活跃,所以我想在这里开个账户是明智的 我现在正在学习返回声明,我正在使它正常工作。。。我可以在无知中继续前行,假装我知道发生了什么,但我不知道。我在这里使用Return语句的任何地方都让我感到困惑,因为它感觉好像我可以将任何正确数据类型的实例/变量抛出到Return语句中,代码将不受影响地运行 例如,我将energyReport方法下的return语句从ret
energyReport
方法下的return语句从return batteryLevel
更改为return chargePak
,尽管这里没有参数,并且我在该方法中使用的实例是batteryLevel
。请批评我的代码,我总是愿意学习,我知道我是新的。告诉我我做错了什么!帮我学习,谢谢你
我的代码:
public class Droid {
String name;
int batteryLevel;
int chargePak;
//constructor
public Droid(String droidName){
name = droidName;
batteryLevel = 100;
chargePak = 400;
}
//toString method
public String toString() {
return "Meet " + name + " our newest droid!";
}
//Perform Task method
public void performTask(String task) {
System.out.println(name + " is performing " + task + "!");
batteryLevel = batteryLevel - 10;
}
//Energy Report
public int energyReport() {
System.out.println("You have " + batteryLevel + "% remaining.");
return chargePak;
}
//Energy Report for chargepak
public int pakReport() {
System.out.println("You have " + chargePak + "% remaining in your Charge Pak.");
return chargePak;
}
//Energy Transfer
public void chargeDroid(int charge) {
chargePak = chargePak - charge;
batteryLevel = charge + batteryLevel;
System.out.println("Charging...\n" + "You now have " + batteryLevel + "% battery!");
}
//Main Method
public static void main(String[] args){
Droid codey = new Droid("Codey");
System.out.println(codey);
codey.energyReport();
codey.performTask("Jump");
codey.energyReport();
codey.performTask("Punch");
codey.performTask("Punch");
codey.performTask("Kick");
codey.performTask("Dab");
codey.energyReport();
codey.chargeDroid(20);
codey.chargeDroid(20);
codey.pakReport();
}
}
首先,我想对这种态度表示赞赏。你实际上是在试图完全理解你正在学习的东西,不要让你觉得奇怪。这就是路 现在回答:
return
将函数中的值返回给调用方。例如:
公共静态int-giveMeTheAnswer(){
返回42;
}
公共静态void main(字符串[]args){
int-answer=giveMeTheAnswer();
System.out.println(“答案是”+答案);//打印“答案是42”
}
Java还允许您忽略返回值,在本例中,它只是被丢弃:
公共静态int-giveMeTheAnswer(){
返回42;
}
公共静态void main(字符串[]args){
giveMeTheAnswer();//此调用现在无效
System.out.println(“答案丢失了…”);
}
在您的情况下,您的函数实际上有副作用,即将内容打印到控制台本身。这样,它们实际上不必返回任何东西,因为您首先不使用返回值,而是调用函数只是为了它们的副作用
如果不需要返回值,可以将函数声明为returningvoid
,然后只需使用return
返回(无值),或完全忽略返回
(因为在函数末尾它会自动返回):
publicstaticvoidprintmetheanswer(){
System.out.println(“答案是42”);
}
公共静态void main(字符串[]args){
printMeTheAnswer();
}
既然您没有使用从任何方法返回的值,那么它们都应该声明为void
,就像您对public void chargeDroid所做的一样
如何更改这一点,让我了解如何实际使用return?int foo=codey.energyReport()
然后用foo
做点什么,因为你提到我们应该批评:你的缩进不总是一致的,你应该修正它。这也会让你自己更容易阅读代码。明白我的意思吗: