Jump to content

Tutoriel Java - Le vrai début ^^ ! 0.5 [Débutant]


Recommended Posts

Posted

Coucou tout le monde ! J'espere que ça va :P^^. Alors cette fois ci on commence VRAIMENT à toucher au code source(sorte de cerveaux du programme, qui avec une conversion java-> binaire fera marcher le programme) ! Avant de produire des codes 100 % fait maison on va en analyser un, très basique ! :

package org.yapix.mPP; //Le nom du package que vous avez donnez (voir dernier tutoriel).

import java.util.Scanner; //Importation d'une classe permettant de pouvoir taper du texte.

/**
 * @author Yapix //Vous ^^ #JavaDoc.
 *
 */

public class Main { //Ce nom changera en fonction de comment vous avez nommez votre classe.

	/**
	 *  //La javadoc (pour l'instant vous n'en avez pas tellement besoin^^.
	 */

	public Main() { //La classe publique Main()
	}

	/**
	 * @param args //Toujours la javadoc ^^.
	 */

	@SuppressWarnings("resource") //#JavaDoc ^^.
	public static void main(String[] args) { //Une des choses les plus importantes !

		Scanner cl = new Scanner(System.in); //La création de la "variable" cl.
		String i = ""; //La variable de type texte i.

		System.out.println("Ecrivez"); //Pour afficher du texte !
		i = cl.nextLine(); //Pour appeler la variable i
		System.out.println(i); //Afficher la variable i
	} //Pour dire que la classe statique & publique, void main s'arrete

} //Marquant la toute fin du programme

Avant de détailler plus vous pouvez voir que j'utilise deux slashs pour vous donnez les informations, ça s'appele un commentaire monoligne pour les multilignes vous avez deux exemples : où je vous parle de la JavaDoc ^^. Maintenant on va rentrer dans le code et le définir ligne après ligne !^^ C'est parti ! ^^. N'hésitez pas à manipuer le code ! ^^

package org.yapix.mPP; 

Ce qui permet d'appeler le package org.yapix.mPP. Définit plus tot par vous même. Son nom dépend entièrement de comment vous aviez nommé votre package ^^.

import java.util.Scanner;

Un keyword (mot clé) permettant de faire appel à la classe Scanner appartenant à util place lui même dans java ^^. Sans doute qu'un tutoriel si ce n'est plusieur sera consacré à la création d'une API (;) c'est une interface de programmation^^). Ici l'objet Scanner (oui un objet, car java est un language orienté objet) permet de pouvoir avoir des intéractions entre le clavier et l'écran comme quand vous tapez du texte sur un document texte, un message ou même lors ce que vous appuyez sur une touche pour pouvoir par exemple avancer (certe pour faire avancer un personnage c'est plus complexe mais je vous promets qu'un jour on le fera !).

/**
 * @author Yapix 
 *
 */

C'est de la javadoc (j'expliquerai plus tard dans un tutoriel entièrement consacré à ça ^^ !). Cette "JavaDoc" sert à reconnaitre l'auteur du programme. Vous verrez que la JavaDoc est précédé d'un @ exemple @author, @EventHandler, @param... ^^.

public class Main {
}

Ici on "définit" notre classe nommé Main (également le nom du programme car tout est lié ^^), On peut voir que Main est public (donc que l'on peut utiliser le contenu de cette classe même en dehors des accolades ({...}) contrairement à private ! Egalement il y'a le class qui change "la fonction" de cette parti. Vous verrez que dans le prochain décryptage du code il n'y est pas^^.

Encore de la javadoc ^^.

public Main() {
}

Ici c'est casiment le même contenu sauf que : dans les parentheses on peut passer des arguments(en language Français ça équivaudrait plus ou moins à un Salut ^^). Il y a toujours le public qui permet que la classe soit utilisé en dehors "d'elle" ^^.

/**
* @param args 
*/

Encore de la javadoc et oui ! Ici on utilise le @param avec comme argument args. En soit celui ci vous ne devriez pas l'avoir, c'est donc pour ceci que je vais un peut passer au dessus. Quand vous aurez de bonne base je vous passerez ma configuration et là vous l'aurez ;) ^^.

@SuppressWarnings("resource")

Toujours de la JavaDoc c'est juste au niveaux visuel pour le développeur ^^.

public static void main(String[] args) {
}

Ici c'est le coeur du programme n'essayez pas de remplacer main par autre chose main voulant dire principale, vous auriez quelques erreurs ^^. Ayant pour argument (entre parenthese), String[] args signifie que l'on s'attend à ce que args soit un tableau de chaines de caractère (String pour chaine de caractere et [] pour tableau). Chat sert à si le programme est appelé en ligne de commande.

Scanner cl = new Scanner(System.in);

On retrouve l'objet Scanner qui se fait déclaré (en quelque sorte si vous préferez qu'on lui donne un petit nom ^^, ici cl). Donc l'objet de type Scanner nommé cl est égale à un nouveau Scanner dans System.in (on verra un tout petit plus tard c que c'est ^^.

String i = "";

On fait exactement pareil que pour le scanner sauf qu'ici c'est avec l'objet de type String (chaîne de caractère) nommé i, que l'on initialise c'est pour ceci qu'il n'y a rien dans les double quotes (= ""). Vous verrez plus tard que la valeur tapé dans l'objet Scanner cl, sera reprise par String i ^^.

System.out.println("Ecrivez");

Ici un fondamental de java, c'est comment écrire du texte à l'écran ! Juste après le print on voit qu'il y a un ln c'est comme un préfixe, il sert à sauter une ligne ! Un tutoriel entier sera consacré à ceci !

i = cl.nextLine();

Comme dans pour String i = ""; On stocke la valeur tapé dans cl dans la variable i. C'est sans doute flou pour vous, c'est pour ça qu'un tutoriel entier sera entièrement consacré à l'objet Scanner !

System.out.println(i);

Et avec cette "afficheur de texte" on voit la valeur tapée au clavier juste un peut plus haut. Vous comprendrez bien mieux dans le tutoriel entièremment consacré à ça ^^.
Alors maintenant que vous savez tout ça je vous mets au défi de le refaire (en comprenant votre code bien sur !) et sans regarder bonne chance :)

Un petit cadeau, voilà à quoi ressemble le code compiler (Main.class) vu par eclipse ^^ :

http://hastebin.com/bigaroruyi.avrasm

Et le code vu par le bloc note :

http://hastebin.com/jokeroyicu.coffee 
Et oui c'est clairement moins compréhensible ^^.

J'espere que vous avez aimé :). A un prochain tuto ou un message sur le forum ;).

Posted

Les choses sérieuses commencent, je vais prendre plaisir à suivre ton tutoriel :)

Merci les messages comme ça font vraiment chaud au coeur ;) ^^.

  • 5 months later...
Posted

C'est pas mal mais je ne comprend pas pourquoi tu commence pas par les titres primitifs mais directement par la classe String ?

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.