Question

Je regarde un chemin trouver tutoriel et je remarqué une instruction return intérieur d'une méthode de void (classe PathTest, ligne 126):

if ((x < 0) || (y < 0) || (x >= map.getWidthInTiles()) || (y >= map.getHeightInTiles())) {
    return;
}

Je suis un novice à Java. Quelqu'un peut-il me dire pourquoi il est là? Pour autant que je savais, return l'intérieur d'une méthode vide n'est pas autorisé.

Était-ce utile?

La solution

Il a juste sortie de la méthode à ce moment-là. Une fois return est exécuté, le reste du code ne sera pas exécuté.

par exemple.

public void test(int n) {
    if (n == 1) {
        return; 
    }
    else if (n == 2) {
        doStuff();
        return;
    }
    doOtherStuff();
}

Notez que le compilateur est assez intelligent pour vous dire un peu de code ne peut pas être atteint:

if (n == 3) {
    return;
    youWillGetAnError(); //compiler error here
}

Autres conseils

Vous pouvez avoir return dans une méthode vide, vous ne pouvez pas retourner une valeur (comme dans return 5;), c'est pourquoi ils appellent vide méthode . Certaines personnes finissent toujours explicitement des méthodes vides avec une déclaration de retour, mais ce n'est pas obligatoire. Il peut permet de quitter une fonction début, cependant:

void someFunct(int arg)
{
    if (arg == 0)
    {
        //Leave because this is a bad value
        return;
    }
    //Otherwise, do something
}

Le mot-clé apparaît simplement une trame à partir de la pile d'appel retournant le contrôle de la ligne suite à l'appel de la fonction.

Il fonctionne même comme un retour pour la fonction d'un paramètre spécifié, sauf qu'il ne retourne rien, car il n'y a rien à revenir et le contrôle est rendu à la méthode d'appel.

Il sort de la fonction et retourne rien.

Quelque chose comme return 1; serait incorrect car il retourne entier 1.

Voir cet exemple, vous souhaitez ajouter à la liste conditionnelle. Sans le mot « retour », tous les ifs seront exécutés et ajouter à la liste de tableaux!

    Arraylist<String> list =  new ArrayList<>();

    public void addingToTheList() {

    if(isSunday()) {
        list.add("Pray today")
        return;
    }

    if(isMonday()) {
        list.add("Work today"
        return;
    }

    if(isTuesday()) {
        list.add("Tr today")
        return;
    }
}
scroll top