java
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

java



  1. #1
    mathier

    java


    ------

    bonjour
    je débute en java.
    Après qq lectures (site du zero et autres) je n'arrive tjs pas à clarifier certaines choses.
    J'essaie de comprendre la "philosophie" globale d'un programme java

    je m'embrouille dans les termes classes, types, méthode.

    si j'ai bien compris 1 fichier .java = 1 classe pour éviter de faire un truc trop dur et compliqué
    on commence tjs par une classe publique public class XXX
    ensuite on donne une méthode: c'est quoi d'ailleurs méthode main pour les prog simples
    on déclare les types de variables qu'on va utiliser dans les intructions du programmes
    on écrit les instructions
    on finit par une valeur retour la plupart du temps.

    est ce bien cela?
    classe et méthode je trouve cela étrange

    merci

    -----

  2. #2
    Dlzlogic

    Re : java

    Bonjour,
    Avant de lire de façon précise vos questions, je vais essayer de répondre au terme "philosophie".
    Je commence par la fin.
    Un ordinateur, pour travailler a besoin d'une suite d'instructions : le code. Parmi les types d'instructions, je distinguerai les instructions de calcul, les instructions de test et les instructions de saut.
    Il est très long et très difficile de rédiger, et même de lire un tel code, d'autant que cela dépend de la machine.
    Pour contourner cela, on a créé les langages.

    Le Java est un de ces langages. Il a été crée pour permettre d'écrire des programmes qui puissent être traités quelque soit le type de machine (UNIX, Linux, Windows, Mac, peut-être même OS/2). Cela est important à savoir, puisqu'il doit exister sur la machine utilisée, un logiciel qui saura comprendre ce que le programmeur a écrit pour que la machine puisse l'exécuter. Pour être rigoureux, j'ajouterai que ce qu'a écrit le programmeur sera d'abord pré-transformé.

    Maintenant, vos question.

    si j'ai bien compris 1 fichier .java = 1 classe pour éviter de faire un truc trop dur et compliqué
    Le but d'une classe n'est pas forcément d'éviter de faire un truc trop dur, mais de regrouper sous un même "titre" ou "nom" ou "type", tout ce qui y a un rapport direct. Par exemple, je crée une classe dont le nom est POINT. il pourra y avoir des membres privés comme X, Y (les coordonnées) il devra y avoir des méthodes pour construire un instance, des méthodes pour modifier, comparer etc. et détruire.

    on commence tjs par une classe publique public class XXX
    ensuite on donne une méthode: c'est quoi d'ailleurs méthode main pour les prog simples

    Que l'on commence par déclarer une classe publique, c'est une particularité de Java. Je suppose que la raison en est que au moment de l'exécution, ce qui était "Fonction principale" n'est plus qu'une méthode pour un programme qui est une couche supérieure.
    La méthode main, c'est le point d'entrée, que ce soit des programmes simples ou des programmes compliqués.

    on déclare les types de variables qu'on va utiliser dans les intructions du programmes
    on écrit les instructions
    on finit par une valeur retour la plupart du temps.
    est ce bien cela?
    classe et méthode je trouve cela étrange

    Une variable doit être déclarée. C'est exactement comme dans un exercice de math, où vous dites "soit x1 et x2 les coordonnées de deux points ".
    On préfère, et c'est souvent obligatoire, initialiser ls variables, c'est à dire leur donner une valeur.
    Autre initialisation : soit x3 l'abscisse du point milieu.
    Maintenant une instruction
    x3 = (x1 + x2)/2
    Si la méthode doit renvoyer le résultat, il y aura au moins une instruction "return val". En l'occurrence, ce serait "return x3".

    Classe et méthode.
    Une méthode, moi, j'appelle ça plutôt "fonction", c'est un petit morceau de programme qui comporte un début et une fin, qui a un nom, des paramètres d'entrée, une valeur renvoyée ou pas. Une fonction fait toujours le même chose. Elle a été soigneusement mise au point pour servir longtemps et souvent. Autre synonyme "procédure".
    Une classe est la définition d'une chose, on appelle ça "objet", où est décrit tout ce qui s'y rapporte, y compris variables (sauf l'initialisation) et méthodes.

  3. #3
    mathier

    Re : java

    tout d'abord , merci pour ces longues explications.
    J'ai lu ça attentivement et je ne suis pas sûr d'avoir parfaitement saisi.
    le mieux est sans doute de donner ma vision de java , pour pouvoir m'indiquer les points qui sont faux.

    la philosophie:
    1) je tape du code en langage java à l'aide d'un éditeur de texte, j'enregistre mon code et j'ai un fichier .java
    2) une précompilation est faite transformant mon code java en un code byte: le précompilateur me fournit alors un fichier .class
    3) la machine virtuelle avec un systeme d'exploitation quelconque (windows, linux) va transformer ce code byte en un code machine (du binaire) que le pc va pouvoir interpréter et donc exécuter.

    réalisation d'un code java
    ((étape 1) d'avant)
    1) je suis obligé de toujours commencer par déclarer un "public class " qui portera le nom du fichier .java que j'aurai : obligation car ça contient quelque chose dont le précompilateur a besoin.
    on ne verra jamais de code java qui commence par autre chose que public class

    2) je vais mettre une où des classes dans mon programmes

    3) à l'intérieur de chaque classe je vais définir une ou plusieurs fonctions, méthodes dans lesquelles on va utiliser des variables etc ...

    un programme java aura donc cette forme:

    public class

    classe1
    methode1
    méthode2 ....

    classe 2
    methode1
    méthode2 ....

    etc ...

    voilà
    je n'ai pas réussi à positionner la méthode principale (main)

    Je rappelle que j'ai volontairement été très affirmatif pour vous montrer au mieux ma conception qui doit être fausse en partie

    merci

  4. #4
    Dlzlogic

    Re : java

    Je crois que vous avez tout compris, c'est tout à fait ça.

    Un conseil, trouvez un tutoriel. Commencez avec des exemples simples et existants de telle façon que ça marche.
    Ensuite, à partir d'un exemple, vous imaginez des rajouts et vous avez déjà un programme qui est plus qu'une simple recopie.
    Si vous n'en avez pas de tutoriel, je peux chercher un lien. C'est pas terrible, mais mieux que rien.

  5. A voir en vidéo sur Futura
  6. #5
    mathier

    Re : java

    merci
    pour le tutoriel je lis celui du site du zero mais je trouve que le tutoriel n'est pas très bien structuré (contrairement à celui du langage C que j'ai commencé aussi),
    il n'explique pas clairement les bases de java pour un débutant.

  7. #6
    Dlzlogic

    Re : java

    Bonjour,
    Pour apprendre la programmation, vous avez compris ma préférence pour le C, en particulier vis à vis de Java.
    Concernant le cours auquel je faisais allusion, il s'appelle "Cours JAVA.pdf" écrit pas Jean Michel Doudoux.

  8. #7
    mathier

    Re : java

    merci pour la référence, je viens d'aller voir le site.
    Je pense que je vais , après bcq d'hésitations, procéder de la façon suivante:
    apprendre les rudiments du C et de Java en même temps tout en essayant de voir les mêmes choses : les opérateurs, etc ...
    le C avec le site du zero
    java avec ton site et le site du zero
    j'ai 5 semaines pour apprendre les rudiments et voir si ça me branche avant de reprendre en septembre une licence d'info avec le CNAM

  9. #8
    Dlzlogic

    Re : java

    Ca me parait très bien comme logique.
    Il ne faut surtout pas hésiter à demander de l'aide.
    Bon courage.

Discussions similaires

  1. java
    Par invite5dfb4918 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 15/11/2009, 16h17
  2. java
    Par inviteafd8fc22 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 18/05/2008, 07h07
  3. Java, java, java, where are you, there's a mission for you !
    Par invite1237a629 dans le forum Logiciel - Software - Open Source
    Réponses: 35
    Dernier message: 16/03/2008, 22h10
  4. java help!!
    Par invited6d83fd1 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 30/07/2005, 10h56