"अरे, युवा रंगरूट, जो हर दिन बहुत सी गलतियाँ करता है, यहाँ तक कि सबसे सरल कार्यक्रमों में भी!

"उम... हाय, डिएगो। लड़के, तुम सच में जानते हो कि लोगों को खुश कैसे करना है!"

"बेशक, मैं करता हूँ! जो कहना है उसे कहना सीखें। जैसा मैंने कहा, 'हर दिन'। इसे और अधिक विनम्रता से कहें तो, मेरे अभिवादन का अर्थ है" भविष्य के सफल प्रोग्रामर, यदि, निश्चित रूप से, आप इसे नहीं उड़ाते हैं। "

"ओह, ठीक है तो धन्यवाद, मेरे सबसे धात्विक शिक्षक !

"इस पाठ के बाद आप मुझे धन्यवाद देंगे। यहां मैं संकलक द्वारा नोट की गई सबसे लोकप्रिय त्रुटियों को सूचीबद्ध करने जा रहा हूं। और आपका काम याद रखना है। पूर्वाभास पूर्वाभास है।

अल्पविराम भूल जाना

"जावा प्रोग्रामर की इच्छा रखने वाली सबसे आम गलती में अर्धविराम शामिल है। या बल्कि, इसकी अनुपस्थिति जहां यह होनी चाहिए।"

"सच्चाई यह है... मैंने यह अपराध बार-बार किया है।"

"एक विधि के अंदर प्रत्येक कथन को अर्धविराम के साथ समाप्त होना चाहिए। अर्धविराम वह है जो कथनों या आदेशों को अलग करता है: यह है कि हम जावा कंपाइलर को कैसे बताते हैं कि एक आदेश कहाँ समाप्त होता है और अगला शुरू होता है।

त्रुटियों के उदाहरण:

गलत कोड़ सही कोड
int a
int b = 5
int c = a + b
int a;
int b = 5;
int c = a + b;
System.out.println("Hello")
System.out.println("Hello");
if (2 > 3)
   System.out.println("Are we in Australia?")
if (2 > 3)
   System.out.println("Are we in Australia?");

उद्धरणों को बंद करना भूल जाना

"नवागंतुकों के लिए जावा में दूसरी सबसे आम गलती कोड में एक स्ट्रिंग लिख रही है और फिर उद्धरण को बंद करना भूल जाती है।

कोड में शाब्दिक प्रत्येक स्ट्रिंग को दोनों ओर दोहरे उद्धरण चिह्नों ("") के साथ संलग्न किया जाना चाहिए। शुरुआती प्रोग्रामर अक्सर पाठ की शुरुआत में उद्धरण चिह्न लगाते हैं, लेकिन वे अंत में उन्हें बंद करना भूल जाते हैं।

गलत कोड़ सही कोड
String s = "Hello;
String s = "Hello";
System.out.println("Hello);
System.out.println("Hello");
String s = "Hello";
String message = s + " and by. ;
String s = "Hello";
String message = s + " and bye.";

स्ट्रिंग्स को एक साथ चिपकाते समय प्लस चिह्न शामिल करना भूल जाना

"स्ट्रिंग्स के साथ काम करते समय एक और आम गलती एक साथ ग्लूइंग स्ट्रिंग्स के दौरान प्लस साइन लिखना भूल जाती है। यह त्रुटि विशेष रूप से प्रचलित होती है जब टेक्स्ट और वेरिएबल्स को कोड में लंबी अभिव्यक्ति में जोड़ा जाता है।

यहां कुछ उदाहरण दिए गए हैं:

गलत कोड़ सही कोड
String s = "Hello";
String message = s  " and bye.";
String s = "Hello";
String message = s + " and bye.";
int age = 35;
System.out.println("Age=" age);
int age = 35;
System.out.println("Age=" + age);
int age = 35;
System.out.println("Age=", age);
int age = 35;
System.out.println("Age=" + age);

कर्ली ब्रेसेस बंद करना भूल जाना

"यह एक बहुत ही सामान्य गलती है। ऐसी दो स्थितियाँ हैं जहाँ यह विशिष्ट है:

  1. आपने कहीं से कोड कॉपी करने का निर्णय लिया और गलती से कुछ कर्ली ब्रेसेस छूट गए।
  2. आप बस यह सुनिश्चित करने के लिए खुद को परेशान नहीं कर रहे हैं कि हर खुला कोष्ठक एक समापन कोष्ठक से मेल खाता है।"

"दूसरा विकल्प वह है जो मैं करता हूँ। कभी-कभी मैं इतना बहक जाता हूँ कि भूल जाता हूँ!" .

"इन त्रुटियों से बचने के लिए, आमतौर पर शुरुआती प्रोग्रामर के लिए शुरुआती एक के नीचे क्लोजिंग कर्ली ब्रेस लिखने की सिफारिश की जाती है।

उदाहरण:

गलत कोड़ सही कोड
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
}
{
   if (2 < 3)
   {
      if (3 < 4)
      {
         System.out.println("Mathematics!");
      }
   }
{
   if (2 < 3)
   {
      if (3 < 4)
      {
         System.out.println("Mathematics!");
      }
   }
}

कोष्ठक जोड़ना भूल रहे हैं

"अक्सर यह गलती डेवलपर्स द्वारा की जाती है जो प्रोग्रामिंग भाषाओं को जानते हैं जिन्हें समान परिस्थितियों में ब्रांड्स की आवश्यकता नहीं होती है।

एक संभावना यह है कि वे विधि कॉल के अंत में कोष्ठक लगाना भूल जाते हैं:

if-elseएक और संभावना यह है कि वे किसी कथन की स्थिति को कोष्ठक में लपेटना भूल जाते हैं ।

उदाहरण:

गलत कोड़ सही कोड
System.out.println("Hello!");
System.out.println;
System.out.println("And bye!");
System.out.println("Hello!");
System.out.println();
System.out.println("And bye!");
if 2 < 3
{
   if 3 < 4
   {
      System.out.println("Mathematics!");
   }
}
if (2 < 3)
{
   if (3 < 4)
   {
      System.out.println("Mathematics!");
   }
}

mainविधि घोषणा को गलत तरीके से लिखना

"जैसे ही वे खूनी mainविधि की घोषणा करते हैं! शायद ऐसा कुछ भी नहीं है जो नए लोगों को इस घटिया तरीके से परेशान करता है। महत्वपूर्ण बात यह है कि वे हमेशा आश्चर्यचकित होते हैं और आश्चर्य करते हैं कि उनका कार्यक्रम क्यों शुरू नहीं होगा? और निश्चित रूप से, प्रोग्रामर है दोष नहीं है, लेकिन प्रोग्राम, कंपाइलर, कोड वैलिडेटर, जावा मशीन, आदि। बलि का बकरा अंतहीन है।

उदाहरण:

गलत कोड़ व्याख्या
static void main(String[] args)
publicलापता है
public void main(String[] args)
staticलापता है
public main(String[] args)
voidलापता है
void main(String[] args)
publicऔर staticलापता हैं
public static void main(String args)
[]लापता है
public static void main()
String[] argsलापता है
public static int main(String args)
intइसके बजाय हमारे पास हैvoid

फ़ाइल का नाम वर्ग के नाम से अलग है

"जावा मानक के अनुसार, सभी जावा वर्गों को एक फ़ाइल में उसी नाम के साथ संग्रहीत किया जाना चाहिए जो वर्ग के नाम के रूप में है। और जैसा कि पहले उल्लेख किया गया है, अक्षरों का मामला यहाँ मायने रखता है:

फ़ाइल का नाम कक्षा का नाम टिप्पणी
समाधान।जावा समाधान और सब ठीक है न
समाधान एस । जावा समाधान फालतू अक्षर 'एस' के रूप में फाइल का नाम
समाधान. java समाधान फ़ाइल का नाम लोअरकेस अक्षर से शुरू होता है
समाधान। TXT समाधान फ़ाइल एक्सटेंशन .java के बजाय .txt है
समाधान।जावा समाधान क्लास का नाम लोअरकेस अक्षर से शुरू होता है

public"दरअसल, .java एक्सटेंशन वाली फ़ाइल में कई क्लास घोषित की जा सकती हैं, लेकिन उनमें से केवल एक में क्लास नाम से पहले शब्द हो सकता है। और यह वह नाम है जो फ़ाइल नाम से मेल खाना चाहिए।

"एक .java फ़ाइल में हमेशा एक वर्ग होना चाहिए जिसका नाम फ़ाइल नाम के समान हो, और उस वर्ग के लिए publicसंशोधक होना आवश्यक है। उदाहरण:

समाधान।जावा
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

"इसके अतिरिक्त, जावा भाषा आपको कक्षाओं के भीतर कक्षाएं लिखने देती है। उपरोक्त सीमा के आसपास जाने का यह एक और तरीका है। यदि एक सार्वजनिक वर्ग (संशोधक वाला वर्ग) publicफ़ाइल में घोषित किया गया है और फ़ाइल नाम के समान नाम है, तो आप इस सार्वजनिक वर्ग के भीतर जितने चाहें उतने वर्ग घोषित कर सकते हैं। कहा गया है कि ये अब सामान्य वर्ग नहीं होंगे। इसके बजाय, वे आंतरिक या नेस्टेड वर्ग होंगे। उदाहरण:

समाधान।जावा
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}

लिखना भूल जानाpackage

"चूंकि कार्यक्रमों में आमतौर पर हजारों कक्षाएं होती हैं, इसलिए उन सभी के लिए सरल, समझने योग्य और अद्वितीय नाम खोजना मुश्किल हो सकता है। यही कारण है कि जावा में यह कीवर्ड का उपयोग करके कक्षाओं को पैकेज में समूहित करने के लिए प्रथागत है। ठीक उसी तरह जिस तरह से फाइलों को समूहीकृत किया जाता है package। फ़ोल्डरों में।"

"आह-हा, इसीलिए प्रत्येक वर्ग को उस पैकेज के संकेत के साथ शुरू करना चाहिए जिसका वह है।"

"बिल्कुल सही। यहाँ एक उदाहरण है:

पैकेज के बिना कोड सही उदाहरण
public class Solution
{
}
package en.codegym.tasks.task0001;

public class Solution
{
}

जोड़ना भूल जाते हैंimport

"अगर हम अपने प्रोग्राम में किसी और की क्लास का उपयोग करना चाहते हैं, तो हमारे पास दो विकल्प हैं: हमारे कोड में हर जगह हमें क्लास के नाम से पहले उसका पैकेज नाम भी लिखना होगा। वैकल्पिक रूप से, हम कीवर्ड के साथ पूरी तरह से योग्य क्लास का नाम एक बार लिख सकते हैं import। । उदाहरण:

आयात का उपयोग किए बिना आयात का उपयोग करना
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

public class Solution
{
   Scanner console = new Scanner();
}

"दोनों विकल्प काम करते हैं, लेकिन अगर आप Scannerबिना जोड़े अपने कोड में लिखते हैं import, तो कंपाइलर यह समझने में सक्षम नहीं होगा कि उसे किस पैकेज Scannerसे क्लास लेने की जरूरत है, और आपका प्रोग्राम कंपाइल नहीं होगा।"

"धन्यवाद, डिएगो। यह पाठ मुझे और अधिक ध्यान देगा।"

"यही तो मैं गिन रहा था। गुड लक!"