Vous êtes sur la page 1sur 7

COURS java Pour commencer, Java est un langage de programmation informatique orient objet cr par James Gosling et Patrick

Naughton de Sun Microsystems. Mais c'est galement un environnement d'xcution. Java peut tre spar en deux parties. D'une part, votre programme crit en langage Java et d'autre part, une machine virtuelle (JVM) qui va se charger de l'excution de votre programme Java. C'est cette plateforme qui garantit la portabilit de Java. Il suffit qu'un systme ait une machine virtuelle Java pour que tout programme crit en Java puisse fonctionner. Avec le langage Java, vous pouvez dvelopper, des applications Desktop, dvelopper des applets pour vos sites web, dvelopper des sites en JSP, des applications pour tlphone mobile. Le concept de variable Une variable est une donne (un objet ou un type primitif) repre par son nom, et qui pourra tre lu, ou modifie lors de l'excution du programme. Les variables en langage Java sont types, c'est--dire que les donnes contenues dans celles-ci possdent un type, ainsi elles sont donc stockes une adresse mmoire et occupent un nombre d'octets dpendant du type de donne stocke. En Java, les noms de variables peuvent tre aussi long que l'on dsire, toutefois le compilateur ne tiendra compte "que" des 247 premiers caractres. De plus, elles doivent rpondre certains critres :

un nom de variable ne peut comporter que des lettres, des chiffres (les caractres _ et $ peuvent tre utiliss mais ne devrait pas l'tre pour des variables) un nom de variable ne peut pas commencer par un chiffre et ne doit pas comporter d'espace les noms de variables ne peuvent pas tre les noms rservs du langage : abstract, assert boolean, break, byte case, catch, char, class, const, continue default, do, double else, enum, extends false, final, finally, float, for goto if, implements, import, instanceof, int, interface long native, new, null

package, private, protected, public return short, static, sctrictfp, super, switch, synchronized this, throw, throws, transient, true, try void, volatile while

Les noms de variables sont sensibles la casse (Java fait la diffrence entre les lettres minuscules et majuscules), il faut donc veiller respecter la casse des noms ! Par convention, un nom de variable est crit en minuscules, sans accent, ni _ ou $. En revanche lorsqu'il est compos de plusieurs mots, on peut utiliser une majuscule pour l'initiale de chaque nouveau mot. La dclaration de variables Pour pouvoir utiliser une variable, il faut la dfinir, c'est--dire lui donner un nom, mais surtout un type de donne stocker afin qu'un espace mmoire conforme au type de donne qu'elle contient lui soit rserv. Une variable se dclare de la faon suivante : type nomDeVariable; Ou bien s'il y a plusieurs variables du mme type : type nomDeVariable1, nom_de_variable2;

Java impose que les variables soient imprativement dclares avant d'tre utilise. Java permet de dfinir une variable n'importe quel endroit du code.

Les types primitifs Java est un langage orient objet, c'est--dire qu'il manipule des classes, ou plus exactement des objets, qui sont des instances de ces classes. Les donnes manipules avec Java, et que l'on utilise au travers de variables, sont donc types, le type d'un objet correspond la classe qu'il instancie. Toutefois il existe quelques types primitifs, permettant de manipuler directement les donnes les plus courantes. Ces donnes sont notamment spcifies par une reprsentation en mmoire, et donc un nombre d'octets prdfinis. Voici un tableau rpertoriant les huit types primitifs du langage Java :

Nombre entier (byte, short, int, long) Un nombre entier est un nombre sans virgule qui peut tre exprim dans diffrentes bases :

Base dcimale: L'entier est reprsent par une suite de chiffre unitaires (de 0 9) ne devant pas commencer par le chiffre 0 Base hexadcimale: L'entier est reprsent par une suite d'units (de 0 9 ou de A F (ou a f)) devant commencer par 0x ou 0X

Lorsqu'un nombre est trop grand pour tre reprsent par un int, il faut explicitement le dclarer comme tant un long en lui rajoutant un L :

long n = 9876543210L; Nombre virgule (float, double) Un nombre virgule flottante est un nombre virgule, il peut toutefois tre reprsent comme :

un entier dcimal : 895 un nombre virgule (en utilisant la notation amricaine avec un point) : 845.32

un nombre exponentiel, c'est--dire un nombre (ventuellement virgule) suivi de la lettre e (ou E), puis d'un entier correspondant la puissance de 10 (sign ou non, c'est--dire prcd d'un + ou d'un -)

2.75e-2 35.8E+10 .25e-2 Les nombres de type float sont cods sur 32 bits dont Les nombres de type double sont cods sur 64 bits dont :

La prcision des nombres rels est approche. Elle dpend du nombre de dcimales, elle sera au moins :

de 6 chiffres significatifs pour le type float de 15 chiffres significatifs pour le type double

Caractre (char) Le type char (provenant de l'anglais character) permet de stocker la valeur Unicode, code sur 16 bits, d'un caractre, c'est--dire un nombre entier cod sur 16 bits, soit 65535 caractres ! Par consquent il est possible de stocker un caractre accentu dans une variable de type char. Si jamais on dsire par exemple stocker la lettre B, on pourra dfinir cette donne soit par son code Unicode '\u0066', soit en plaant directement le caractres entre apostrophes 'B'. Chanes de caractres (String) Les chanes de caractres ne correspondent pas un type de donnes mais une classe, ce qui signifie qu'une chane de caractre est un objet possdant des attributs et des mthodes. Une chane peut donc tre dclare de la faon suivante : String s = "Chaine de caractres";

Conversion de type de donnes (casting) On appelle conversion de type de donnes, parfois transtypage (traduction de l'anglais casting), le fait de modifier le type d'une donne en une autre. conversion implicite: une conversion implicite consiste en une modification du type de donne effectue automatiquement par le compilateur. Cela signifie que lorsque l'on va stocker un type de donne dans une variable dclare avec un

autre type, le compilateur ne retournera pas d'erreur mais effectuera une conversion implicite de la donne avant de l'affecter la variable. conversion explicite: une conversion explicite (appele aussiopration de cast) consiste en une modification du type de donne force. Cela signifie que l'on utilise un oprateur dit de cast pour spcifier la conversion. L'oprateur de cast est tout simplement le type de donne, dans lequel on dsire convertir une variable, entre des parenthses prcdant la variable. double x = 8.324; int n = (int) x; Les structures de contrles Comme la quasi-totalit des langages de dveloppement orients objets, Java propose un ensemble d'instructions qui permettent d'organiser et de structurer les traitements. L'usage de ces instructions est similaire celui rencontr avec leur quivalent dans d'autres langages. Les branchements conditionnels

if (boolean) { ... } else if (boolean) { ... } else { ... }

switch (expression) { case constante1 : instr11; instr12; break; case constante2 : ... default : ... } On ne peut utiliser switch qu'avec des types primitifs d'une taille maximum de 32 bits (byte, short, int, char).

Si une instruction case ne contient pas de break alors les traitements associs au case suivant sont excuts. Il est possible d'imbriquer des switch L'oprateur ternaire : ( condition ) ? valeur-vrai : valeur-faux

Les boucles while ( boolean ) { ... // code excuter dans la boucle } Le code est excut tant que le boolen est vrai. Si avant l'instruction while, le boolen est faux, alors le code de la boucle ne sera jamais excut Ne pas mettre de ; aprs la condition sinon le corps de la boucle ne sera jamais excut do { ... } while ( boolean ); Cette boucle est au moins excute une fois quelque soit la valeur du boolen; for ( initialisation; condition; modification) { ... }

L'initialisation, optionnelles.

la

condition

et

la

modification

de

l'index

sont

Dans l'initialisation, on peut dclarer une variable qui servira d'index et qui sera dans ce cas locale la boucle. Il est possible d'inclure plusieurs traitements dans l'initialisation et la modification de la boucle : chacun des traitements doit tre spar par une virgule.

Il est possible de nommer une boucle pour permettre de l'interrompre mme si cela est peu recommand :

Les dbranchements break : permet de quitter immdiatement une boucle ou un branchement. Utilisable dans tous les contrles de flot continue : s'utilise dans une boucle pour passer directement l'itration suivante break et continue peuvent s'excuter avec des blocs nomms. Il est possible de prciser une tiquette pour indiquer le point de retour lors de la fin du traitement dclench par le break. Une tiquette est un nom suivi d'un caractre deux-points qui dfinit le dbut d'une instruction.