Cet article est un mémorandum. Bien qu'il s'agisse d'un contenu de niveau de référence, le code à publier dans cet article est ** Mauvais ** sont les choses principales. C'est dans le but de publier la partie qui s'est réellement trompée lors du codage et de la publier pour une réflexion personnelle. De plus, je n'aborderai pas la partie profonde ici, car je la passerai en revue plus tard tout en étudiant les questions d'examen Java Silver.
Langue: Java11, JDK13.0.2 Environnement d'exploitation: Windows 10
Si vous avez déjà touché à la programmation, vous l'avez probablement écrite. Mon vague souvenir est que je l'ai écrit en «Basic» ou en «C» dans un cours d'informatique au collège (je ne pensais pas que j'allais plonger dans le monde de la programmation à ce moment). Au fait, j'étudiais pour passer le ** "Python3 Engineer Certification Basic Exam" ** avec Python
, donc j'ai écrit ceci depuis l'invite de commande.
Hello,world!.py
>>> python
(réduction,python3.7.Message au démarrage 2)
>>>print("Hello,world!")
>>>Hello,world! #résultat
J'ai demandé «imprimer» et il est sorti immédiatement. Après cela, quand j'ai lu Java, c'était comme ça.
Hello,world!.java
//Faisons d'abord un cours
class helloWorld
{
public static void main(String[] args)
{
System.out.println("Hello,world!");
}
}
helloWorld.java
//Ensuite, compilons. Ouvrez l'invite de commande.
>>>cd C:\JavaSample
//Déplacer le répertoire.
//En d'autres termes, veuillez préciser où il se trouve dans le fichier.
>>>javac -encoding UTF-8 helloWorld.java
//Maintenant, c'est la compilation.
//Le paramètre d'encodage ne fonctionne pas, veuillez donc le spécifier également.
//Assurez-vous que les données compilées se trouvent dans le dossier spécifié.
>>>java helloWorld
Hello,world!
//C'est enfin terminé!
...... Quel est cet effort? !! Je ne peux pas dire bon ou mauvais car il y a des différences entre Python et Java selon le type de langage (j'étais confus à l'époque, mais j'y suis habitué).
Pour le moment, j'en ai écrit quelques-uns dans la méthode et je l'ai mémorisé, mais le problème est resté. Que signifient-ils en Java? ?? ?? Je ne comprends pas du tout.
Il n'y a presque aucune explication à ces descriptions étrangement longues dans le livre d'introduction (je l'ai regretté après une petite recherche basée sur l'intérêt). C'est un peu trop long pour dire: «Souvenons-nous de ceci comme oreiller», alors je voulais qu'il parle un peu. Qiita a déjà traité de cette histoire, je voudrais donc en présenter une (je mentionnerai simplement que c'était un article il y a trois ans et que le dernier Java actuel est SE11).
@tomz65k9nfy Défi d'expliquer Hello World de Java en se référant aux spécifications du langage
Aussi, voici une référence publiée par ʻOracle`, une société qui gère Java. Si vous dites **, je peux vous expliquer si vous comprenez cette page **.
Java® Platform, Standard Edition & Java Development Kit Spécifications de l'API version 11
Je vous ai donné deux confiance, mais pour être honnête ** je n'ai pas suffisamment avalé pour l'expliquer **. Cependant, en tant que débutant, je veux écrire quoi connecter ensuite, donc je veux décomposer ce long oreiller. Articles à diviser par démontage
L'objectif du démontage est
Une phrase de public static void main (String [] args)
.
public static void
/ main(String[] args)
Le premier a trois ** modificateurs **, le second a des ** méthodes ** et leurs arguments Tu peux voir ça.
Tout d'abord sur la méthode
La méthode main ()
est la classe java.lang.Object
, qui est un ** processus ** inclus dans la ** classe standard ** préparée par Java même si rien n'est déclaré. .. La partie contenant ce main ()
devient le ** point d'entrée ** et le traitement réel commence, et lorsque la méthode main () est quittée, le traitement se termine.
(String [] args)
est un argument requis par la méthode main ()
. Il est divisé en un ** tableau de type String ** et un nom d'argument «args». Il n'a pas besoin d'être nommé ** ʻargs** (peu importe s'il s'agit d'un nom différent, mais il semble être habituel de le nommer). Le type String est également membre de la classe
java.lang.Object` (il contient un mauvais mot, mais il est omis ici) et peut gérer des chaînes de caractères (le type char peut gérer des entiers et une seule unité. Une seule lettre).
En d'autres termes, c'est un tableau de type String, et il semble qu'il soit prêt à recevoir un traitement en lui donnant des arguments ou un autre nom.
Puis le modificateur.
Après avoir traité la méthode
void
</ li>, la valeur évaluée par chaque expression peut être affectée à la variable déclarée à l'intérieur de la classe. Nous l'appelons ** valeur de retour **, mais dans le cas de la méthode déclarée avec ce void
, il est possible de n'avoir aucune valeur de retour.
Pour une méthode qui n'a pas de valeur de retour, le traitement du bloc se termine ou le traitement est renvoyé à la classe d'origine qui a été appelée lors de l'instruction de retour.
...... Vraiment? Je réfléchis maintenant, tout comme le mystère s'est approfondi.
Cette fois, je l'ai limité à deux, mais qu'est-ce que "public static void main (String [] args)
"? J'ai vu de nombreux articles sur Internet. Après tout, il semble qu'il y ait de nombreuses questions. Il semble que nous ayons besoin d'en savoir plus pour pouvoir expliquer clairement la question.
La route menant au programme est profonde et escarpée.
J'écris et compile autant que possible des variables et des expressions moi-même, donc si je veux les citer complètement, je vais les décrire.
Easy Java 7e édition Java SE11 Silver Problem Collection (communément appelé Kuromoto) Tutoriel Python 3e édition (Notez qu'il s'agit de la page de magasin d'O'Reilly Japan)
Recommended Posts