“使用”不好吗;return";逃避主要方法?

“使用”不好吗;return";逃避主要方法?,return,break,system.exit,Return,Break,System.exit,所以这可能是一个非常愚蠢的问题,但在你把这篇文章烧成灰烬之前,请听我说完XD。下面我写了三个基本类,它们都完成了相同的任务,但通过不同的方式: A类(休息) import java.util.Scanner; public class ClassA { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) {

所以这可能是一个非常愚蠢的问题,但在你把这篇文章烧成灰烬之前,请听我说完XD。下面我写了三个基本类,它们都完成了相同的任务,但通过不同的方式:

A类(休息)

import java.util.Scanner;
public class ClassA
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                break;
            else
                System.out.println("Thank you!");
        }
    }
}
import java.util.Scanner;
public class ClassB
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                return;
            else
                System.out.println("Thank you!");
        }
    }
}
import java.util.Scanner;
public class ClassC
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                System.exit(0);
            else
                System.out.println("Thank you!");
        }
    }
}
B类(退货)

import java.util.Scanner;
public class ClassA
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                break;
            else
                System.out.println("Thank you!");
        }
    }
}
import java.util.Scanner;
public class ClassB
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                return;
            else
                System.out.println("Thank you!");
        }
    }
}
import java.util.Scanner;
public class ClassC
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                System.exit(0);
            else
                System.out.println("Thank you!");
        }
    }
}
C类(系统出口(0))-

import java.util.Scanner;
public class ClassA
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                break;
            else
                System.out.println("Thank you!");
        }
    }
}
import java.util.Scanner;
public class ClassB
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                return;
            else
                System.out.println("Thank you!");
        }
    }
}
import java.util.Scanner;
public class ClassC
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        while(true)
        {
            System.out.print("Enter a sentence (/q to quit): ");
            String sentence = in.nextLine();

            if(sentence.equals("/q"))
                System.exit(0);
            else
                System.out.println("Thank you!");
        }
    }
}
虽然我更喜欢A班和C班,B班有什么问题吗?更具体地说,使用
return
语句退出程序的
main
方法是否是一种不良做法?若然,原因为何


提前谢谢

使用
return
是正确的做法,因为它使
main
更易于测试——您的测试框架不需要拦截退出尝试