Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Premier programme en C :
La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Spécialisation/généralisation Héritage Polymorphisme.
Spécialisation/généralisation Héritage Polymorphisme
Le mécanisme des exceptions
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Approfondissement du langage
(Classes prédéfinies – API Java)
C.
Programmer en JAVA par Tama
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
PHP5 poo.
Algorithme et programmation
Traitement des erreurs en Java
Chapitre III Héritage (début)
Principes de programmation (suite)
Programmation orientée objet
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Langage Oriente Objet Cours 4.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Classes abstraites et Interfaces
Introduction à la programmation (Java)
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Structures de données IFT-2000
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Instruction sélective switch-case Instruction répétitive do-while For
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
Plan troisième cours Instruction sélective Instruction répétitive
Les méthodes en java • Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. • Une méthode pour être utilisée.
Objectifs À la fin de ce cours, vous serez capables de :
La notion de type revisitée en POO
3 Les instructions. Cours 32 Plan du cours 3 Instruction Bloc Portée L’alternative Affectations =, +=, *=… Comment comparer –Comparer des réels –Comparer.
GESTION ET TRAITEMENT DES ERREURS
7ième Classe (Mardi, 24 novembre) CSI2572. Devoir 3 ?
Variables et accès en Java. Déclaration des variables final transient static private Printer hp; transient => ne doivent pas être sérialisées volatile.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
Créer des packages.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Objets et Classes Master 1 SIGLIS1Java Lecteur - Chapitre 1 Objets et classes.
Tutorat en bio-informatique
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Introduction au langage C Fonctions et Procédures
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Les surcharges d'opérateurs
Cours LCS N°4 Présenté par Mr: LALLALI
Cours du 5 novembre.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
6ième Classe (Mercredi, 17 novembre) CSI2572
Héritage Conception par Objet et programmation Java
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
Classes abstraites, interface Classe interne Classes enveloppes
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Langage et Concepts de Programmation Orientée-Objet Pôle Informatique 2007/2008 École Nationale Supérieure des Mines de Saint-Étienne Laurent Vercouter.
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Exception Handling "Unfortunately, it's almost accepted practice to ignore error conditions, as if we're in a state of denial about errors." Bruce Eckel.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 2.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
Transcription de la présentation:

Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java

Master SIGLIS2 Nommer et placer incorrectement un fichier java  La classe X doit être déclarée dans le fichier X.java  Si X appartient au package p alors : X.java doit être placé dans le dossier p

Master SIGLIS3 Erreur d'encodage des caractères Quand on fait un projet Netbeans avec les fichiers de la correction on a une erreur "unmappable character for encoding UTF-8" Il faut changer l'encodage du projet : il est encodé par défaut en UTF-8 il faut passer en ISO Dans la vue Projet/Bouton Droit sur la racine du Projet/Selectionner Properties, Dans la fenêtre qui s'affiche, selectionner Sources, puis changer l'encodage (encoding) de UTF-8 en ISO

Master SIGLIS4 tous les mots clés Java sont en minuscule le message d'erreur dépend du mot clé incorrectement orthographié Exemple : pour class Line nn: class or interface declaration expected class, interface, extends, for, do while, try, catch, throws, public,private, if, else

Master SIGLIS5 toutes les instructions doivent se terminer par un point-virgule il manque un ; quand il y a un problème de compilation un point rouge s'affiche Quand on déplace la souris au dessus du point rouge on a une aide sur l'erreur : ici il manque un ; rajouter un ; corrige l'erreur

Master SIGLIS6 les blocs sont ouvert par une { et fermés par une } Conséquence : il doit y avoir autant de { que de } !!  Quand on oublie une accolade une erreur est détectée mais pas toujours à l'endroit de l'erreur !  De plus l'erreur varie  Quand on a une erreur que l'on n'arrive pas à expliquer c'est souvent une bonne idée de vérifier que l'on a autant de { que de } Souvenez vous :  il doit y avoir une bloc pour la classe  toute méthode doit définir un bloc  les structures de controles utilisent des blocs si elles contiennent plus d'une instruction bloc de la classe bloc de la méthode main bloc du do blocs du if

Master SIGLIS7 une variable doit être obligatoire définie jeanDurand n'est pas défini Partout où elle est mentionnée on a une erreur !!! Déclarer la variable résoud le problème Erreur : "Cannot find symbol symbol jeanDurand"

Master SIGLIS8 Une constante de type String définie au dela de la ligne String s = "A very long string which just happens to go over the end of a line and causes a problem with the compiler"; Erreur : Line nn: ';' expected Solution : String s = "A very long string which just happens to go over the end "+ "of a line and causes a problem with the compiler"

Master SIGLIS9 Un appel à une méthode sans argument sans mettre les parenthèses j eanDurand.isMineur au lieu de jeanDurand.isMineur() Line nn: Invalid expression statement Erreur

Master SIGLIS10 Oublier d'importer un package Quand on utilise un objet, une méthode, une constante qui est définie dans un package externe, il faut obligatoirement importer ce package import java.util.LinkedList; Exemple Permet d'utiliser les listes

Master SIGLIS11 Java est sensible à la casse  la variable jeanDurand et la variable jeandurand ne sont pas les mêmes  la classe String et la classe string ne sont pas les mêmes Line nn: Class xxxx not found in type declaration. ou Line nn: Undefined variable: xxxx Erreurs

Master SIGLIS12 spécifier les arguments d'une méthode incorrectement public int[] calcul(int a, int b, String c) Exemple  le type de tous les arguments doit être spécifié public int[] calcul(int a, b, String c)  le type du retour doit être spécifié public calcul(int a, int b, String c)  les arguments doivent être séparés par des, public int[] calcul(int a int b, String c) Line nn: Identifier expected Erreur

Master SIGLIS13 Oublier que == compare les références et non les valeurs Résultat == compare les références equals compare le contenu des objets claude1 "Claude" claude2 "Claude" ici claude1 et claude2 référencent deux zones mémoires différentes mais qui contiennent la même valeur

Master SIGLIS14 Oublier le(s) break dans un case Un case sans les break Résultat (cas où on a tiré un e) On a executé toutes les branches en dessous du cas 'e'

Master SIGLIS15 Oublier void dans les méthodes qui ne retournent pas de résultat Erreur Line nn: Invalid method declaration; return type required

Master SIGLIS16 Oublier un return dans une méthode Quand une méthode renvoie un résultat, elle doit contenir au moins un return. Erreur Line nn: Return required at end of xxxx Exemple

Master SIGLIS17 Rendre un attribut privé et essayer d'y accéder depuis une autre classe Les attributs privés d'un objet sont inaccessibles depuis l'exterieur

la variable arg1 est inconnue en dehors du bloc où elle a été déclarée Master SIGLIS18 Une variable est inconnue en dehors du bloc où elle a été déclarée Solution Déclarer arg1 dans un bloc où elle sera visible partout L'erreur a disparu Exemple

Master SIGLIS19 Déclarer un constructeur comme une méthode Un constructeur se reconnait :  il porte le même nom que la classe  Sa signature ne contient pas de type de retour

Master SIGLIS20 Utiliser un double à la place d'un float  Toute constante numérique contenant un point est considérée comme un double  On ne peut affecter un double à un float à cause de la perte de précision  Si on veut le faire, il faut forcer le compilateur Solution  Soit on ajoute f derrière la constante pour exprimer qu'il s'agit d'un float  Soit un utilise un cast pour faire la conversion explicitement  c'est la même chose pour les long et les int  on utilise l pour les long ;  on utilise d pour les double ;

Master SIGLIS21