JavaRush /Blog Java /Random-FR /Les problèmes les plus courants de ceux qui commencent à ...

Les problèmes les plus courants de ceux qui commencent à apprendre Java

Publié dans le groupe Random-FR
Niveau de connaissances requis pour comprendre l'article : débutant. Vous êtes en train d'étudier la quête Java Syntax, et vous vous rapprochez de ses niveaux initiaux. Les problèmes les plus courants de ceux qui commencent à apprendre Java - 1Vous venez de commencer à apprendre Java. Vous êtes bombardé de termes comme s’ils provenaient d’une corne d’abondance. Vous êtes chargé de tonnes d'informations techniques et parfois vous vous perdez dans trois pins. Croyez-moi, puisque vous vous êtes déjà impliqué dans la programmation, CE SERA TOUJOURS AINSI (à ce moment, un rire menaçant retentit hors écran, et une voix calme, coupée au milieu d'une phrase, murmure « Courez... sauvez-vous avant c'est trop tard..."). Les bugs vous hanteront pour le reste de votre vie de programmeur, même si vous êtes le meilleur développeur. Cependant, ce n’est pas du tout aussi effrayant qu’il y paraît.
Si vous venez de commencer à apprendre JavaRush, vous avez probablement déjà rencontré les problèmes évoqués dans l'article. Dans tous les cas, nous serions heureux de recevoir des commentaires décrivant les problèmes que vous avez rencontrés au cours de vos premiers mois d'apprentissage de Java.

Problème de niveau 0 : Confusion avec l'opérateur de comparaison (==) et l'opérateur d'affectation (=).

Il s'agit d'un problème très courant pour ceux qui quittent d'autres langages de programmation. Et en général, depuis l'école primaire, nous nous sommes habitués au fait qu'il (=)s'agit d'un signe égal. Une astuce simple qui peut être utilisée pour se souvenir est la suivante : si vous savez que vous ne vous souciez que d'une des valeurs (vous en attribuez une à l'autre), vous utilisez un seul =signe " ", sinon si vous vous souciez de toutes les variables et les valeurs (vous les comparez) vous avez besoin d'un double ==signe " ".

Problème : Utilisation de l'opérateur de comparaison (==) pour tester l'équivalence de chaîne

Que faire : N'oubliez pas qu'aucun objet Java ne peut être vérifié pour l'équivalence à l'aide de(==) , puisque cet opérateur est conçu pour tester l'égalité des types primitifs.
Les problèmes les plus courants de ceux qui commencent à apprendre Java - 2
Pour les objets, vous devez utiliser le .equals(). Et Stringdans le langage Java, ce n'est rien de plus qu'un objet (et immutable).
Un objet marqué comme Immutable est un objet dont l'état ne peut pas être modifié après sa création. En Java , cela signifie que tous les champs d'instance d'une classe sont marqués comme finalet sont des primitives (ou également immutable).

Problème : concaténation de chaînes dans une boucle

N'essayez pas cela vous-même ! Chaque fois que des chaînes sont concaténées, un nouvel objet est créé String(comme nous l'avons découvert ci-dessus, les chaînes immutablesont immuables). À un moment donné, vous manquerez de mémoire ou le programme commencera à prendre trop de temps. Solution. Utilisez StringBuilder-le plutôt Stringlors de la concaténation de contenu dans une boucle. La classe StringBuilderest utilisée lorsque vous devez apporter de nombreuses modifications à une chaîne de caractères. Et de telles lignes, contrairement à String, ne le sont pas immutable.

Problème : NullPointerException

Ce type d'exception se produit lorsque nous essayons d'utiliser un pointeur nul nullalors qu'en fait nous avons besoin d'un objet réel.
Tous les types primitifs ont des valeurs par défaut. Donc, y intest 0, et y booleanest false. La valeur par défaut de tout type de référence, c'est-à-dire des objets, est null. Ce n'est pas un objet ou un type, c'est une valeur spéciale. Ce qui signifie essentiellement « il n’y a rien ici ».
Les problèmes les plus courants de ceux qui commencent à apprendre Java - 3
Que faire : Si votre code est écrit de telle manière qu'à un moment donné votre objet peut accepter la valeur null, vous devez ajouter une « vérification de null», surtout si vous ne créez pas l'objet vous-même. N'oubliez pas non plus qu'il est préférable de renvoyer des collections vides plutôt qu'un ensemble de null. Ce serait également bien d'ajouter une validation pour les getters et les setters.

Problème : pour une raison quelconque, la boucle if / while / for ne fonctionne pas

if (something.equals («что-то еще»)); {// <---- корень зла!!!
     System.out.println («Почему я не работаю???»);
}
Qu'est-ce qui ne va pas ici ? C'est simple : un point-virgule supplémentaire a gâché le sang de centaines de milliers de programmeurs Java novices. Eh bien, vous n'en avez plus besoin après if (). Du point de vue du langage, une telle syntaxe est tout à fait acceptable, le compilateur ne s'en plaindra donc pas. Mais cela met fin à l’instruction conditionnelle et le code à l’intérieur du bloc {}ne satisfera jamais à la condition ci-dessus.
Les problèmes les plus courants de ceux qui commencent à apprendre Java - 4
Solution : rappelez-vous la logique de conception. Le ;signe « » signifie la fin d'un certain bloc, mais ici tout ne fait que commencer.

Problème : tentative d'accès à des variables membres non statiques à partir de méthodes statiques (telles que main)

Solution . Ce problème est lié à la compréhension du concept lui-même static. Si une méthode est marquée de ce mot, cela signifie que nous n'avons pas besoin d'instancier la classe pour appeler la méthode principale. La solution est donc d’avoir une bonne compréhension de la « statique » et de comprendre leur essence.

Problème : Essayer de réinventer la roue en développant des bibliothèques et des outils déjà existants

Solution. Ce n'est en fait pas vraiment un problème. Pour un débutant, c’est plutôt un exercice utile. Cependant, si vous souhaitez vous concentrer sur le résultat, par exemple en créant une base de données d'abonnés pratique, la recherche d'un abonné dans l'annuaire téléphonique n'est que l'un des résultats de votre candidature. Dans ce cas, il n’est pas nécessaire d’écrire un algorithme de recherche binaire. Utilisez-en un existant (on vous l'assure, quelqu'un l'a déjà écrit avant vous et il est dans les bibliothèques standards). Étudiez donc les bibliothèques standard Java dans la documentation Oracle. Apprenez à Google, habituez-vous à lire Stack Overflow et posez des questions sur l'aide de JavaRush ! ...Bien sûr, ce ne sont pas tous les problèmes des débutants. Décrivez le vôtre dans les commentaires ! Êtes-vous intéressé à lire des articles sur Java ? Rejoignez le groupe de développeurs Java . Il y a beaucoup de choses intéressantes ici.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION