Language java
Les achitecture type | |||||
---|---|---|---|---|---|
language java | |||||
public class "nom du programme" | annonce le fichier | permet de nommer le fichier et de le retrouver lors de l'instruction. | |||
int ... Char ... | déclaration des variables | permet de définir de quel façon le programme va pouvoir le différentes vaibles utilisées dans le programme. | |||
public static void main (string[] args) { | début type du programme | main est le début du programme | |||
{ } | instructions | coeur du programme | |||
} | fin | chlore le programme ;) | |||
sudo apt-get install libmysql-java | export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java.jar | importer le driver connexion java ;) |
les "type de constantes" | ||||
---|---|---|---|---|
Constantes Variables; | ||||
Int I,J; | N (réel) | 235 à -235 | entier | |
Double a, c; | Réel | 235 à -235 | décimaux | |
Booléen b; | boléen | Vraix-Faux | 0-1/oui-non/Vraix-Faux | |
char c; | caractère alphabet | [a-z] | vérifier les caractère numérique | |
String s; | Chaine | "bonjour" et "[...]" | permet de calculer des enchainements de variables |
les Operateurs | ||||
---|---|---|---|---|
Language Java | ||||
+ - * / / % | Arithmétiques | + - * / div modulo | la division / est entière si les opérandes sont des entiers, sinon c'esy une division réelle | |
&& || ! | Logiques | et ou non | --------------------------- | |
== < > <= >= != | relationels | = < > « » ‡ | --------------------------- | |
s1.equals(s2) | cas particulier | égalité entre deux chaines | fonctino prédéfinie pour les chaines |
les variables | ||||
---|---|---|---|---|
Language Java | ||||
double a,c: | réel | égalité entre deux chaines | fonctino prédéfinie pour les chaines |
entrée et sorties | ||||
---|---|---|---|---|
Language Java | ||||
System.out.println(""); | écrire "" | affiche un message à l'utilisateur | ||
System.out.println("valeur de la variable"); | écrire "valeur de la variable a=" +a | ressort une donnée injecté au programme |
instruction conditionelles | Language Java |
---|
instructions itératives (boucles) | ||||
---|---|---|---|---|
Language Java | ||||
for (i=L; i‹=10 ; i=i+1) { instruction } | pour (i allant de 1 à 10pas 1) faire instruction 1; instruction 2; ... finpour | pour une variable allant de n à n+x faire (attention on ne traduit pas le faire... | ||
for (i=L; i‹=10 ; i=i-1) { instruction_1; instruction_2 ... } | pour (i allant de 1 à 10pas 1) faire instruction 1; instruction 2; ... finpour | pour une variable allant de n à n-x faire (attention on ne traduit pas le faire... | ||
While (condition) { instruction } | tant que (conditions) faire instruction 1; instruction 2; ... fintanque | pour une variable tant qu'elle reste vraie ou fausse faire...(attention on ne traduit pas le faire... |
structure | ||||
---|---|---|---|---|
les type d'une classe | ||||
static class Liste{ private int valeur; private Liste suivant; public Liste(int premier,Liste reste){ valeur= premier; suivant= reste; } public int tete(){ return(valeur); } public Liste queue(){ return(suivant);} } |
||||
la visibilité | ||||
public | est visible dans tout le programme | public int A | ||
protected | est visible de la classe ainsi que de ses héritage | protected Point p | ||
private | est visible que de la classes dans laquelle il existe | int[] A | ||
Le garbage collector java.lang.ref | ||||
---|---|---|---|---|
les type de références | ||||
Soft Reference | ||||
Weak Reference | ||||
Hard Reference | ||||
Phantom Reference | ||||
méthodes pour obtenir des informations basiques sur la mémoire occupée par le tas | ||||
totalMemory() | renvoie la quantité totale de mémoire du tas | |||
freeMemory() | ||||
-XX:+HeapDumpOnOutOfMemoryError |
les exeptions | ||||
---|---|---|---|---|
RunTimeExeption | ||||
try{...}catch(){} | permet de capturer une exeption et éviter sa propagation jusqu'au main | try{ division par zero }catch(NumberFormatExeption nfe){ System.out.println(nfe.getMessage()); return null;} | ||
throw new Exception("division par zero"); | permet d'encapsuler les exeptions |
try { maMéthodeQuiRenvoitPlusieursTypesDException(); }catch (Exception e) { // En englobe toutes les exceptions dans une exception unique throw new Exception("Un problème est survenue", e); } | ||
try{...}finally{...} | passe automatiquement par finally (attention aux return/break/continue) qui ducoup ne seront pas éxécuté | public int methode2(){ try{ return 3; }finally{ return 4; } } | ||
printStackTrace() | de Throwable fourni l'enssemble des info des méthodes appelés au moment de l'erreur | |||
getCause() | permet d'avoir l'erreur d'originine en cas d'erreur en cascade | |||
java.util.logging | permet de loguer les erreurs dans des fichiers | |||
cree ses propres exeptions | ||||
les exceptions et ordres | ||||
Object | la classe racine de toutes les classes | |||
Throwable | getMessage(), toString(), printStackTrace(), etc. | |||
Error | erreurs graves, abandon du programme | |||
Exception | anomalies récupérables | |||
RunTimeException | erreur à l’exécution | |||
ArithmeticException | division par zéro par exemple | |||
ClassCastException | mauvaise conversion de classes (cast) | |||
IndexOutOfBoundsException | en dehors des limites (tableau) | |||
NullPointerException | référence nulle | |||
IllegalArgumentException | ||||
NumberFormatException | nombre mal formé | |||
IOException | erreurs d’entrées-sorties | |||
FileNotFoundException | fichier inconnu | |||
la généricité | ||||
---|---|---|---|---|
public class Duo<T, S> { //Variable d'instance de type T private T valeur1; //Variable d'instance de type S private S valeur2; //Constructeur par défaut public Duo(){ this.valeur1 = null; this.valeur2 = null; } //Constructeur avec paramètres public Duo(T val1, S val2){ this.valeur1 = val1; this.valeur2 = val2; } //Méthodes d'initialisation des deux valeurs public void setValeur(T val1, S val2){ this.valeur1 = val1; this.valeur2 = val2; } //Retourne la valeur T public T getValeur1() { return valeur1; } //Définit la valeur T public void setValeur1(T valeur1) { this.valeur1 = valeur1; } //Retourne la valeur S public S getValeur2() { return valeur2; } //Définit la valeur S public void setValeur2(S valeur2) { this.valeur2 = valeur2; } } | la classe générique permet de ne pas s'embetter avec les type d'objet, seul problème le clonage n'est pas permis si on change le type |
Duo<String, Boolean> dual = new Duo<String, Boolean>("toto", true); System.out.println("Valeur de l'objet dual : val1 = " + dual.getValeur1() + ", val2 = " + dual.getValeur2()); Duo<Double, Character> dual2 = new Duo<Double, Character>(12.2585, 'C'); System.out.println("Valeur de l'objet dual2 : val1 = " + dual2.getValeur1() + ", val2 = " + dual2.getValeur2()); | ||
Swing (graphique) | ||||
---|---|---|---|---|
JLabel | affiche un texte statique, ou avec une mise en forme html | Label label = new JLabel("Un Jmachin") ; | ||
Jbutton | un bouton qui possède un comportement graphique quand on le clique. | JButton bouton = new Jbutton("bouton"); | ||
JtoggleButton | bouton à deux étapes on/off | JToggleButton boutonOnOff = new JToggleButton(new ImageIcon("etoile.gif")); | ||
JcheckBox | setSelected(true); | |||
JradioButton | JRadioButton choixRouge = new JradioButton("rouge"); | |||
JcomboBox | Liste déroulante pour choisir un item | Vector items = new Vector(); items.add("rouge"); items.add("jaune"); items.add("vert"); items.add("gris"); items.add("bleu"); items.add("orange"); items.add("violet"); JComboBox choix = new JcomboBox(items); choix.setMaximumRowCount(4); | ||
JtextField | un texte dynamique | JTextField text = new JtextField(5); | ||
JSpinner | composant de saisie de valeur numérique avec des boutons +1 et -1 | spinner = new JSpinner(); | ||
PasswordField | composant de saisie de mot de passe | password = new JPasswordField(15); | ||
JSlider | autre composant de saisie de valeur numérique avec un curseur | slider = new Jslider( Jslider.HORIZONTAL, 0, 100, 50); | ||
JProgressBar | barre de progression | barre = new JProgressBar(JProgressBar.HORIZONTAL, 0, 100); barre.setValue(33); | ||
JColorChooser | composant de choix de couleur | choix = new JColorChooser(); | ||
TextArea | composant de saisie de texte multi-lignes | texte = new JTextArea(12,4); texte.setLineWrap(true); texte.append("bla bla bla bla bla bla bla bla bla bla"); | ||
FileChooser | choix d'un fichier dans le système de fichiers | choixFichier = new JFileChooser(); | ||
JEditorPane | ||||
JTextPane | ||||
JTable | ||||
JTree | ||||
options JButton | ||||
---|---|---|---|---|
setToolTipText | survol du curseur | setToolTipText("passez le curseur dessus !"); | ||
getSize() | renvoie la taile | |||
getHeight() | renvoie la hauteur | |||
getWidth() | renvoie la largeur | |||
setPreferredSize(Dimension) | optimise la dimention | |||
setCursor | change le curseur | setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)) | ||
setOpaque | change l’opacité | setOpaque(!bouton.isOpaque());bouton.repaint(); | ||
setBorder | bordure | setBorder(BorderFactory.createEmptyBorder()); | ||
setVisible(); | change la visibilité | setVisible(!bouton.isVisible()); | ||
setEnabled(); | bouton actif/inactif | setEnabled(!bouton.isEnabled()); | ||
setBackground(); | change le cbackground | setBackground(Color.black); | ||
setRolloverIcon(); | met un icon au survol | setRolloverIcon(new ImageIcon("etoile_presque_jaune.gif")); | ||
SetPressedIcon( ); | met un icône lors du pressage | setPressedIcon( new ImageIcon("etoile_jaune.gif")); |
options JButton | ||||
---|---|---|---|---|
la sourie | ||||
mouseDragged | ||||
mouseMoved | ||||
getSource() | dans quel composant ça s'est passé | |||
getActionCommand() | Renvoie la chaîne de commande associée à cette action. Cette chaîne permet à un composant "modal" de spécifier l'une de plusieurs commandes, en fonction de son état. Par exemple, un seul bouton peut basculer entre "afficher les détails" et "masquer les détails". L'objet source et l'événement seraient les mêmes dans chaque cas, mais la chaîne de commande identifierait l'action prévue. | |||
setActionCommand() | change le nom de la commande de l'ActionEvent | |||
addActionListener() | ajoute un "écouteur" au composant | bouton1.addActionListener(ecouteur) | ||
removeActionListener() | supprime un "écouteur" au composant | bouton1.removeActionListener(ecouteur) | ||
addWindowListener | ||||
windowDeactivated() | ||||
windowDeiconified() | ||||
windowIconified() | ||||
windowOpened() |
les dessins | ||||
---|---|---|---|---|
la sourie | ||||
dessin | Graphics g = panel.getGraphics(); | |||
g.drawOval(); | dessine un rond | |||
g.drawRect() | dessine un rectangle | g.drawRect(30,40,80,110); | ||
g.drawString(); | g.drawString("ceci est un long text",10,100); | |||
paintComponent() | public void paintComponent(Graphics g) { super.paintComponent(g); g.drawOval(10,20,50,50); g.drawRect(30,40,80,110); g.drawString("ceci est un long text",10,100); } | |||
setColor(); | changer la couleur | g1.setColor(Color.red); | ||
g1.fillRoundRect(); | dessine un rectangle avec des angles arondies | g1.fillRoundRect(30,30,30,60,10,10); | ||
create(); | clone un composant ainsi on le remodifie | Graphics g2 = g1.create(); |
la sourie |
les threads | ||||
---|---|---|---|---|
implement Runnable | ||||
.start() | déclenche l'éxécution du thread | |||
Thread autreTache= new Thread(new Lent()); autreTache.start(); | ||||
.interrupt() | permet d'arreter un thread (attention au boucles infinies) | |||
.join() | attend la fin d'éexécution du thread (méthode bloquante) | |||
les veroux | ||||
synchronised(variable/instance) | permet de mettre un verou unique | |||
CountDownLatch(nombre) | syncronisateur de type loquet à décrémentation | |||
new ThreadSwingDemo80(); | déclenche un thread | |||
Thread[AWT-EvenQueue] | thread graphique (demo swingDemo80) | |||
countDown() | ||||
wait() | ||||
notify() | ||||
notifyAll() | ||||
tryLock() | ||||
AtomicNumber() | ??? | |||
CyclicBarrier | ||||
Semaphore | ||||
ReentrantLock | ||||
BlookingQueue | ||||
ConcurrentLinkedDeque | ||||