Classe Java BufferedOutputStream

le BufferedOutputStream classe de la java.io package est utilisé avec d’autres flux de sortie pour écrire les données (en octets) plus efficacement.

Il étend le OutputStream classe abstraite.

The BufferedOutputStream class is a subclass of the Java OutputStream.


Fonctionnement de BufferedOutputStream

le BufferedOutputStream maintient un internetampon de 8192 octets.

Pendant l’opération d’écriture, les octets sont écrits dans la mémoire tampon interne au lieu du disque. Une fois le tampon rempli ou le flux fermé, tout le tampon est écrit sur le disque.

Par conséquent, le nombre de communications avec le disque est réduit. C’est pourquoi l’écriture d’octets est plus rapide en utilisant BufferedOutputStream .


Créer un BufferedOutputStream

Afin de créer un BufferedOutputStream , nous devons importer le java.io.BufferedOutputStream paquet en premier. Une fois que nous avons importé le package, voici comment créer le flux de sortie.

 // Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates a BufferedOutputStream
BufferedOutputStream buffer = new BufferOutputStream(file);
 

Dans l’exemple ci-dessus, nous avons créé un BufferdOutputStream nommétamponavec le FileOutputStream nomméfichier.

Ici, la mémoire tampon interne a la taille par défaut de 8192 octets. Cependant, nous pouvons également spécifier la taille du tampon interne.

 // Creates a BufferedOutputStream with specified size internal buffer
BufferedOutputStream buffer = new BufferOutputStream(file, int size);
 

letamponaidera à écrire des octets dans des fichiers plus rapidement.


Méthodes de BufferedOutputStream

le BufferedOutputStream classe fournit des implémentations pour différentes méthodes dans le OutputStream classe.

write (), méthode

  •  write() – écrit un seul octet dans le tampon interne du flux de sortie
  •  write(byte[] array) – écrit les octets du tableau spécifié dans le flux de sortie
  •  write(byte[] arr, int start, int length) – écrit le nombre d’octets égal àlongueurau flux de sortie d’un tableau à partir de la positiondébut

Exemple: BufferedOutputStream pour écrire des données dans un fichier

 import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a line of text inside the file";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream("output.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream output = new BufferedOutputStream(file);

            byte[] array = data.getBytes();

            // Writes data to the output stream
            output.write(array);
            output.close();
        }

        catch (Exception e) {
            e.getStackTrace();
        }
    }
}
 

Dans l’exemple ci-dessus, nous avons créé un flux de sortie tamponné nomméproductionde même que FileOutputStream . Le flux de sortie est lié au fichieroutput.txt.

 FileOutputStream file = new FileOutputStream("output.txt");
BufferedOutputStream output = new BufferedOutputStream(file);
 

Pour écrire des données dans le fichier, nous avons utilisé le write() méthode.

Ici, lorsque nous exécutons le programme, leoutput.txtLe fichier contient le contenu suivant.

 This is a line of text inside the file.
 

Remarque: Le getBytes() La méthode utilisée dans le programme convertit une chaîne en un tableau d’octets.


flush (), méthode

Pour effacer le tampon interne, nous pouvons utiliser le flush() méthode. Cette méthode force le flux de sortie à écrire toutes les données présentes dans la mémoire tampon dans le fichier de destination. Par exemple,

 import java.io.FileOutputStream;
import java.io.BufferedOutputStream;

public class Main {
    public static void main(String[] args) {

        String data = "This is a demo of the flush method";

        try {
            // Creates a FileOutputStream
            FileOutputStream file = new FileOutputStream(" flush.txt");

            // Creates a BufferedOutputStream
            BufferedOutputStream buffer = new BufferedOutputStream(file);

            // Writes data to the output stream
            buffer.write(data.getBytes());

            // Flushes data to the destination
            buffer.flush();
            System.out.println("Data is flushed to the file.");
            buffer.close();
        }

        catch(Exception e) {
            e.getStackTrace();
        }
    }
}
 

Production

Les données sont vidées dans le fichier.

Lorsque nous exécutons le programme, le fichierflush.txtest rempli du texte représenté par la chaîneLes données.


close (), méthode

Pour fermer le flux de sortie mis en mémoire tampon, nous pouvons utiliser le close() 

Programme Kotlin pour convertir une trace de pile en chaîne

Exemple: convertir la trace de pile en chaîne

 import java.io.PrintWriter
import java.io.StringWriter

fun main(args: Array<String>) {

    try {
        val division = 0 / 0
    } catch (e: ArithmeticException) {
        val sw = StringWriter()
        e.printStackTrace(PrintWriter(sw))
        val exceptionAsString = sw.toString()
        println(exceptionAsString)
    }

} 

Lorsque vous exécutez le programme, la sortie sera quelque chose de similaire:

java.lang.ArithmeticException: / par zéro
à StacktraceKt.main (stacktrace.kt: 7)

Dans le programme ci-dessus, nous avons forcé notre programme à lancer ArithmeticException en divisant 0 par 0.

dans le catch bloquer, nous utilisons StringWriter et PrintWriter pour imprimer une sortie donnée dans une chaîne. Nous imprimons ensuite la trace de la pile en utilisant printStackTrace() méthode de l’exception et écrivez-la dans le rédacteur.

Ensuite, nous le convertissons simplement en chaîne en utilisant toString() 

Variables, constantes et littéraux Python

Variables Python

Une variable est un emplacement nommé utilisé pour stocker des données dans la mémoire. Il est utile de considérer les variables comme un conteneur contenant des données pouvant être modifiées ultérieurement dans le programme. Par exemple,

 number = 10
 

Ici, nous avons créé une variable nomméenombre. Nous avons attribué la valeur10à la variable.

Vous pouvez considérer les variables comme un sac pour y ranger des livres et ce livre peut être remplacé à tout moment.

 number = 10
number = 1.1
 

Au départ, la valeur denombreétait10. Plus tard, il a été changé en1.1.

Remarque: En Python, nous n’affectons pas réellement de valeurs aux variables. Au lieu de cela, Python donne la référence de l’objet (valeur) à la variable.


Attribution de valeurs à des variables en Python

Comme vous pouvez le voir dans l’exemple ci-dessus, vous pouvez utiliser l’opérateur d’affectation = pour affecter une valeur à une variable.

Exemple 1: déclarer et attribuer une valeur à une variable

 website = "apple.com"
print(website)
 

Production

apple.com

Dans le programme ci-dessus, nous avons attribué une valeurapple.comà la variablesite Internet. Ensuite, nous avons imprimé la valeur attribuée àsite Internetc’est à dire.apple.com

Remarque: Python est un langage inféré de type, vous n’avez donc pas à définir explicitement le type de variable. Il sait automatiquement queapple.comest une chaîne et déclare lesite Internetvariable sous forme de chaîne.


Exemple 2: Modification de la valeur d’une variable

 website = "apple.com"
print(website)

# assigning a new variable to website
website = "programiz.com"

print(website)
 

Production

apple.com
programiz.com

Dans le programme ci-dessus, nous avons attribuéapple.comà lasite Internetvariable initialement. Ensuite, la valeur est modifiée enprogramiz.com.


Exemple 3: attribution de plusieurs valeurs à plusieurs variables

 a, b, c = 5, 3.2, "Hello"

print (a)
print (b)
print (c)
 

Si nous voulons affecter la même valeur à plusieurs variables à la fois, nous pouvons le faire comme suit:

 x = y = z = "same"

print (x)
print (y)
print (z)
 

Le deuxième programme attribue lemêmechaîne aux trois variablesX, yetz.


Constantes

Une constante est un type de variable dont la valeur ne peut pas être modifiée. Il est utile de considérer les constantes comme des conteneurs contenant des informations qui ne peuvent pas être modifiées ultérieurement.

Vous pouvez considérer les constantes comme un sac pour stocker des livres qui ne peuvent pas être remplacés une fois placés à l’intérieur du sac.


Attribuer une valeur à une constante en Python

En Python, les constantes sont généralement déclarées et affectées dans un module. Ici, le module est un nouveau fichier contenant des variables, des fonctions, etc. qui est importé dans le fichier principal. À l’intérieur du module, les constantes sont écrites en majuscules et des traits de soulignement séparant les mots.

Exemple 3: déclarer et attribuer une valeur à une constante

Créer unconstant.py:

 PI = 3.14
GRAVITY = 9.8
 

Créer unmain.py:

 import constant

print(constant.PI)
print(constant.GRAVITY)
 

Production

3.14
9.8

Dans le programme ci-dessus, nous créons unconstant.pyfichier de module. Ensuite, nous attribuons la valeur constante àPIetGRAVITY. Après cela, nous créons unmain.pyfichier et importez le constant module. Enfin, nous imprimons la valeur constante.

Remarque: En réalité, nous n’utilisons pas de constantes en Python. Les nommer en toutes lettres majuscules est une convention pour les séparer des variables, cependant, cela n’empêche pas réellement la réaffectation.


Règles et convention de dénomination pour les variables et les constantes

  1. Les noms de constante et de variable doivent avoir une combinaison de lettres en minuscules (de a à z) ou en majuscules (De A à Z) ou des chiffres (0 à 9) ou un trait de soulignement (_). Par exemple:
    snake_case
    MACRO_CASE
    affaire de chameau
    CapWords
  2. Créez un nom qui a du sens. Par exemple,voyellea plus de sens quev.
  3. Si vous souhaitez créer un nom de variable comportant deux mots, utilisez un trait de soulignement pour les séparer. Par exemple:
    mon nom
    salaire actuel
  4. Utilisez des majuscules possibles pour déclarer une constante. Par exemple:
    PI
    G
    MASS
    SPEED_OF_LIGHT
    TEMP
  5. N’utilisez jamais de symboles spéciaux comme!, @, #, $,%, Etc.
  6. Ne commencez pas un nom de variable par un chiffre.

Littéraux

Le littéral est une donnée brute donnée dans une variable ou une constante. En Python, il existe différents types de littéraux, ils sont les suivants:

Littéraux numériques

Les littéraux numériques sont immuables (inchangeables). Les littéraux numériques peuvent appartenir à 3 types numériques différents: Integer ,  Float , et Complex .

Exemple 4: Comment utiliser les littéraux numériques en Python?

 a = 0b1010 #Binary Literals
b = 100 #Decimal Literal 
c = 0o310 #Octal Literal
d = 0x12c #Hexadecimal Literal

#Float Literal
float_1 = 10.5 
float_2 = 1.5e2

#Complex Literal 
x = 3.14j

print(a, b, c, d)
print(float_1, float_2)
print(x, x.imag, x.real)
 

Production

10 100 200 300
10,5 150,0
3,14j 3,14 0,0

Dans le programme ci-dessus,

  • Nous avons attribué des littéraux entiers dans différentes variables. Ici,uneest un littéral binaire,best un littéral décimal,cest un littéral octal etest un littéral hexadécimal.
  • Lorsque nous imprimons les variables, tous les littéraux sont convertis en valeurs décimales.
  • 10.5et1,5e2sont des littéraux à virgule flottante.1,5e2est exprimé avec exponentiel et équivaut à1.5 * 102.
  • Nous avons attribué un littéral complexe, c’est-à-dire3.14jen variableX. Ensuite, nous utilisonsimaginairelittéral (x.imag) etréellittéral (x.real) pour créer des parties imaginaires et réelles de nombres complexes.

Pour en savoir plus sur les littéraux numériques, reportez-vous à Numéros Python.


Littéraux de chaîne

Un littéral de chaîne est une séquence de caractères entourés de guillemets. Nous pouvons utiliser des guillemets simples, doubles ou triples pour une chaîne. Et, un littéral de caractère est un caractère unique entouré de guillemets simples ou doubles.

Exemple 7: Comment utiliser des chaînes littérales en Python?

 strings = "This is Python"
char = "C"
multiline_str = """This is a multiline string with more than one line code."""
unicode = u"\u00dcnic\u00f6de"
raw_str = r"raw \n string"

print(strings)
print(char)
print(multiline_str)
print(unicode)
print(raw_str)
 

Production

C'est Python
C
Il s'agit d'une chaîne multiligne avec plus d'un code de ligne.
Ünicöde
chaîne brute \ n

Dans le programme ci-dessus,C’est Pythonest une chaîne littérale etCest un caractère littéral.

La valeur entre guillemets triples """ assigné aumultiline_strest un littéral de chaîne multiligne.

La ficelleu « \ u00dcnic \ u00f6de »est un littéral Unicode qui prend en charge les caractères autres que l’anglais. Dans ce cas,\ u00dcreprésente Ü et\ u00f6représente ö .

r « chaîne \ n brute »est un littéral de chaîne brute.


Littéraux booléens

Un littéral booléen peut avoir l’une des deux valeurs: True ou False .

Exemple 8: Comment utiliser des littéraux booléens en Python?

 x = (1 == True)
y = (1 == False)
a = True + 4
b = False + 10

print("x is", x)
print("y is", y)
print("a:", a)
print("b:", b)
 

Production

x est vrai
y est faux
a: 5
b: 10

Dans le programme ci-dessus, nous utilisons un littéral booléen True et False . En Python, True représente la valeur comme1et False comme0. La valeur deXest True car1est égal à True . Et, la valeur deyest False car1n’est pas égal à False .

De même, nous pouvons utiliser le True et False dans les expressions numériques comme valeur. La valeur deuneest5parce que nous ajoutons True qui a une valeur de1avec4. De même,best10parce que nous ajoutons le False ayant une valeur de0avec10.


Littéraux spéciaux

Python contient un littéral spécial, c’est-à-dire None . Nous l’utilisons pour spécifier que le champ n’a pas été créé.

Exemple 9: Comment utiliser des littéraux spéciaux en Python?

 drink = "Available"
food = None

def menu(x):
    if x == drink:
        print(drink)
    else:
        print(food)

menu(drink)
menu(food)
 

Production

Disponible
Aucun

Dans le programme ci-dessus, nous définissons un menu fonction. À l’intérieur menu , lorsque nous définissons l’argument comme drink puis, il affiche Available . Et, quand l’argument est food , il affiche None .


Collections littérales

Il existe quatre collections littérales différentes: List literals, Tuple literals, Dict literals et Set literals.

Exemple 10: Comment utiliser des collections littérales en Python?

 fruits = ["apple", "mango", "orange"] #list
numbers = (1, 2, 3) #tuple
alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #dictionary
vowels = {'a', 'e', 'i' , 'o', 'u'} #set

print(fruits)
print(numbers)
print(alphabets)
print(vowels)
 

Programme Java pour calculer la puissance d’un nombre

Exemple 1: calculer la puissance d’un nombre en utilisant une boucle while

 public class Power {

    public static void main(String[] args) {

        int base = 3, exponent = 4;

        long result = 1;

        while (exponent != 0)
        {
            result *= base;
            --exponent;
        }

        System.out.println("Answer = " + result);
    }
} 

Lorsque vous exécutez le programme, la sortie sera:

Réponse = 81

Dans ce programme,baseetexposantreçoivent respectivement les valeurs 3 et 4.

En utilisant la boucle while, nous continuons à multiplierrésultatparbasejusqu’à ce queexposantdevient zéro.

Dans ce cas, on multiplierésultatpar base 4 fois au total, doncrésultat = 1 * 3 * 3 * 3 * 3 = 81.


Exemple 2: Calculer la puissance d’un nombre à l’aide d’une boucle for

 public class Power {

    public static void main(String[] args) {

        int base = 3, exponent = 4;

        long result = 1;

        for (;exponent != 0; --exponent)
        {
            result *= base;
        }

        System.out.println("Answer = " + result);
    }
} 

Lorsque vous exécutez le programme, la sortie sera:

Réponse = 81

Ici, au lieu d’utiliser une boucle while, nous avons utilisé une boucle for.

Après chaque itération,exposantest décrémenté de 1, etrésultatest multiplié parbase exposantnombre de fois.

Les deux programmes ci-dessus ne fonctionnent pas si vous avez un exposant négatif. Pour cela, vous devez utiliser la fonction pow () dans la bibliothèque standard Java.


Exemple 3: Calculer la puissance d’un nombre en utilisant la fonction pow ()

 public class Power {

    public static void main(String[] args) {

        int base = 3, exponent = -4;
        double result = Math.pow(base, exponent);

        System.out.println("Answer = " + result);
    }
} 

Lorsque vous exécutez le programme, la sortie sera:

Réponse = 0,012345679012345678

Dans ce programme, nous utilisons Java Math.pow() 

Classe statique imbriquée Java

Comme appris dans les didacticiels précédents, nous pouvons avoir une classe dans une autre classe en Java. Ces classes sont appelées classes imbriquées. En Java, les classes imbriquées sont de deux types:

  • Classe non statique imbriquée (classe interne)
  • Classe statique imbriquée.

Nous avons déjà discuté des classes internes dans le tutoriel précédent. Visitez Java Nested Class si vous souhaitez en savoir plus sur les classes internes.

Dans ce didacticiel, nous allons découvrir les classes statiques imbriquées.


Classe statique imbriquée Java

Nous utilisons le mot-clé static pour rendre notre classe imbriquée statique.

Remarque:En Java, seules les classes imbriquées sont autorisées à être statiques.

Comme les classes régulières, les classes imbriquées statiques peuvent inclure des champs et des méthodes à la fois statiques et non statiques. Par exemple,

 Class Animal {
   static class Mammal {
      // static and non-static members of Mammal
   }
   // members of Animal
} 
 

Les classes imbriquées statiques sont associées à la classe externe.

Pour accéder à la classe imbriquée statique, nous n’avons pas besoin d’objets de la classe externe.


Exemple: classe imbriquée statique

 class Animal {

// inner class
   class Reptile {
      public void displayInfo() {
        System.out.println("I am a reptile.");
      }
   }

// static class
   static class Mammal {
      public void displayInfo() {
        System.out.println("I am a mammal.");
      }
   }
}

class Main {
   public static void main(String[] args) {
      // object creation of the outer class
      Animal animal = new Animal();

      // object creation of the non-static class
      Animal.Reptile reptile = animal.new Reptile();
      reptile.displayInfo();

      // object creation of the static nested class
      Animal.Mammal mammal = new Animal.Mammal();
      mammal.displayInfo();

   }
}
 

Production

Je suis un reptile.
Je suis un mammifère.

Dans le programme ci-dessus, nous avons deux classes imbriquéesMammifèreetReptiledans une classeAnimal.

Pour créer un objet de la classe non statique Reptile, nous avons utilisé

 Animal.Reptile reptile = animal.new Reptile()
 

Pour créer un objet de la classe statiqueMammifère, nous avons utilisé

 Animal.Mammal mammal = new Animal.Mammal()
 

Accès aux membres de la classe externe

En Java, les classes imbriquées statiques sont associées à la classe externe. C’est pourquoi les classes imbriquées statiques ne peuvent accéder qu’aux membres de la classe (champs et méthodes statiques) de la classe externe.

Voyons ce qui se passera si nous essayons d’accéder aux champs et méthodes non statiques de la classe externe.

Exemple: accès aux membres non statiques

 class Animal {
  static class Mammal {
   public void displayInfo() {
     System.out.println("I am a mammal.");
   }
 }

 class Reptile {
   public void displayInfo() {
     System.out.println("I am a reptile.");
   }
 }

 public void eat() {
   System.out.println("I eat food.");
 }
}

class Main {
 public static void main(String[] args) {
   Animal animal = new Animal();
   Animal.Reptile reptile = animal.new Reptile();
   reptile.displayInfo();

   Animal.Mammal mammal = new Animal.Mammal();
   mammal.displayInfo();
   mammal.eat();
 }
}
 

Production

Main.java:28: erreur: impossible de trouver le symbole
    mammifère.eat ();
          ^
  symbole: méthode manger ()
  localisation: mammifère variable de type Mammifère
1 erreur
état de sortie du compilateur 1

Dans l’exemple ci-dessus, nous avons créé une méthode non statique eat() à l’intérieur de la classeAnimal.

Maintenant, si nous essayons d’accéder eat() en utilisant l’objetmammifère, le compilateur affiche une erreur.

C’est parce quemammifèreest un objet d’une classe statique et nous ne pouvons pas accéder aux méthodes non statiques à partir de classes statiques.


Classe statique de premier niveau

Comme mentionné ci-dessus, seules les classes imbriquées peuvent être statiques. Nous ne pouvons pas avoir de classes statiques de premier niveau.

Voyons ce qui se passera si nous essayons de rendre statique une classe de haut niveau.

 static class Animal {
public static void displayInfo() {
System.out.println("I am an animal");
}
}

class Main {
public static void main(String[] args) {
Animal.displayInfo();
}
}
 

Programme Kotlin pour inverser un nombre

Exemple: inverser un nombre dans Kotlin

 fun main(args: Array<String>) {
    var num = 1234
    var reversed = 0

    while (num != 0) {
        val digit = num % 10
        reversed = reversed * 10 + digit
        num /= 10
    }

    println("Reversed Number: $reversed")
} 

Lorsque vous exécutez le programme, la sortie sera:

Numéro inversé: 4321

Dans ce programme, la boucle while est utilisée pour inverser un nombre comme indiqué dans les étapes suivantes:

  • Premièrement, le reste denumdivisé par 10 est stocké dans la variablechiffre. Maintenant,chiffrecontient le dernier chiffre denum, soit 4.
    chiffreest ensuite ajoutée à la variable inversée après l’avoir multipliée par 10. La multiplication par 10 ajoute une nouvelle place dans le nombre inversé. Une place multipliée par 10 vous donne la dixième place, la dixième vous donne le centième et ainsi de suite. Dans ce cas,renversécontient 0 * 10 + 4 = 4.
    numest ensuite divisé par 10 de sorte qu’il ne contienne plus que les trois premiers chiffres: 123.
  • Après la deuxième itération,chiffrevaut 3,renversévaut 4 * 10 + 3 = 43 etnum = 12
  • Après la troisième itération,chiffrevaut 2,renversévaut 43 * 10 + 2 = 432 etnum = 1
  • Après la quatrième itération,chiffrevaut 1,renversévaut 432 * 10 + 1 = 4321 etnum = 0
  • Maintenantnum= 0, donc l’expression de test num != 0 

Tableaux Java

Un tableau est une collection de types de données similaires. C’est un conteneur qui contient des données (valeurs) d’un seul type. Par exemple, vous pouvez créer un tableau pouvant contenir 100 valeurs de int type.

En Java, les tableaux sont une construction fondamentale qui vous permet de stocker et d’accéder à un grand nombre de valeurs conventionnelles.


Comment déclarer un tableau?

En Java, voici comment déclarer un tableau.

 dataType[] arrayName; 
  • Type de données– il peut s’agir de types de données primitifs comme int ,  char ,  double ,  byte , etc. ou objets Java
  • arrayName– c’est un identifiant

Prenons un exemple,

 double[] data; 

Ici,Les donnéesest un tableau qui peut contenir des valeurs de type double .

Mais combien d’éléments peuvent contenir ce tableau?

Bonne question! Nous devons allouer de la mémoire pour le tableau. La mémoire définira le nombre d’éléments que le tableau peut contenir.

 data = new Double[10]; 

Ici, la taille du tableau est de 10. Cela signifie qu’il peut contenir 10 éléments (10 double types valeurs). La taille d’un tableau est également appelée longueur d’un tableau.

Remarque: Une fois la longueur du tableau définie, elle ne peut pas être modifiée dans le programme.

Prenons un autre exemple:

 int[] age;
age = new int[5]; 

Ici,âgeest un tableau. Il peut contenir 5 valeurs de int type.

En Java, nous pouvons déclarer et allouer la mémoire d’un tableau en une seule instruction. Par exemple,

 int[] age = new int[5]; 

Index des baies Java

En Java, chaque élément d’un tableau est associé à un nombre. Le nombre est appelé index de tableau. Nous pouvons accéder aux éléments d’un tableau en utilisant ces indices. Par exemple,

 int[] age = new int[5]; 
Java array index
Index des baies Java

Ici, nous avons un tableau de longueur 5. Dans l’image, nous pouvons voir que chaque élément est constitué d’un nombre (index du tableau). Les indices du tableau commencent toujours à 0.

Maintenant, nous pouvons utiliser le numéro d’index pour accéder aux éléments du tableau. Par exemple, pour accéder au premier élément du tableau, nous pouvons utiliser age[0] , et le deuxième élément est accessible en utilisant age[1] etc.

Remarque: Si la longueur d’un tableau estn, le premier élément du tableau sera arrayName [0] et le dernier élément sera arrayName[n-1] .

Si nous n’avons stocké aucune valeur dans un tableau, le tableau stockera une valeur par défaut ( 0 pour int type et false pour boolean type) par lui-même. Par exemple,

 class ArrayExample {
    public static void main(String[] args) {
    
        // create an array of length 5  
        int[] age = new int[5];
     
        // access each element of the array using the index number 
        System.out.println(age[0]);
        System.out.println(age[1]);
        System.out.println(age[2]);
        System.out.println(age[3]);
        System.out.println(age[4]);
    }
} 

Production:

0
0
0
0
0

Dans l’exemple ci-dessus, nous avons créé un tableau nommé age. Cependant, nous n’avons attribué aucune valeur au tableau. Par conséquent, lorsque nous accédons aux éléments individuels du tableau, les valeurs par défaut sont imprimées à l’écran.

Ici, nous accédons individuellement aux éléments du tableau. Il existe une meilleure façon d’accéder aux éléments du tableau en utilisant une boucle (généralement pour la boucle). Par exemple,

 class ArrayExample {
    public static void main(String[] args) {

        // create an array of length 5
        int[] age = new int[5];

        // accessing elements using for loop
        for (int i = 0; i < 5; ++i) {
            System.out.println(age[i]);
        }
    }
} 

Production:

0
0
0
0
0

Comment initialiser des tableaux en Java?

En Java, nous pouvons initialiser les tableaux lors de la déclaration ou vous pouvez l’initialiser plus tard dans le programme selon vos besoins.

Initialiser une baie pendant la déclaration

Voici comment vous pouvez initialiser un tableau lors de la déclaration.

 int[] age = {12, 4, 5, 2, 5}; 

Cette instruction crée un tableau nomméâgeet l’initialise avec la valeur fournie entre accolades.

La longueur du tableau est déterminée par le nombre de valeurs fournies à l’intérieur des accolades séparées par des virgules. Dans notre exemple, la longueur de age est 5.

Elements are stored in the array
Initialisation des baies Java

Écrivons un programme simple pour imprimer les éléments de ce tableau.

 class ArrayExample {
    public static void main(String[] args) {

        // create an array 
        int[] age = {12, 4, 5, 2, 5};

        // access elements of tha arau
        for (int i = 0; i < 5; ++i) {
            System.out.println("Element at index " + i +": " + age[i]);
        }
    }
} 

Production:

Élément à l'indice 0:12
Élément à l'indice 1: 4
Élément à l'indice 2: 5
Élément à l'indice 3: 2
Élément à l'indice 4: 5

Comment accéder aux éléments du tableau?

Comme indiqué précédemment, nous pouvons facilement accéder et modifier les éléments d’un tableau en utilisant son index numérique. Par exemple,

 class ArrayExample {
    public static void main(String[] args) {

        int[] age = new int[5];

        // insert 14 to third element
        age[2] = 14;

        // insert 34 to first element
        age[0] = 34;

        for (int i = 0; i < 5; ++i) {
            System.out.println("Element at index " + i +": " + age[i]);
        }
    }
} 

Production:

Élément à l'indice 0: 34
Élément à l'indice 1: 0
Élément à l'indice 2:14
Élément à l'indice 3: 0
Élément à l'indice 4: 0

Exemple: tableaux Java

Le programme ci-dessous calcule la somme et la moyenne des valeurs stockées dans un tableau de type int .

 class SumAverage {
    public static void main(String[] args) {

        int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
        int sum = 0;
        Double average;
     
        // for each loop is used to access elements 
        for (int number: numbers) {
            sum += number;
        }
     
        int arrayLength = numbers.length;

        // Change sum and arrayLength to double as average is in double
        average =  ((double)sum / (double)arrayLength);

        System.out.println("Sum = " + sum);
        System.out.println("Average = " + average);
    }
} 

Production:

Somme = 36
Moyenne = 3,6

Dans l’exemple ci-dessus, nous avons créé un tableau de nommésNombres. Nous avons utilisé le for...each boucle pour accéder à chaque élément du tableau. En apprendre davantage sur for...each boucle, visitez Java pour … chaque boucle.

À l’intérieur de la boucle, nous calculons la somme de chaque élément. Remarquez la ligne,

 int arrayLength = number.length; 

Ici, nous utilisons l’attribut length du tableau pour calculer la taille du tableau. Nous calculons ensuite la moyenne en utilisant:

 average = ((double)sum / (double)arrayLength); 

Comme vous pouvez le voir, nous convertissons le int valeur en double . C’est ce qu’on appelle la conversion de type en Java. Pour en savoir plus sur la conversion de type, visitez la page Diffusion de type Java.

_______________________________________________________________________

Tableaux multidimensionnels

Les tableaux que nous avons mentionnés jusqu’à présent sont appelés tableaux unidimensionnels. Cependant, nous pouvons déclarer des tableaux multidimensionnels en Java.

Un tableau multidimensionnel est un tableau de tableaux. Autrement dit, chaque élément d’un tableau multidimensionnel est un tableau lui-même. Par exemple,

 double[][] matrix = {{1.2, 4.3, 4.0},
{4.1, -1.1}
};
 

Programme Java pour parcourir chaque caractère de la chaîne.

Exemple 1: boucle sur chaque caractère d’une chaîne en utilisant la boucle for

 class Main {
  public static void main(String[] args) {

    // create a string
    String name = "Programiz";

    System.out.println("Characters in " + name + " are:");

    // loop through each element
    for(int i = 0; i<name.length(); i++) {

      // access each character
      char a = name.charAt(i);
      System.out.print(a + ", ");
    }
  }
} 

Production

Les caractères dans Programiz sont:
P, r, o, g, r, a, m, i, z,

Dans l’exemple ci-dessus, nous avons utilisé leboucle forpour accéder à chaque élément de la chaîne. Ici, nous avons utilisé le charAt() méthode pour accéder à chaque caractère de la chaîne.


Exemple 2: boucle sur chaque caractère d’une chaîne à l’aide de la boucle for-each

 class Main {

  public static void main(String[] args) {

    // create a string
    String name = "Programiz";

    System.out.println("Characters in string \"" + name + "\":");

    // loop through each element using for-each loop
    for(char c : name.toCharArray()) {

      // access each character
      System.out.print(c + ", ");
    }

  }
} 

Production

Caractères dans la chaîne "Programiz":
P, r, o, g, r, a, m, i, z,

Dans l’exemple ci-dessus, nous avons converti la chaîne en un tableau de caractères en utilisant le toCharArray() 

Programme Java pour convertir un tableau en ensemble (HashSet) et vice-versa

Exemple 1: Convertir un tableau en ensemble

 import java.util.*;

public class ArraySet {

    public static void main(String[] args) {

        String[] array = {"a", "b", "c"};
        Set<String> set = new HashSet<>(Arrays.asList(array));

        System.out.println("Set: " + set);

    }
} 

Lorsque vous exécutez le programme, la sortie sera:

Définir: [a, b, c]

Dans le programme ci-dessus, nous avons un tableau nommétableau. Convertirtableauàensemble, nous la convertissons d’abord en liste en utilisant asList() comme HashSet accepte list comme constructeur.

Ensuite, nous initialisonsensembleavec les éléments de la liste convertie.


Exemple 2: Convertir un tableau en ensemble à l’aide d’un flux

 import java.util.*;

public class ArraySet {

    public static void main(String[] args) {

        String[] array = {"a", "b", "c"};
        Set<String> set = new HashSet<>(Arrays.stream(array).collect(Collectors.toSet()));

        System.out.println("Set: " + set);

    }
} 

La sortie du programme est la même que celle de l’exemple 1.

Dans le programme ci-dessus, au lieu de convertir un tableau en liste, puis en un ensemble, nous utilisons stream pour convertir en ensemble.

Nous convertissons d’abord le tableau en flux en utilisant stream() méthode et utilisation collect() méthode avec toSet() comme paramètre pour convertir le flux en un ensemble.


Exemple 3: Convertir l’ensemble en tableau

 import java.util.*;

public class SetArray {

    public static void main(String[] args) {

        Set<String> set = new HashSet<>();
        set.add("a");
        set.add("b");
        set.add("c");

        String[] array = new String[set.size()];
        set.toArray(array);

        System.out.println("Array: " + Arrays.toString(array));

    }
} 

Lorsque vous exécutez le programme, la sortie sera:

Tableau: [a, b, c]

Dans le programme ci-dessus, nous avons un HashSet nomméensemble. Convertirensembledans untableau, nous créons d’abord un tableau de longueur égale à la taille de l’ensemble et utilisons toArray() 

C strcat ()

La définition de fonction de strcat() est:

char * strcat (char * destination, const char * source)

Il est défini dans le string.h En tête de fichier.


Arguments strcat ()

Comme vous pouvez le voir, le strcat() La fonction prend deux arguments:

destination– chaîne de destination
la source– chaîne source


le strcat() fonction concatène le destination chaîne et le source string et le résultat est stocké dans le destination chaîne.


Exemple: fonction C strcat ()

 #include <stdio.h>
#include <string.h>
int main() {
   char str1[100] = "This is ", str2[] = "programiz.com";

   // concatenates str1 and str2
   // the resultant string is stored in str1.
   strcat(str1, str2);

   puts(str1);
   puts(str2);

   return 0;
} 

Production

C'est programiz.com
programiz.com

Remarque:Quand nous utilisons strcat()