"अरे, तरुण भर्ती, जो दररोज अनेक चुका करतो, अगदी सोप्या कार्यक्रमातही!

"अं... हाय, डिएगो. मुला, तुला खरच माहित आहे की लोकांना कसे खुश करायचे!"

"नक्कीच, मी करतो! काय म्हणायचे आहे ते कसे म्हणायचे ते शिका. मी म्हटल्याप्रमाणे, 'प्रत्येक दिवस'. अधिक विनम्रपणे सांगणे, माझ्या शुभेच्छा म्हणजे "भावी यशस्वी प्रोग्रामर, जर तुम्ही ते उडवले नाही तर ."

"ओह, बरं मग धन्यवाद, माझ्या सर्वात धातूच्या शिक्षक! .

"या धड्यानंतर तुम्ही माझे आभार मानाल. येथे मी कंपाइलरने नोंदवलेल्या सर्वात लोकप्रिय त्रुटींची यादी करणार आहे. आणि तुमचे काम लक्षात ठेवणे आहे. Forewarned is forearmed.

अर्धविराम विसरणे

"जावा प्रोग्रामर इच्छुक असलेल्या सर्वात सामान्य चुकीमध्ये अर्धविरामाचा समावेश होतो. किंवा त्याऐवजी, त्याची अनुपस्थिती जिथे असावी."

"खरं आहे... मी हा गुन्हा वारंवार केला आहे."

"मेथडमधील प्रत्येक विधान अर्धविरामाने समाप्त होणे आवश्यक आहे. अर्धविराम म्हणजे विधाने किंवा आदेश वेगळे करतो: अशा प्रकारे आपण Java कंपाइलरला सांगतो की एक कमांड कोठे संपते आणि दुसरी सुरू होते.

त्रुटींची उदाहरणे:

चुकीचा कोड बरोबर कोड
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 वर्ग वर्गाच्या नावाप्रमाणेच एका फाईलमध्ये संग्रहित केले जाणे आवश्यक आहे. आणि आधी सांगितल्याप्रमाणे, अक्षरांचे केस येथे महत्त्वाचे आहे:

फाईलचे नाव वर्गाचे नाव नोंद
उपाय.जावा उपाय सर्व काही ठीक आहे
उपाय s .java उपाय फाईलचे नाव अनावश्यक अक्षर 's' म्हणून
s olution.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आणि तुमचा प्रोग्राम संकलित होणार नाही."

"धन्यवाद, दिएगो. हा धडा मला अधिक लक्ष देण्यास प्रवृत्त करेल."

"तेच मी मोजत होतो. शुभेच्छा!"