DTA

Tricount
Tout au long du semestre, nous avons du créer une application Tricount, qui consiste à répartir les dépense entre plusieurs personnes, selon ce qu'elles ont payé et ce qu'elles ont dépensé.
Nous avons réalisé cette application par différents niveaux, à mesure qu'on apprenait des nouvelles choses dans le cours de programmation.
J'ai validé tout les niveaux. Vous pouvez retrouver tout les niveaux en code java en appuyant sur le bouton ci-dessous.

Instructions de base
Type de données
Ce sont les données que l'on utilise dans nos programmes. Il en existe plusieurs comme par exemple les int, double, String, char...
Casting:
Il s'agit de la conversion d'un type de données en un autre type de données.
Par exemple, si nous avons une variable i qui est un int valant 32, et que l'on veut convertir en double, nous faisons:
double y = (double) i ;
Opérateurs:
Les opérateurs nous permettent de faire différentes choses.
Il en existe 3 types:
- Opérateurs arithmétiques : ils servent à faire des calculs entre des données (+, -, %, /, *)
- Opérateurs relationnels : ils servent à comparer des données (==, <, <=, >, >=, !=)
- Opérateurs logiques : ils créent des conditions dans les variables (&&, ||, !)
Affectation:
L'affectation en java c'est le fait d'affecter une valeur à une variable, par exemple:
int x = 10 ;
Alternatives:
Il s'agit des plusieurs possibilités que l'on peut proposer dans notre programme et, selon ce que l'utilisateur introduit comme donnée, il affichera des résultats différents.
Nous avons vu deux types d'alternatives:
- Alternatives simples et imbriquées:
Il s'agit du if...else. On propose au programme de réaliser quelque chose si il remplit une condition spécifié, et si ce n'est pas le cas (else) il réalise quelque chose d'autre ou rien du tout car un if n'as pas besoin forcément d'un else.
On peut faire de if...else imbriqué qui signifie que si le programme ne remplit pas une condition, on peut demander une autre condition et ainsi de suite.
- Alternatives multiples:
Lorsque on veut proposer plusieurs possibilités, on peut utiliser un switch.
Le switch fait différentes choses que l'on lui demande selon ce que l'utilisateur a saisie et il est plus pratique d'utilisation que de faire des if...else imbriquées.
Boucles
C'est une instruction qui permet de répéter plusieurs fois la même chose dans un programme tant qu'il n'as pas rempli une condition que l'on l'as imposée.
Il existe 3 types de boucles:
- While
- Do() while()
- For
Structure de données
En java, nous pouvons enregistrer des données remplies manuellement, aléatoirement ou par l'utilisateur dans des tableaux.
Nous avons vu deux types de tableaux lors du premier semestre:
Tableaux à une dimension
Ce type de tableau ne possède qu'une seule ligne.
Voici un exemple d'une déclaration d'un tableau à une dimension:
int [] tableau = new tableau [5]
5 équivaut à la taille du tableau.
Matrices (ou tableaux à deux dimensions)
Les matrices peuvent posséder plusieurs lignes et colonnes.
Voici un exemple d'une déclaration d'un tableau à deux dimensions:
int [] [] tableau = new tableau [3] [6]
3 équivaut au nombre de lignes et 6 équivaut au nombre de colonnes.
Important à savoir:
Tous les tableaux, quelque soi leur type, commence par la valeur 0.
Notion de classes
Utilisation des classes: String
La classe String est une classe prédéfinie du langage JAVA permettant d'effectuer différentes choses, comme par exemple:
- Manipuler des chaînes de caractères
- Rechercher des chaînes de caractères
- Remplacer des chaînes de caractères
- ...
Un String contient plusieurs char.
Exemple d'initialisation d'un String:
String test = "Hello" ;
Structure de programme
Méthodes et fonctions:
Il s'agit d'une opération ou d'un affichage qui peut se répéter tout au long d'un problème. Elle sont utilisés afin de ne pas devoir refaire à chaque fois les mêmes calculs ou affichage et ainsi, faciliter la création d'un programme ainsi que sa structure.
Les méthodes peuvent retourner une valeur (int, float, String []...) ou rien (void)
Nous avons surtout vu durant ce semestre, les méthodes publiques:
public static (valeur) (nomméthode)
Résumé du cours
Tout au long du semestre, j'ai pris différentes notes lors du cours, vous pouvez les voir en cliquant ici.
Projet du semestre
Lors des 2 semaines de projets, nous avons dû créer un programme Java qui gère une bibliothèque de musiques. Vous pouvez télécharger le code du programme ici. Nous avons divisé le programme en différents paquets et classes:
Datas
Il s'agit du fichier json, qui contient les données de tout le programme, les playlists avec leur ID, les musiques avec leur ID, le nombre d'écoute des musiques...

Utils
Il s'agit de toutes les méthodes utilitaires de notre programme, comme par exemple enlever une musique d'une playlist, créer une playlist, écouter une playlist...

Assets
Il s'agit des données du fichier qui ne changent pas. Elles sont statiques.

Main
Il s'agit de l'interface principale de notre application, où l'on interagit avec l'utilisateur.

Database
Il s'agit des données dans le fichier json, elle contient différentes méthodes cherchant des données et les remplissant dans le json.


Il s'agit d'une classe contenant des méthodes de création de dossier et de remplissage de la structure du fichier json.