Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

Nombre et chaîne

Weixin 39730971 2022-01-15 04:45:17 阅读数:7 评论数:0 点赞数:0 收藏数:0

Emballage et déballage

1.Classe d'emballage

Tous lesType de base,Il y a des correspondancesType de classe 
Par exemple,intLa classe correspondante estInteger 
Cette classe s'appelle la classe d'emballage.


2.NumberCatégorie

La classe d'emballage numérique comprend: 
Byte,Short,Integer,Long,Float,Double 
Ce sont des classes abstraites.NumberSous - classe



3.Type de base

        int i = 5;
 
        //Conversion du type de base en type d'emballage
        Integer it = new Integer(i);

4.Type d'emballage au type de base

        int i = 5;
 
        //Conversion du type de base en type d'emballage
        Integer it = new Integer(i);
         
        // Conversion du type d'emballage en type de base
        int i2 = it.intValue();

5.Emballage automatique

Pas besoin d'appeler la méthode de construction,Adoption=SymboleAutomatiquePrends ça. Type de base Convertir en Type de classe Ça s'appelle l'emballage.

        int i = 5;
 
        //Conversion du type de base en type d'emballage
        Integer it = new Integer(i);
         
        // La conversion automatique s'appelle Boxing
        Integer it2 = i;

6.Déballage automatique

Pas besoin d'appelerIntegerDeintValueMéthodes,Adoption= Est automatiquement converti en intType, On appelle ça déballer.

        int i = 5;
  
        Integer it = new Integer(i);
          
        // Conversion du type d'emballage en type de base
        int i2 = it.intValue();
         
        // La conversion automatique est appelée déballage
        int i3 = it;

7.intValeur maximale de,Minimum

int La valeur maximale peut être obtenue par sa classe d'emballage correspondante Integer.MAX_VALUEAccès






Conversion de chaîne

1.Conversion numérique en chaîne

Méthodes1: UtiliserStringMéthode statique de la classevalueOf 
Méthodes2: Emballez d'abord le type de base comme objet ,Puis appelez l'objettoString
         int i = 5 ;
         
         //Méthodes1
         String str = String.valueOf(i);
         
         //Méthodes2
         Integer it = i;
         String str2 = it.toString();

2.Chaîne en nombre
AppelezIntegerMéthode statiqueparseInt
         String str = "999" ;
         
         int i= Integer.parseInt(str);
         
         System.out.println(i);





Méthodes mathématiques
java.lang.Math Quelques méthodes mathématiques couramment utilisées sont fournies , Et ils existent tous sous forme de méthodes statiques

Chiffres arrondis, Nombre aléatoire,Parti de départ,Secondaire,π,Constante naturelle
         float f1 = 5 .4f;
         float f2 = 5 .5f;
         //5.4 Les chiffres arrondis sont les suivants: 5
         System.out.println(Math.round(f1));
         //5.5 Les chiffres arrondis sont les suivants: 6
         System.out.println(Math.round(f2));
         
         //J'en ai un.0-1Nombre aléatoire de points flottants entre(Impossible de récupérer1)
         System.out.println(Math.random());
         
         //J'en ai un.0-10Un entier aléatoire entre (Impossible de récupérer10)
         System.out.println(( int )( Math.random()* 10 ));
         //Parti de départ
         System.out.println(Math.sqrt( 9 ));
         //Secondaire(2De4Secondaire)
         System.out.println(Math.pow( 2 , 4 ));
         
         //π
         System.out.println(Math.PI);
         
         //Constante naturelle
         System.out.println(Math.E);

Exercice:
Les statistiques montrent qu'à moins de 10 millions , Combien de nombres premiers

Concept de nombres premiers : Seulement par1Un nombre divisé par lui - même
Exemples:
5Seulement par 1Et5Effacer, Donc C'est un nombre premier
8Peut être2Effacer, Donc ce n'est pas un nombre premier






Formatage de la sortie
1.Formatage de la sortie
Si vous n'utilisez pas la sortie formatée , Une connexion à chaîne est nécessaire , S'il y a plus de variables , L'épissage peut sembler fastidieux
Utiliser la sortie formatée , Pour être simple et clair

%s Représente la chaîne
%d Représente un nombre
%n Indique une nouvelle ligne

         String name = "Galen." ;
         int kill = 8 ;
         String title= "Super." ;
         
         //Utilisation directe+Faire une connexion de chaîne, L'encodage serait fastidieux , Mauvaise Maintenance ,Mauvaise lisibilité
         String sentence = name+ " En continu " + kill + " Après le deuxième meurtre ,J'ai " + title + " Le titre de" ;
         
         System.out.println(sentence);
         
         // Utiliser la sortie formatée
         //%sReprésente la chaîne,%dReprésente un nombre,%nIndique une nouvelle ligne
         String sentenceFormat = "%s En continu %d Après le deuxième meurtre ,J'ai %s Le titre de%n" ;
         System.out.printf(sentenceFormat,name,kill,title);

2.printfEtformat
printfEtformat Capable d'obtenir exactement le même effet , AdoptioneclipseVoirjavaCode source Je vois.,InprintfAppelé directement dansformat



3.Nouvelle ligne
Nouvelle ligne C'est une autre ligne. --- '\n' Nouvelle ligne(newline)
Entrée Est de revenir au début d'une ligne --- '\r' Retour à la voiture(return)
Ineclipse Il y en a un qui rentre. ,En fait, oui. Retour au saut de ligne
Java Est le langage de programmation multiplateforme ,Le même code, Disponible sur différentes plateformes ,Par exemple,Windows,Linux,Mac
Mais dans différents systèmes d'exploitation , Les sauts de ligne sont différents
(1)InDOSEtWindowsMoyenne,Chaque ligne se termine par “\r\n”;
(2)LinuxDans le système,Chaque ligne se termine par “\n”;
(3)MacDans le système, Chaque ligne se termine par "\r".
Pour que le même java .Les sauts de ligne d'un programme se comportent de la même façon dans tous les systèmes d'exploitation ,Utiliser%n, Vous pouvez faire des sauts de ligne indépendants de la plateforme

4.Longueur totale,Aligner à gauche,Supplément0,Séparateur de milliers,Nombre de décimales, Expression localisée
Autres formats couramment utilisés
         int year = 2020 ;
         //Longueur totale,Aligner à gauche,Supplément0,Séparateur de milliers,Nombre de décimales, Expression localisée
          
         // Impression directe des chiffres
         System.out.format( "%d%n" ,year);
         //La longueur totale est8,Alignement par défaut à droite
         System.out.format( "%8d%n" ,year);
         //La longueur totale est8,Aligner à gauche
         System.out.format( "%-8d%n" ,year);
         //La longueur totale est8,Pas assez.0
         System.out.format( "%08d%n" ,year);
         //Séparateur de milliers
         System.out.format( "%,8d%n" ,year* 10000 );
  
         //Nombre de décimales
         System.out.format( "%.2f%n" ,Math.PI);
          
         // Séparateur de milliers pour différents pays
         System.out.format(Locale.FRANCE, "%,.2f%n" ,Math.PI* 10000 );
         System.out.format(Locale.US, "%,.2f%n" ,Math.PI* 10000 );
         System.out.format(Locale.UK, "%,.2f%n" ,Math.PI* 10000 );
          






Les caractères
1. Enregistrer un caractère avec char
Lettres、Les caractères、Les caractères chinois

2.charClasse d'emballage correspondante
char La classe d'emballage correspondante est Character

3.CharacterMéthodes courantes
         System.out.println(Character.isLetter( 'a' )); //Déterminer s'il s'agit d'une lettre
         System.out.println(Character.isDigit( 'a' )); //Déterminer s'il s'agit d'un nombre
         System.out.println(Character.isWhitespace( ' ' )); //Si c'est vide
         System.out.println(Character.isUpperCase( 'a' )); // En majuscules ou non
         System.out.println(Character.isLowerCase( 'a' )); // Minuscule ou non
         
         System.out.println(Character.toUpperCase( 'a' )); //Convertir en majuscules
         System.out.println(Character.toLowerCase( 'A' )); //Convertir en minuscule
 
         String a = 'a' ; // Impossible de convertir un caractère directement en chaîne
         String a2 = Character.toString( 'a' ); //Convertir en chaîne


4. évasion courante
         System.out.println( " L'utilisation d'espaces ne permet pas d'obtenir l'effet d'alignement " );
         System.out.println( "abc def" );
         System.out.println( "ab def" );
         System.out.println( "a def" );
          
         System.out.println( "Utiliser\\t Les onglets peuvent être alignés " );
         System.out.println( "abc\tdef" );
         System.out.println( "ab\tdef" );
         System.out.println( "a\tdef" );
         
         System.out.println( "Un\\t La longueur de l'onglet est 8" );
         System.out.println( "12345678def" );
          
         System.out.println( "Nouvelle ligne \\n" );
         System.out.println( "abc\ndef" );
 
         System.out.println( "Guillemets simples \\'" );
         System.out.println( "abc\'def" );
         System.out.println( "Guillemets doubles \\\"" );
         System.out.println( "abc\"def" );
         System.out.println( "La barre oblique elle - même \\" );
         System.out.println( "abc\\def" );






String
1.Créer une chaîne
Une chaîne est une combinaison de caractères ,InJavaMoyenne, La chaîne est une classe , Donc toutes les chaînes que nous voyons sont des objets  
Méthodes courantes de création de chaînes : 
1. Chaque fois qu'il y en a un Valeur nominaleQuand il est apparu, La machine virtuelle crée une chaîne  
2. AppelezString La méthode de construction pour créer un objet string  
3. Adoption+ Le signe plus pour l'épissage de chaîne crée également un nouvel objet de chaîne  

2.final
String Modifié comme suit:final,Il ne peut donc pas être hérité.

3.immutable  
immutable C'est - à - dire immuable
Comme créer un objet string
String garen ="Galen.";
Non modifiable Le sens spécifique de :
Impossible d'augmenter la longueur
Impossible de réduire la longueur
Impossible d'insérer des caractères
Impossible de supprimer les caractères
Impossible de modifier les caractères
Une fois cette chaîne créée ,Le contenu  Pour toujours. Ça ne peut pas changer.

String On dirait un Constante

4.Formatage des chaînes
Si vous n'utilisez pas de formatage de chaîne , Une connexion à chaîne est nécessaire , S'il y a plus de variables , L'épissage peut sembler fastidieux  
Utiliser Formatage des chaînes ,C'est tout. Simplicité et clarté  
Plus de règles de formatage ,RÉFÉRENCES Formatage de la sortie

5.Longueur de la chaîne
length La méthode renvoie la longueur de la chaîne courante  
Peut avoir une longueur de 0La chaîne de, Chaîne vide

Exercice:
(1)Chaîne aléatoire
Créer une longueur est 5Chaîne aléatoire pour, Les caractères aléatoires peuvent être des nombres , Lettres majuscules ou minuscules

Donne un indice:  Les chiffres et les caractères peuvent être convertis entre eux
char c = 'A';
short s = (short) c;

Les caractères peuvent être connus par ce moyen a-z A-Z 0-9 L'intervalle du nombre correspondant est

Besoin d'utiliser ASCIICodeTableau comparatif

(2) Tri des tableaux de chaînes
Créer une longueur est 8Un tableau de chaînes pour
Utiliser8La longueur est5 Initialiser ce tableau avec une chaîne aléatoire de
Trier ce tableau, Trier par initiales de chaque chaîne ( Ignorer le cas )

Note:1: Non disponibleArrays.sort() Écris - le toi - même.
Note:2: Ignorer le cas ,C'est - à - dire: Axxxx Et axxxxx Il n'y a pas d'ordre

(3 ) La méthode de l'épuisement pour déchiffrer le Code
1. Générer une longueur est 3DeChaîne aléatoire, Prenez cette chaîne comme mot de passe

2. La longueur générée à l'aide de la méthode d'épuisement est 3Chaîne (s), Correspond au mot de passe généré ci - dessus

Exigences: Utiliser plusieurs couches séparément forCycle Et Résoudre Récursivement les problèmes ci - dessus






Chaîne de manipulation
1.Obtenir des caractères
charAt(int index)Obtient les caractères à l'emplacement spécifié

2. Obtenir le tableau de caractères correspondant
toCharArray()
Obtenir le tableau de caractères correspondant

3.Tronquer une chaîne
subString 
Tronquer la Sous - chaîne

4.Séparation
split 
Séparer par un séparateur

5. Supprimer les espaces de fermeture
trim 
Supprimer les espaces avant et arrière

6.Case
toLowerCase Tout devient minuscule  
toUpperCase Tout devient majuscule

7.Positionnement
indexOf Déterminer où un caractère ou une sous - chaîne apparaît
contains Inclure des sous - chaînes

8.Remplacer
replaceAll Remplacer tous 
replaceFirst Remplacer seulement le premier

Exercice......
Les initiales de chaque mot sont converties en majuscules
Ordre de contournement en anglais
Mode majuscules et minuscules espacées
La dernière lettre devient majuscule
Prends le dernier.twoMajuscules initiales





Comparer les chaînes
1.Si c'est le même objet
str1Etstr2 Le contenu doit être le même ! 
Mais, Ce n'est pas le même objet de chaîne

         String str1 = "the light" ;
         
         String str2 = new String(str1);
         
         //== Utilisé pour déterminer si c'est le même objet de chaîne
         System.out.println( str1  ==  str2);

2.Si c'est le même objet(Cas particuliers
str1 = "the light";
str3 = "the light";

En général, Chaque fois que le compilateur touche la valeur littérale d'une chaîne ,Crée un nouvel objet
Donc, à la pagestr1 La guilde a créé une nouvelle chaîne "the light"
Mais à lastr3D'accord, Le compilateur a trouvé que "the light", Alors utilisez - le directement , Sans duplication
         String str1 = "the light" ;
         String str3 = "the light" ;
         System.out.println( str1  ==  str3);

3.Si le contenu est le même
Utiliserequals Comparer le contenu de la chaîne , Doit être identique à la casse  
equalsIgnoreCase, Ignorer le cas pour déterminer si le contenu est cohérent

4. Début ou fin d'une sous - chaîne
startsWith //Par...C'est parti.
endsWith //Par...Fin


Exercice: Comparer les chaînes
Créer une longueur est 100Un tableau de chaînes pour
La longueur d'utilisation est 2 Le tableau de chaînes est rempli de caractères aléatoires de
Compte dans ce tableau de chaînes Combien de types de chaînes sont dupliquées






StringBuffer
StringBuffer Est une chaîne de longueur variable

1.Annexe Supprimer Insérer Inversion
appendAnnexe 
delete Supprimer 
insert Insérer 
reverse Inversion

2.Longueur Capacité
PourquoiStringBuffer Peut être plus long ? 
EtString À l'intérieur, il y a un tableau de caractères C'est pareil,StringBuffer Un tableau de caractères est également maintenu . Mais, Ce tableau de caractères , Longueur redondante réservée  
Par exemple,new StringBuffer("the"), La longueur du tableau de caractères à l'intérieur ,- Oui.19,Au lieu de3, Ceci appelle l'insertion et l'ajout , Sur la base d'un tableau prêt à l'emploi . 
Si la longueur ajoutée dépasse 19, Un nouveau tableau sera attribué , Plus long que l'original , Copier les données originales dans un nouveau tableau ,On dirait.  Le tableau devient plus long RÉFÉRENCESMyStringBuffer 
length: “the”Longueur 3 
capacity: Espace total alloué 19

Exercice:
(1)StringBuffer Performance
StringAvecStringBufferLa différence de performance?

Générer10Chaîne aléatoire de longueur de bit
Et puis,Utilisez d'abordStringDe+,Connexion10000 Chaînes aléatoires , Calculer le temps écoulé
Et puis,RéutiliserStringBufferConnexion10000 Chaînes aléatoires , Calculer le temps écoulé

Conseils: UtiliserSystem.currentTimeMillis() Obtenir l'heure actuelle(MS)

(2)MyStringBuffer
Selon l'interfaceIStringBuffer ,Fais - en un toi - même.MyStringBuffer







MyStringBuffer
1.IStringBufferInterface
public interface IStringBuffer {
     public void append(String str); //Ajouter une chaîne
     public void append( char c);  //Ajouter des caractères
     public void insert( int pos, char b); // Insérer des caractères à la position spécifiée
     public void insert( int pos,String b); // Spécifiez un emplacement pour insérer une chaîne
     public void delete( int start); // Supprimer le reste de
     public void delete( int start, int end); // Supprimer la position de fin de la position de départ -1
     public void reverse(); //Inversion
     public int length(); //Longueur de retour
}

2.valueEtcapacity
value: Pour stocker un tableau de caractères
capacity: Capacité
Méthode de construction sans paramètres: Initialisation en fonction de la capacité value
public MyStringBuffer(){
value = new char[capacity];
}

3.Méthode de construction paramétrique

4.Inversion

5.InsérerinsertEtappend
Jugement sur les conditions limites
Avant insertion, La première chose à juger est quelques Conditions limites . Par exemple, si la position d'insertion est légale , La chaîne insérée est - elle vide

Expansion de la capacité
1. Pour déterminer si Expansion de la capacité. Si la longueur totale de la chaîne insérée plus le contenu existant dépasse la capacité , Alors il faut agrandir .
2. La longueur du tableau est fixe,Impossible à changer, Le tableau lui - même ne supporte pas Expansion de la capacité. Nous utilisons des méthodes alternatives pour résoudre ce problème .
3. Longueur de la chaîne à insérer selon les besoins et longueur du contenu existant , Calculer une nouvelle capacité . Et selon cette capacité ,Créer un nouveau tableau, Ensuite, vous mettez le contenu du tableau original , Copier dans ce nouveau tableau .Et laisservalueCette citation,Pointer vers un nouveau tableau,Pour atteindreExpansion de la capacitéEffets de.

Insérer une chaîne
1. Trouver l'emplacement où insérer la chaîne ,À partir de là., Prendre les données originales Regarde deux paragraphes. , Déplacez la moitié arrière d'une distance , Cette distance correspond exactement à la longueur de la chaîne insérée
2. Puis insérez les données à insérer , Insérez ceci et retirez - le , Juste en bonne position .

ModifierlengthValeur de
Dernière modificationlengthValeur de, Est la valeur originale plus la longueur de la chaîne insérée

insert(int, char)
L'argument est un caractère insertMéthodes,Par appelinsert(int, String) C'est fait..

append
Annexe, Est d'insérer . Il n'est donc pas nécessaire d'élaborer des méthodes distinctes ,Appel directinsertMéthodes, Pour obtenir l'effet de l'insertion en position finale

6.Supprimer delete




Exercice:Comparaison des performances


Sources ci - dessus : Nombre et chaîne

Copyright statement
In this paper,the author:[Weixin 39730971],Reprint please bring the original link, thank you

编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;

支付宝红包,每日可领