Software">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
5 vues12 pages

? Cours Java Complet

Ce document présente un cours complet sur Java, couvrant les bases du langage, les concepts intermédiaires et avancés, ainsi que des pratiques professionnelles. Il aborde des sujets tels que la programmation orientée objet, les structures de données, les exceptions, les flux, et les frameworks comme Spring Boot. Des exemples de code illustrent chaque concept, facilitant ainsi l'apprentissage des développeurs de tous niveaux.

Transféré par

hayetward
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues12 pages

? Cours Java Complet

Ce document présente un cours complet sur Java, couvrant les bases du langage, les concepts intermédiaires et avancés, ainsi que des pratiques professionnelles. Il aborde des sujets tels que la programmation orientée objet, les structures de données, les exceptions, les flux, et les frameworks comme Spring Boot. Des exemples de code illustrent chaque concept, facilitant ainsi l'apprentissage des développeurs de tous niveaux.

Transféré par

hayetward
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

📘 Cours Java complet

1. Introduction à Java
Java est :

 Un langage orienté objet


 Très utilisé en :
o Applications Android 📱
o Logiciels
o Backend web

👉 Avantage :

 Portable → “Write once, run anywhere”

2. Premier programme
public class Main {
public static void main(String[] args) {
[Link]("Hello World");
}
}

3. Variables
int age = 17;
double prix = 9.99;
String nom = "Hama";
boolean actif = true;

4. Les types
 int → entier
 double → décimal
 String → texte
 boolean → vrai/faux

5. Conditions
if (age >= 18) {
[Link]("Majeur");
} else {
[Link]("Mineur");
}

6. Boucles
FOR :
for (int i = 0; i < 5; i++) {
[Link](i);
}

WHILE :
int i = 0;
while (i < 5) {
[Link](i);
i++;
}

7. Tableaux
int[] nums = {1, 2, 3};
[Link](nums[0]);

8. Les méthodes
static void bonjour() {
[Link]("Hello");
}

9. Classes et objets
class Personne {
String nom;

void parler() {
[Link]("Je suis " + nom);
}
}

Utilisation :

Personne p = new Personne();


[Link] = "Hama";
[Link]();
10. Constructeur
class Personne {
String nom;

Personne(String n) {
nom = n;
}
}

🔥 Niveau intermédiaire

11. Encapsulation
class User {
private String nom;

public String getNom() {


return nom;
}

public void setNom(String n) {


nom = n;
}
}

12. Héritage
class Animal {
void parler() {
[Link]("Son");
}
}

class Chien extends Animal {


}

13. Polymorphisme
Animal a = new Chien();
[Link]();

14. Interfaces
interface Animal {
void parler();
}

15. Abstract
abstract class Animal {
abstract void parler();
}

16. Exceptions
try {
int x = 5 / 0;
} catch (Exception e) {
[Link]("Erreur");
}

17. ArrayList
import [Link];

ArrayList<String> list = new ArrayList<>();


[Link]("Hello");

18. HashMap
import [Link];

HashMap<String, Integer> map = new HashMap<>();


[Link]("age", 17);

19. Scanner (entrée utilisateur)


import [Link];

Scanner sc = new Scanner([Link]);


String nom = [Link]();

20. Fichiers
import [Link];

File f = new File("[Link]");


🚀 Niveau avancé

21. Streams
[Link]()
.filter(x -> [Link]("H"))
.forEach([Link]::println);

22. Lambda
(x) -> x + 1

23. Threads
class MyThread extends Thread {
public void run() {
[Link]("Thread");
}
}

24. Runnable
new Thread(() -> {
[Link]("Hello");
}).start();

25. Synchronisation
synchronized void test() {
}

26. Enum
enum Couleur {
ROUGE, BLEU
}

27. Packages
package monprojet;
28. Gestion mémoire
👉 Java utilise un Garbage Collector

29. JVM
👉 Java fonctionne grâce à la Java Virtual Machine

30. Compilation
javac [Link]
java Main

🔥 Niveau pro

31. Architecture MVC


 Model → données
 View → interface
 Controller → logique

32. Maven / Gradle


Outils de gestion de projet :

<dependency>

33. Spring Boot (très important)


Framework backend :

@RestController
class Test {
@GetMapping("/")
public String hello() {
return "Hello";
}
}
34. API REST
 GET
 POST
 PUT
 DELETE

35. JSON en Java


import [Link];

36. JDBC (base de données)


Connection conn = [Link](...);

37. Sécurité
👉 Ne jamais faire confiance aux inputs utilisateur

38. Logging
import [Link];

39. Tests (JUnit)


@Test
void test() {
}

40. Bonnes pratiques


✔ Code propre
✔ Classes bien séparées
✔ Nom clair
✔ Respect OOP
🚀 Mini projet Java
import [Link];

public class Main {


public static void main(String[] args) {

Scanner sc = new Scanner([Link]);

[Link]("Nom : ");
String nom = [Link]();

[Link]("Bonjour " + nom);


}
}

📘 Java — Niveau avancé / expert

41. Génériques (Generics)


Permettent de rendre ton code flexible et typé :

List<String> noms = new ArrayList<>();

Créer ta propre classe générique :

class Boite<T> {
T valeur;

void set(T v) {
valeur = v;
}

T get() {
return valeur;
}
}

42. Wildcards (?)


List<? extends Number> liste;

👉 Permet d’accepter plusieurs types

43. Comparable vs Comparator


Comparable :
class User implements Comparable<User> {
public int compareTo(User u) {
return [Link] - [Link];
}
}

Comparator :
[Link](list, (a, b) -> [Link] - [Link]);

44. Optional (éviter les null)


Optional<String> nom = [Link]("Hama");

[Link]([Link]::println);

👉 Évite les NullPointerException

45. Stream API avancée


[Link]()
.filter(x -> x > 10)
.map(x -> x * 2)
.sorted()
.forEach([Link]::println);

46. Parallel Stream (performance)


[Link]()
.forEach([Link]::println);

👉 Utilise plusieurs threads

47. Immutable Objects


Créer des objets non modifiables :

final class User {


private final String nom;

public User(String nom) {


[Link] = nom;
}
public String getNom() {
return nom;
}
}

48. Builder Pattern (très utilisé)


class User {
private String nom;

static class Builder {


private String nom;

Builder setNom(String nom) {


[Link] = nom;
return this;
}

User build() {
User u = new User();
[Link] = [Link];
return u;
}
}
}

49. Singleton Pattern


class Singleton {
private static Singleton instance;

private Singleton() {}

static Singleton getInstance() {


if (instance == null) {
instance = new Singleton();
}
return instance;
}
}

50. Factory Pattern


class AnimalFactory {
static Animal create(String type) {
if ([Link]("chien")) return new Chien();
return null;
}
}

🚀 Backend Java (très important)


51. Spring Boot complet
Exemple API :

@RestController
@RequestMapping("/api")
class UserController {

@GetMapping("/users")
public List<String> getUsers() {
return [Link]("Hama", "Ali");
}
}

52. Injection de dépendances


@Service
class UserService {}

@RestController
class Controller {

private final UserService service;

public Controller(UserService service) {


[Link] = service;
}
}

53. Base de données (JPA)


@Entity
class User {
@Id
@GeneratedValue
Long id;

String nom;
}

54. Repository
interface UserRepo extends JpaRepository<User, Long> {}

55. CRUD complet


 Create → POST
 Read → GET
 Update → PUT
 Delete → DELETE

56. Sécurité (Spring Security)


@Configuration
class SecurityConfig {
}

👉 Login / auth / JWT

57. JSON (Jackson)


ObjectMapper mapper = new ObjectMapper();

58. Logs pro


private static final Logger log = [Link]([Link]);

59. Tests avancés (JUnit + Mockito)


@Mock
UserService service;

Vous aimerez peut-être aussi