【问题标题】:why is return used within if statement in this java code? [duplicate]为什么在这个java代码的if语句中使用return? [复制]
【发布时间】:2015-01-08 04:10:49
【问题描述】:

所以这里是代码: 我完全理解代码,但我很困惑为什么使用 return 并且我知道 return 关键字的作用。 我尝试在不使用 return 的情况下运行代码,但结果相同

import java.util.Scanner;

public class Calculator {

    public static void main (String[] args) {
        Scanner sc= new Scanner(System.in);
        int day, num1, num2;
        System.out.println("* * * * * * * * * * * *" +"\n" + "1. For addition" +"\n" + "2. For Subtraction" +"\n" + "3. For multipication" +"\n" + "4. For division" +"\n" +"* * * * * * * * * * * *");
        System.out.println("Please enter your 1st num");
        num1= sc.nextInt();
        System.out.println("Please enter your 2nd num");
        num2= sc.nextInt();
        System.out.println("Please enter your choice");
        day= sc.nextInt();
        if(day==4 && num2==0) {
            System.out.println("0 is not valid");
            return;
        };
        switch(day) {
            case 1: System.out.println(num1+num2);break;
            case 2: System.out.println(num1-num2);break;
            case 3: System.out.println(num1*num2);break;
            case 4: System.out.println(num1/num2);break;
            default : System.out.println("Wrong input");break;
        }
    }
}

为什么在 if 条件行使用return

【问题讨论】:

  • 提前退出函数
  • 如果您没有根据条件 day==4 && num2==0 获得回报,则 case:4 有一个除以零的条件
  • 是否应该关闭 - OP 似乎不是在询问 return 关键字的作用,而是在询问为什么该方法在这种情况下返回?
  • 同意评论者的观点,这不是问在条件中使用什么返回,而是为什么将它放置在那里。
  • 我很困惑为什么使用 return 并且没有询问 return 的作用,谢谢现在很清楚

标签: java


【解决方案1】:

如果您阅读println,它会说“0 无效”。我假设(您也应该)在给定输入的情况下其余代码无法运行,因此return 语句在程序失败之前退出程序。

【讨论】:

    【解决方案2】:

    来自 void 方法的return 语句将终止该方法,在这种情况下,当您在 public static void main 中调用它时,它会终止整个应用程序。

    您的代码进行了有效性检查,当验证失败时,您的应用程序会写入错误消息并退出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-28
      • 2012-08-09
      • 1970-01-01
      • 2022-12-09
      • 2019-01-31
      • 1970-01-01
      • 2014-01-16
      相关资源
      最近更新 更多