Formation Développement Android
Academy
MODULE 2: PROGRAMMATION JAVA POUR ANDROID
Ce module de programmation Java pour Android pose les bases nécessaires à la
création d'applications Android, car Java est le langage de programmation principal
pour le développement Android. Les étudiants apprennent à créer des classes, à
manipuler des données, et à comprendre les concepts fondamentaux de la
programmation orientée objet. Ces compétences sont essentielles pour le
développement d'applications Android plus avancées dans les modules suivants.
Fondamentaux de Java pour Android
• Variables, types de données, opérateurs
• Structures de contrôle (boucles, conditions)
• Fonctions et méthodes
• Exercices de base en Java
Total d'heures de cours : (6 heures)
Formateur : Mr MOUSSOKI MASSAMBA Jean Gavin
Administrateur Réseau & Système, Développeur et Formateur en développement Informatique
I. Introduction au langage Java
Initialement appelé « OAK », le langage de programmation Java a été développé par
James Gosling chez Sun Microsystems en 1995
Java est un langage de programmation polyvalent et orienté objet qui a été développé
par Sun Microsystems (maintenant propriété d'Oracle). Java est largement utilisé pour
développer des applications web, des applications mobiles, des applications
d'entreprise, et des systèmes embarqués. Voici une introduction aux concepts
fondamentaux de Java :
Caractéristiques de Java
• Portable : Java est conçu pour être indépendant de la plateforme grâce à sa machine
virtuelle (Java Virtual Machine, JVM), ce qui signifie que le même code peut être exécuté
sur différentes plateformes sans modification.
• Orienté objet : Java est basé sur le paradigme de la programmation orientée objet (POO), ce
qui facilite la gestion de code complexe en le structurant en objets.
• Sécurisé : Java offre des fonctionnalités de sécurité intégrées, telles que la gestion des
erreurs de pointeur et la vérification des types à l'exécution.
• Multithreading : Java prend en charge le multithreading, permettant l'exécution simultanée
de plusieurs threads pour des performances améliorées.
• Garbage Collection : Java gère automatiquement la mémoire grâce à un processus appelé
garbage collection, qui libère de la mémoire inutilisée.
A. Structure de Base d'un Programme Java
Un programme Java typique comprend des classes et des méthodes. Voici un exemple simple :
Syntaxe java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Explication
• public class HelloWorld : Déclare une classe publique nommée HelloWorld.
En Java, tout code doit être contenu dans une classe.
• public static void main(String[] args) : Déclare la méthode main, qui est
le point d'entrée de tout programme Java. public signifie que la méthode est accessible de
partout, static signifie qu'elle peut être appelée sans créer une instance de la classe,
void indique qu'elle ne retourne rien, et String[] args est un tableau d'arguments
passés à l'application.
• System.out.println("Hello, World!"); : Affiche la chaîne "Hello, World!"
sur la console.
2. Variables et Types de Données
En Java, une variable est une conteneur qui stocke des données. Chaque variable a un type de
données qui détermine les valeurs qu'elle peut contenir et les opérations qui peuvent être effectuées
sur ces valeurs.
Types de Données Primitifs
• int : Entier (32 bits)
• long : Entier long (64 bits)
• float : Nombre à virgule flottante (32 bits)
• double : Nombre à virgule flottante double précision (64 bits)
• char : Caractère unique (16 bits)
• boolean : Valeur booléenne (true ou false)
• String : chaîne de caractères
Variables
Syntaxe java
int age = 25;
double prix = 19.99;
char serie = 'A';
boolean estValide = true;
String nom = "Alice";
3. Opérateurs
Java offre divers opérateurs pour effectuer des opérations sur les variables.
• Affectation : =
• Arithmétiques : +, -, *, /, %
• Comparaison : ==, !=, >, <, >=, <=
• Logiques : && (ET), || (OU), ! (NON)
4. Utilisation de Scanner pour lire à partir de la console
La classe Scanner est souvent utilisée pour lire les entrées utilisateur à partir de la console.
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = scanner.nextLine();
System.out.println("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
scanner.close();
}
}
B. Les Structures de Contrôle
Les structures de contrôle en Java permettent de diriger le flux d'exécution du programme. Elles
comprennent les conditions et les boucles. Dans ce cours, nous allons explorer ces concepts de
manière détaillée.
1. Conditions
Les structures conditionnelles permettent d'exécuter du code de manière conditionnelle, en fonction
d'une expression booléenne (true ou false).
a. Instruction if
L'instruction if exécute un bloc de code si une condition donnée est vraie.
java
int age = 20;
if (age >= 18) {
System.out.println("You are an adult.");
}
b. Instruction if-else
L'instruction if-else permet d'exécuter un bloc de code si la condition est vraie, et un autre bloc
si la condition est fausse.
java
int age = 16;
if (age >= 18) {
System.out.println("You are an adult.");
} else {
System.out.println("You are a minor.");
}
c. Instruction if-else if-else
L'instruction if-else if-else permet de vérifier plusieurs conditions.
java
int age = 15;
if (age >= 18) {
System.out.println("You are an adult.");
} else if (age >= 13) {
System.out.println("You are a teenager.");
} else {
System.out.println("You are a child.");
}
d. Instruction switch
L'instruction switch permet de sélectionner une parmi plusieurs options.
java
int jour = 3;
String nomJour;
switch (jour) {
case 1:
dayName = "Lundi";
break;
case 2:
dayName = "Mardi";
break;
case 3:
dayName = "Mercredi";
break;
case 4:
dayName = "Jeudi";
break;
case 5:
dayName = "Vendredi";
break;
case 6:
dayName = "Samedi";
break;
case 7:
dayName = "Dimanche";
break;
default:
dayName = "Jour Invalide";
break;
}
System.out.println("Aujourdh\’ui c\’est " + nomJour);
2. Boucles
Les boucles permettent de répéter des blocs de code plusieurs fois.
a. Boucle for
La boucle for est utilisée lorsque le nombre d'itérations est connu à l'avance.
java
for (int i = 0; i < 5; i++) {
System.out.println("i is " + i);
}
b. Boucle while
La boucle while est utilisée lorsque le nombre d'itérations n'est pas connu et dépend d'une
condition.
java
int i = 0;
while (i < 5) {
System.out.println("i is " + i);
i++;
}
c. Boucle do-while
La boucle do-while est similaire à la boucle while, mais elle garantit que le bloc de code
s'exécute au moins une fois.
java
int i = 0;
do {
System.out.println("i is " + i);
i++;
} while (i < 5);
3. Utilisation Avancée des Boucles
a. Boucles imbriquées
Les boucles peuvent être imbriquées, c'est-à-dire qu'une boucle peut contenir une autre boucle.
java
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
System.out.println("i = " + i + ", j = " + j);
}
}
b. Instruction break
L'instruction break permet de sortir immédiatement d'une boucle.
java
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
System.out.println("i is " + i);
}
c. Instruction continue
L'instruction continue permet de passer à l'itération suivante de la boucle en cours.
java
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
System.out.println("i is " + i);
}
Exercices Pratiques
1. Écrire un programme Java qui affiche les nombres de 1 à 10, mais qui affiche "Fizz" pour
les multiples de 3, "Buzz" pour les multiples de 5, et "FizzBuzz" pour les multiples de 3 et 5.
2. Écrire un programme Java qui demande à l'utilisateur d'entrer des nombres jusqu'à ce qu'il
entre un nombre négatif. Ensuite, afficher la somme de tous les nombres entrés.
Conclusion
Les structures de contrôle sont des éléments fondamentaux de tout langage de programmation. En
comprenant et en maîtrisant les conditions et les boucles, vous pourrez écrire des programmes plus
complexes et efficaces en Java.
C. Les Fonctions et Méthodes en Java pour Débutants
En Java, les fonctions (ou méthodes) sont des blocs de code réutilisables qui effectuent une tâche
spécifique. Comprendre comment définir et utiliser les méthodes est essentiel pour écrire du code
modulaire et maintenable. Voici une introduction détaillée aux méthodes en Java.
1. Qu'est-ce qu'une Méthode ?
Une méthode en Java est un bloc de code qui peut être appelé pour exécuter une tâche spécifique.
Les méthodes peuvent prendre des paramètres et retourner des valeurs.
Structure d'une Méthode
Une méthode en Java est définie par son type de retour, son nom, ses paramètres (facultatifs) et son
corps. Voici la structure générale :
java
modificateur_de_visibilité type_de_retour nom_de_la_méthode(paramètres) {
// Corps de la méthode
}
• Modificateur de visibilité : Détermine la visibilité de la méthode (public, private,
protected).
• Type de retour : Le type de données que la méthode retourne (int, void, String, etc.).
• Nom de la méthode : Un nom descriptif pour la méthode.
• Paramètres : Une liste de paramètres que la méthode accepte (facultatif).
• Corps de la méthode : Le bloc de code qui définit ce que la méthode fait.
2. Définir et Appeler des Méthodes
a. Méthode sans Paramètres et sans Retour
Une méthode qui ne prend pas de paramètres et ne retourne pas de valeur utilise le type de retour
void.
java
public class Main {
public void sayHello() {
System.out.println("Hello, World!");
}
public static void main(String[] args) {
Main main = new Main();
main.sayHello(); // Appel de la méthode
}
}
b. Méthode avec Paramètres
Une méthode peut prendre des paramètres pour personnaliser son comportement.
java
public class Main {
public void greet(String name) {
System.out.println("Hello, " + name + "!");
}
public static void main(String[] args) {
Main main = new Main();
main.greet("Alice"); // Appel de la méthode avec un paramètre
}
}
c. Méthode avec Retour
Une méthode peut retourner une valeur.
java
public class Main {
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
Main main = new Main();
int sum = main.add(5, 3); // Appel de la méthode et récupération de la
valeur retournée
System.out.println("Sum is: " + sum);
}
}
3. Méthodes Statique vs Instance
a. Méthodes d'Instance
Les méthodes d'instance nécessitent une instance de la classe pour être appelées. Utilisez le mot-clé
new pour créer une instance.
java
public class Main {
public void displayMessage() {
System.out.println("Instance method called");
}
public static void main(String[] args) {
Main main = new Main(); // Création d'une instance
main.displayMessage(); // Appel de la méthode d'instance
}
}
b. Méthodes Statiques
Les méthodes statiques appartiennent à la classe plutôt qu'à une instance, et peuvent être appelées
sans créer une instance de la classe. Utilisez le mot-clé static.
java
public class Main {
public static void displayMessage() {
System.out.println("Static method called");
}
public static void main(String[] args) {
Main.displayMessage(); // Appel de la méthode statique
}
}
4. Surcharge de Méthodes
La surcharge de méthodes permet d'avoir plusieurs méthodes avec le même nom mais des
signatures différentes (différents paramètres).
java
public class Main {
public void printInfo(String name) {
System.out.println("Name: " + name);
}
public void printInfo(String name, int age) {
System.out.println("Name: " + name + ", Age: " + age);
}
public static void main(String[] args) {
Main main = new Main();
main.printInfo("Alice");
main.printInfo("Bob", 30);
}
}
5. Exercice Pratique
1. Créez une classe Calculator avec des méthodes pour additionner, soustraire, multiplier
et diviser deux nombres. Chaque méthode doit prendre deux paramètres et retourner le
résultat.
java
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public double divide(int a, int b) {
if (b != 0) {
return (double) a / b;
} else {
System.out.println("Division by zero is not allowed.");
return 0;
}
}
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Add: " + calc.add(10, 5));
System.out.println("Subtract: " + calc.subtract(10, 5));
System.out.println("Multiply: " + calc.multiply(10, 5));
System.out.println("Divide: " + calc.divide(10, 5));
}
}
Conclusion
Les méthodes sont des éléments fondamentaux en Java qui permettent de structurer le code en blocs
réutilisables et modulaires. En comprenant comment définir, appeler et surcharger les méthodes,
vous pourrez écrire des programmes plus clairs et plus efficaces.