[JAVA] Méthode à décrire en divisant en plusieurs méthodes Comment passer des arguments Comment utiliser la valeur de retour Surcharge de méthode Passer par valeur et passer par référence

Avantages d'écrire des méthodes séparées

En divisant la méthode pour chaque fonction autre que la méthode principale
Améliore la visibilité de l'ensemble du programme et facilite la correction des erreurs # Définition de la méthode
nom de la méthode de la valeur de retour statique publique(Type de données de l'argument Nom de la variable){
Que se passe-t-il lorsqu'une méthode est appelée
}
・ L'intérieur de {} est appelé un bloc de méthode

Appel de méthode

(méthode d'appel de méthode) `Nom de la méthode (liste d'arguments);`

(Exemple)

 public static void maiu(String[] args){
   System.out.println("Appelez la méthode");
   method();
   System.out.println("L'appel de méthode est terminé!");
 }

-Quel que soit le nombre de méthodes définies, la méthode principale est toujours exécutée en premier

Comment passer des arguments

(Comment recevoir des arguments) `public static void hello (nom de la variable de type de données variable);`

(Exemple)

public static void main(String[] args){
 hello("A");
 hello("B");
 hello("C");
}

public static void hello(String name){
 System.out.println("Bonjour"+name+"M.");
}

(Résultat de sortie)

Salut A's
Bonjour M. B
Salut C's
-Les arguments sont automatiquement affectés aux noms de variables

Lors du passage de plusieurs arguments

(méthode d'affectation des arguments) `Nom de la méthode (argument 1, argument 2);`
(Comment recevoir des arguments) `Nom de la méthode de la valeur de retour statique publique (argument type de données argument 1, argument type de données argument 2);

(Exemple)

public class li5_5 {
   public static void main(String[] args){
    add("Bonjour","Monsieur A");
    add("Bonsoir","Monsieur B");
   }
   public static void add(String x,String y) {
	System.out.println(x+y);
   }
}

(Résultat de sortie)

Salut A's
Bonsoir B
La valeur à transmettre est argument réel La valeur à recevoir est appelée argument formel Si
l'exemple ci-dessus, "Bonjour", "A's" "Bonsoir", "B's" est, afin de correspondre à la valeur de passe argument réel. Argument formel car
String x, String y a reçu la valeur.

Comment utiliser la valeur de retour

(Comment renvoyer la valeur de retour)
public static Type de retour Nom de la méthode(argument){
Que se passe-t-il lorsqu'une méthode est appelée
return Valeur de retour;
}
Le type de retour void signifie pas de retour  
(Comment appeler le nom de la méthode et recevoir la valeur de retour) `Tapez nom de variable = nom de méthode (liste d'arguments)`  
(Exemple) * Ignorer le manque de sens du choix des mots

public class li5_7 {
  public static String Hello(String x,String y) {
	String aisatsu = x + y;
	return aisatsu;
  }

  public static void main(String[] args) {
	String aisatsu = Hello("Bonjour","Yo");
	System.out.println(aisatsu);
  }
}
(résultat de sortie) ``` Bonjour ```

Utilisez la valeur de retour directement

(idée)
Dans l'exemple ci-dessus, après avoir reçu la valeur en tant que variable une fois avec String aisatsu = Hello ("Oha", "Yo"); dans la méthode principale, System.out Vous utilisez la valeur de retour dans .println (aisatsu); .
Le code suivant ne reçoit pas dans la variable de la méthode main, mais utilise la valeur de retour direct dans l'instruction.  
(Exemple) * S'il vous plaît laissez-moi savoir s'il y a un exemple à la mode autre que bonjour
public class li5_8 {
  public static String add(String x,String y) {
	String ans = x + y;
	return ans;
  }

 public static void main(String[] args) {
    System.out.println(add(add("Oh","Est"),add("Yo","U")));
 }
}
(Supplément) Dans
add (add ("o", "is"), add ("yo", "u") , le premier add ("o", "is")) Vous pouvez "bonjour" avec et "vous" avec le prochain add ("yo", "u") Je peux.
Vous pouvez "Bonjour" avec l'ajout qui est résumé à la fin.  
(résultat de sortie) ``` Bonjour ``` # Remarques sur la déclaration de retour
(idée)
return termine la méthode  
(exemple)
public class li5_8 {
  public static String add(String x,String y) {
	String ans = x + y;
	return ans;
    System.out.println(ans);
  }
}

(Supplément)
System.out.println (ans); entraîne une erreur de compilation

Surcharge de méthode

(idée)
Une seule méthode avec le même nom peut être utilisée. Cependant, il existe des cas où plusieurs méthodes de traitement similaire sont utilisées. Dans un tel cas, vous pouvez utiliser plusieurs méthodes portant le même nom en modifiant le type de données de l'argument ou en modifiant le nombre de données de l'argument .  
(Exemple ~ Lors de la modification du type de données de l'argument ~)

  public static int add(int x,int y) {
	return x + y ;
  }
  
  public static double add(double x, double y) {
	return x + y ;
  }
  
  public static String add(String x, String y) {
	return x + y ;
  }
  
  public static void main(String[] args) {
    System.out.println(add(10,20));
    System.out.println(add(3.5,2.7));
    System.out.println(add("Hellow","World"));
  }
(résultat de sortie)
30
6.2
HellowWorld

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

(Exemple ~ Lors de la modification du nombre de données d'argument ~)

  public static String hello(String x,String y) {
	return x + y ;
  }

  public static String hello(String x,String y,String z) {
	return x + y + z ;
  }

  public static void main(String[] args) {
    System.out.println(hello("Bonjour","Yo"));
    System.out.println(hello("Oh","Est","Yo"));
  }
(résultat de sortie)
Bonjour
Bonjour

Passer par valeur et passer par référence

(idée) Les variables normales sont transmises par valeur , donc même si la valeur source change, la valeur de destination ne change pas. Lorsqu'un tableau est passé, il est passé par référence , donc si la valeur source change, la valeur de destination du passage change également.  
(Exemple ~ Variable normale ~)

public class li5_13_1 {
	public static void method1(int x) {
		System.out.println(x);
		x = 20;
	}

	public static void main(String[] args) {
		int x = 10;
		method1(x);
		System.out.println(x);
	}
}
(résultat de sortie)
10
10
(Supplément) La valeur 10 est attribuée de la "méthode principale" à la "méthode méthode1". La valeur est modifiée avec «x = 20;» à la fin de «méthode1 méthode», mais la sortie de «méthode principale» reste 10.   ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
(Exemple ~ Variable de tableau ~)

public class li5_13_2 {
    public static void incArray(int[] array){
    		for(int i=0 ;i<array.length ;i++) {
                array[i]++;
    		}
    }

    public static void main(String[] args) {
    		int[] array = {1,2,3};
    		incArray(array);
    		for(int i :array) {
                System.out.println(i);
    		}
    }
}

(résultat de sortie)
2
3
4

(Supplément) Puisqu'il s'agit d'une variable tableau, l'adresse de référence est affectée de la `méthode principale` à la` méthode inArray` au lieu de la valeur de référence . Dans la méthode ʻinArray`, 1 est ajouté au contenu du` tableau de variables de tableau`. Puisqu'il s'agit d'une variable de tableau, les données stockées à l'adresse de référence ont été modifiées. Autrement dit, les données d'origine sont en cours de réécriture. Par conséquent, dans la méthode «inArray», la valeur n'est pas retournée à la «méthode principale» par «return», mais le résultat de sortie de la «méthode principale» est la valeur après le traitement de la «méthode inArray». D'après ce qui précède, dans le cas des variables de tableau, une image qui partage les données d'origine .

Recommended Posts