Une méthode est un fragment de code Elle est similaire à une "fonction" en langage C. La méthode peut être comprise comme une fonction qui peut être utilisée à plusieurs reprises.
Actuellement, lors de l'écriture d'une méthode, elle est écrite comme suit :
valeur de retour statique publique nom de retour (liste formelle de paramètres) {
corps de fonction/corps de méthode
}
exemple de code : Trouvez la somme de 1-n
/** * 求我们1-n的和 * 函数名字必须采用小驼峰 * @param n 输入一个数字 */ public static int sumAdd(int n){ int sum = 0; for(int i = 1;i <= 10;i++){ sum += i; } return sum; } public static void main(String[] args) { int ret = sumAdd(10);//方法的调用 }
Explication sur le dessin :
Appel en chaîne de la valeur de retour de la fonction :
Laissez-moi vous donner un exemple selon l'exemple ci-dessus :
/** * 求我们1-n的和 * 函数名字必须采用小驼峰 * @param n 输入一个数字 */ public static int sumAdd(int n){ int sum = 0; for(int i = 1;i <= 10;i++){ sum += i; } return sum; } public static void main(String[] args) { int ret = sumAdd(10);//方法的调用 System.out.println(sumAdd(10)*2);//函数的返回值,支持链式调用 }
Explication sur le dessin :
en Java Il n'y a pas de déclaration de fonction. Peu importe que votre fonction soit au-dessus ou en dessous de la fonction principale, vous pouvez appeler
L'espace mémoire ouvert par la fonction est appelé un cadre de pile de fonctions A. le cadre de pile sera ouvert lorsque chaque fonction est appelée. La mémoire de cette fonction
Comment la fonction est appelée dans l'espace mémoire :
Exemple : Utilisez la méthode fonction pour trouver la somme des factorielles de n
用函数的方法求n的阶乘之和 public static int Fac(int n) { int sum = 1; for (int i = 1; i <= n; i++) { sum = sum * i; } return sum; } /** * 求n的阶乘之和 * @param */ public static int facSum(int n){ int ret = 0; for (int i = 1;i <= n; i++){ ret = ret + Fac(i); } return ret; } public static void main(String[] args) { System.out.println(facSum(5)); } }
1.Java无法通过传地址的方式交换两个值的变量,后续会讲怎么做 public class TestDemo { public static void swap(int a,int b){//交换两个变量的值 int tmp = a; a = b; b = tmp; } public static void main(String[] args) { int a = 10; int b = 10; System.out.println("交换实参前:"+a+" " +b); swap(&a,b);//Java是做不到取地址的,如果想要写一个函数交换两个数的的值,只能把a和b的值放到堆上 System.out.println("交换实参后:"+a+" " +b); } }
Parfois, nous devons utiliser une fonction. Si plusieurs paramètres sont compatibles en même temps, nous pouvons utiliser la surcharge de méthodes
Explication du dessin :
Les noms des méthodes sont tous appelés add. certains add calculent l'addition d'entiers, et certains ajoutent des doubles ; Calculent l'addition de deux nombres, et parfois calculent l'addition de trois nombres. Le même nom de méthode fournit différentes versions d'implémentation, appelées surcharge de méthode
Exemple : Écrire du code de manière fonctionnelle pour simuler trois connexions Scénario
public static void login(){ int count = 3; Scanner scanner = new Scanner(System.in); while(count != 0){ System.out.println("请输入你的密码"); String password = scanner.nextLine(); if(password.equals("123456")){//equals的返回值是true或者false System.out.println("登录成功了"); break; }else{ count--; System.out.println("你输错密码了,你还有"+count+"次机会"); } } } public static void main(String[] args) { login(); }
Exemple de question : Fonction pour trouver le nombre de jonquilles
求水仙花数 public static void findNum(int n){ for (int i = 1; i <=n; i++) { int count = 0;//数字的位数 int tmp = i; while(tmp != 0){ count++; tmp = tmp/10; } tmp = i; int sum = 0; while(tmp != 0){ sum += Math.pow(tmp%10,count); tmp/=10; } if(sum == i){ System.out.println(i); } } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); findNum(n); }
Exemple de question : Trouver les nombres impairs avant les nombres pairs
调整数组顺序使得奇数位于偶数之前,调整之后,不关心大小顺序 public class TestDemo { public static void main(String[] args) { int[]arr = {1,2,3,4,5,6,7,8,9}; int left = 0; int right = arr.length-1; while(left < right){ while(left < right && arr[left] % 2 != 0){ left++; } while(left < right && arr[right] % 2== 0){ right--; } int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; } for (int i = 0; i <arr.length ; i++) { System.out.print(arr[i]+" "); } } }
Exemple de question : Fonction pour trouver la valeur maximale de trois nombres
1.用函数求三个数的最大值 public class TestDemo { public static int Max(int a,int b){ return a > b? a : b; } public static int Max1(int a,int b,int c){ return Max(Max(a,b),c); } public static void main(String[] args) { System.out.println(Max1(4, 6, 8)); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!