Méthodes de base Java, surcharge de méthodes, classes de chaînes

Vers le Haut 2022-01-15 02:39:24 阅读数:856

thodes base java surcharge thodes

No1Chapitre Aperçu de la méthode et de son utilisation de base

1.1 Définir la méthode

1.1.1 Aperçu de la méthodologie

​ Supposons qu'il y ait un programme de jeu,Le programme est en cours d'exécution,Il faut continuer à tirer.(Les plantes combattent les zombies).L'action de tir doit être écrite100Code de la ligne,C'est écrit à plusieurs reprises à chaque fois qu'un projectile est lancé.100Code de ligne,Ça va devenir lourd.,La lisibilité est également très faible.Pour résoudre le problème de la réécriture du Code,Vous pouvez extraire le Code du projectile et le mettre dans un{}Moyenne,Et donnez un nom à ce code,De cette façon, le Code de tir est appelé par ce nom à chaque fois que le projectile est tiré..Dans le processus ci - dessus,Le Code extrait peut être considéré comme une méthode définie dans le programme,Le programme appelle cette méthode lorsque le projectile est nécessaire.

En termes simples:La méthode consiste à compléter un bloc de code pour une fonction spécifique

Il y a des définitions de fonctions dans de nombreuses langues , Fonction dansJavaAppelé méthode.

1.1.2 Syntaxe méthodologique

Modificateur Type de valeur de retour/void Nom de la méthode(Type de données Nom du paramètre1,Type de données Nom du paramètre2) {

//Corps de la méthode
//Aucune valeur de retour return;
return Valeur de retour;
}

1.1.3 Explication des noms grammaticals

Modificateur:Souviens - toi. publicPublic staticStatique

Type de valeur de retour: Type de données utilisé pour qualifier la valeur de retour

Nom de la méthode:Un nom.,Pour plus de commodité, nous appelons la méthode

Type de données: Type de données à utiliser pour recevoir les données entrantes lors de l'appel de méthode

Nom du paramètre: Variable utilisée pour recevoir les données entrantes lorsque la méthode est appelée

Corps de la méthode: Code pour compléter la fonction

return Fin de la méthode, Apporter la valeur de retour à l'appelant .Ça ne peut pas être return Écrivez le Code après, return Signifie la fin de la méthode,Tous les codes suivants ne seront jamais exécutés,Appartient à un code invalide.

Attention!:

1.Lors de la définition de la méthode, La méthode doit être définie en dehors de la méthode dans la classe , La méthode ne peut pas être définie à l'intérieur d'une autre méthode .

2.method()Par main () Sortie directe des résultats après l'appel ,Etmain()Pas besoin. method()Résultats de la mise en œuvre,Donc C'est défini commevoid .

1.2 Plusieurs formes de méthodes de définition

1 Aucune valeur de retour, Pas de liste formelle des paramètres
2 Avec valeur de retour, Liste des paramètres sans forme
3 Aucune valeur de retour, Il y a une liste formelle de paramètres
4 Avec valeur de retour, Il y a une liste formelle de paramètres
5 Méthode statique

No2Chapitre Surcharge de la méthode

2.1 Aperçu et utilisation de base de la surcharge méthodologique

Dans la même classe,Plus d'une méthode du même nom est autorisée,Tant qu'ils ont un nombre différent d'arguments ou de types d'arguments.

Surcharge de la méthode:

Indépendant du type de valeur de retour, Voir uniquement la liste des noms de méthodes et des paramètres ,Au moment de l'appel, Les machines virtuelles distinguent les méthodes portant le même nom par des listes de paramètres différentes .

public class MethodDemo {

public static void main(String[] args) {

int a = 10;
int b = 20;
// Somme
int result = sum(a, b);
System.out.println("result:" + result);
int c = 30;
// Somme
//int result2 = sum2(a,b,c);
//System.out.println("result2:"+result2);
result = sum(a,b,c);
System.out.println("result:"+result);
}
/** @Title: sum @Description: Deux.float Somme des données de type @param a @param b @return */
public static float sum(float a,float b) {

return a + b;
}
/** @Title: sum @Description: La somme de trois entiers @param a @param b @param c @return */
public static int sum(int a,int b,int c) {

return a + b + c;
}
/** @Title: sum2 @Description: La somme de trois entiers @param a @param b @param c @return */
/** public static int sum2(int a, int b, int c) { return a + b + c; }*/
/** @Title: sum @Description: Somme de deux entiers @param a @param b @return */
public static int sum(int a, int b) {

return a + b;
}
}

No3Chapitre Passage des paramètres

Paramètres de forme: Variables utilisées pour recevoir les données réelles

Paramètres réels: Variables réellement impliquées dans l'opération

3.1 Le paramètre formel de la méthode est le type de données de base

Lorsque les paramètres de la méthode sont de type de base : Le changement des paramètres formels n'affecte pas les paramètres réels .

// Lorsque les paramètres de la méthode sont de type de base : Le changement des paramètres formels n'affecte pas les paramètres réels 
public class ArgsDemo {

public static void main(String[] args) {

// Définir les variables
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);// a:10,b:20
change(a, b);
System.out.println("a:" + a + ",b:" + b);// a:10,b:20
}
/** @Title: change @Description: Changer la valeur du paramètre formel @param a @param b */
public static void change(int a, int b) {
 // a=10,b=20
System.out.println("a:" + a + ",b:" + b);// a:10,b:20
a = b; // a=20;
b = a + b; // b=40;
System.out.println("a:" + a + ",b:" + b);// a:20,b:40
}
}

3.2 Les paramètres formels de la méthode sont des diagrammes de type de base

Insérer la description de l'image ici

3.3 Le paramètre formel de la méthode est le type de données de référence String? Integer?

Le paramètre de la méthode est le type de référence : Le changement des paramètres formels affecte directement les paramètres réels

public class ArgsDemo2 {

public static void main(String[] args) {

// Définir un tableau
int[] arr = {
 1, 2, 3, 4, 5 };
// Traverser le tableau
for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);
}
System.out.println("----------------");
change(arr);
for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);
}
}
/** @Title: change @Description: Si l'élément est pair , La valeur devient la précédente 2X @param arr */
public static void change(int[] arr) {

for (int x = 0; x < arr.length; x++) {

// Si l'élément est pair , La valeur devient la précédente 2X
if (arr[x] % 2 == 0) {

arr[x] = 2;
}
}
}
}

3.4 Le paramètre formel de la méthode est le diagramme de type de référence

Insérer la description de l'image ici

No4Chapitre StringCatégorie

Une chaîne de données composée de plusieurs caractères

La chaîne est essentiellement un tableau de caractères

4.1 StringAperçu de la classe

AdoptionJDKFourniAPI,VoirStringDescription de la classe

A:"abc"- Oui.StringUne instance de la classe,Ou devenirStringUn objet de la classe

B:Valeur littérale de la chaîne"abc"Peut également être considéré comme un objet de chaîne

C:La chaîne est constante,Une fois assigné,On ne peut pas changer

D: La nature d'une chaîne est un tableau de caractères

4.2 StringMéthode de construction de la classe

String(String original): Encapsuler les données de chaîne dans un objet de chaîne
String(char[] value): Encapsuler les données d'un tableau de caractères dans un objet de chaîne
String(char[] value, int index, int count): Encapsule une partie des données d'un tableau de caractères dans un objet de chaîne

CAS

public class StringDemo {

public static void main(String[] args) {

//Comment1
//String(String original): Encapsuler les données de chaîne dans un objet de chaîne 
String s1 = new String("hello");
System.out.println("s1:"+s1);
System.out.println("---------");
//Comment2
//String(char[] value): Encapsuler les données d'un tableau de caractères dans un objet de chaîne 
char[] chs = {
'h','e','l','l','o'};
String s2 = new String(chs);
System.out.println("s2:"+s2);
System.out.println("---------");
//Comment3
//String(char[] value, int index, int count): Encapsule une partie des données d'un tableau de caractères dans un objet de chaîne 
//String s3 = new String(chs,0,chs.length);
String s3 = new String(chs,1,3);
System.out.println("s3:"+s3);
System.out.println("---------");
//Comment4
String s4 = "hello";
System.out.println("s4:"+s4);
}
}

4.3 La différence entre deux façons de créer un objet String

Quelle est la différence entre un objet de chaîne créé par une méthode de construction et un objet de chaîne créé par une affectation directe ?

  • La création d'un objet String par une méthode de construction est en mémoire tas.

  • La méthode d'assignation directe crée un objet qui est un pool constant dans la zone de méthode.

public class StringDemo2 {

public static void main(String[] args) {

String s1 = new String("hello");
String s2 = "hello";
System.out.println("s1:"+s1);
System.out.println("s2:"+s2);
System.out.println("s1==s2:"+(s1==s2)); //false
String s3 = "hello";
System.out.println("s1==s3:"+(s1==s3)); //false
System.out.println("s2==s3:"+(s2==s3)); //true
}
}

Attention!:==Comparaison

Type de données de base: Comparer si les valeurs du type de données de base sont les mêmes

Type de données de référence: La comparaison est de savoir si la valeur d'adresse du type de données de référence est la même

Insérer la description de l'image ici

Attention!:La méthode d'assignation directe crée un objet qui est un pool constant dans la zone de méthode, Pour faciliter la réutilisation des chaînes .

4.4 StringFonction de jugement de la classe

boolean equals(Object obj):Comparer si le contenu de la chaîne est le même
boolean equalsIgnoreCase(String str):Comparer si le contenu de la chaîne est le même,Ignorer le cas
boolean startsWith(String str):Détermine si l'objet String eststrAu début
boolean endsWith(String str):Détermine si l'objet String eststrFin

CAS

//Object: Est la classe racine dans la hiérarchie des classes , Toutes les classes héritent directement ou indirectement de cette classe . Si le paramètre formel d'une méthode est Object, Donc ici, nous pouvons passer n'importe quel objet de sous - classe .
public class StringDemo {

public static void main(String[] args) {

//Créer un objet de chaîne
String s1 = "hello";
String s2 = "hello";
String s3 = "Hello";
//boolean equals(Object obj):Comparer si le contenu de la chaîne est le même
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
System.out.println("-----------");
//boolean equalsIgnoreCase(String str):Comparer si le contenu de la chaîne est le même,Ignorer le cas
System.out.println(s1.equalsIgnoreCase(s2));
System.out.println(s1.equalsIgnoreCase(s3));
System.out.println("-----------");
//boolean startsWith(String str):Détermine si l'objet String eststrAu début
System.out.println(s1.startsWith("he"));
System.out.println(s1.startsWith("ll"));
}
}

Exercice

//Besoins:Connexion analogique,Donne trois chances.,Et quelques fois de plus

4.5 StringFonction d'acquisition de la classe

int length():Obtient la longueur de la chaîne,En fait, c'est le nombre de caractères
char charAt(int index):Obtient les caractères à l'index spécifié
int indexOf(String str):AccèsstrIndex apparaissant pour la première fois dans un objet string
String substring(int start):DestartCommence à tronquer la chaîne
String substring(int start,int end):DestartC'est parti.,ÀendFin de la chaîne d'interception.Y compris:start,Non comprisend

CAS

public class StringDemo {

public static void main(String[] args) {

//Créer un objet de chaîne
String s = "helloworld";
//int length():Obtient la longueur de la chaîne,En fait, c'est le nombre de caractères
System.out.println(s.length());
System.out.println("--------");
//char charAt(int index):Obtient les caractères à l'index spécifié
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
System.out.println("--------");
//int indexOf(String str):AccèsstrIndex apparaissant pour la première fois dans un objet string
System.out.println(s.indexOf("l"));
System.out.println(s.indexOf("owo"));
System.out.println(s.indexOf("ak"));
System.out.println("--------");
//String substring(int start):DestartCommence à tronquer la chaîne
System.out.println(s.substring(0));
System.out.println(s.substring(5));
System.out.println("--------");
//String substring(int start,int end):DestartC'est parti.,ÀendFin de la chaîne d'interception
System.out.println(s.substring(0, s.length()));
System.out.println(s.substring(3,8));
}
}

4.6 StringFonctions de conversion de classe

char[] toCharArray():Convertir une chaîne en un tableau de caractères
String toLowerCase():Convertir une chaîne en minuscule
String toUpperCase():Convertir une chaîne en majuscules

CAS

public class StringDemo {

public static void main(String[] args) {

//Créer un objet de chaîne
String s = "abcde";
//char[] toCharArray():Convertir une chaîne en un tableau de caractères
char[] chs = s.toCharArray();
for(int x=0; x<chs.length; x++) {

System.out.println(chs[x]);
}
System.out.println("-----------");
//String toLowerCase():Convertir une chaîne en minuscule
System.out.println("HelloWorld".toLowerCase());
//String toUpperCase():Convertir une chaîne en majuscules
System.out.println("HelloWorld".toUpperCase());
}
}

4.7 String Autres fonctions de la classe

CAS

//Supprimer les espaces aux deux extrémités de la chaîne String trim()
//Diviser la chaîne par le symbole spécifié String[] split(String str)
public class StringDemo {

public static void main(String[] args) {

//Créer un objet de chaîne
String s1 = "helloworld";
String s2 = " helloworld ";
String s3 = " hello world ";
System.out.println("---"+s1+"---");
System.out.println("---"+s1.trim()+"---");
System.out.println("---"+s2+"---");
System.out.println("---"+s2.trim()+"---");
System.out.println("---"+s3+"---");
System.out.println("---"+s3.trim()+"---");
System.out.println("-------------------");
//String[] split(String str)
//Créer un objet de chaîne
String s4 = "aa,bb,cc";
String[] strArray = s4.split(",");
for(int x=0; x<strArray.length; x++) {

System.out.println(strArray[x]);
}
}
}
版权声明:本文为[Vers le Haut]所创,转载请带上原文链接,感谢。 https://javamana.com/2022/01/202201080601056486.html