CodeGym /Kursus Jawa /All lectures for JV purposes /Kesalahan kompilasi populer

Kesalahan kompilasi populer

All lectures for JV purposes
tingkat , wulangan
kasedhiya

"Eh, rekrut enom, sing nggawe akeh kesalahan saben dina, sanajan ing program sing paling gampang!

"Um... Halo, Diego. Cah, sampeyan pancen ngerti carane nyenengake wong!"

"Mesthi wae, aku! Sinau carane ngomong apa sing kudu diucapake. Kaya sing dakkandhakake, 'saben dina'. Nglebokake luwih sopan, salamku tegese "programmer sukses mangsa ngarep, yen, mesthi, sampeyan ora jotosan. ."

"Oooh, nggih matur nuwun, guru metalikku! .

"Sampeyan bakal matur nuwun sawise pawulangan iki. Ing kene aku bakal nyathet kesalahan sing paling populer sing dicathet dening kompiler. Lan tugas sampeyan kanggo ngelingi. Forewarned wis forearmed.

Lali titik koma

"Kesalahan sing paling umum ditindakake dening programmer Java yaiku titik koma. Utawa, ora ana ing ngendi wae."

"Satemene... aku wis bola-bali nglakoni pelanggaran iki."

"Saben statement ing cara kudu dipungkasi nganggo titik koma. Titik koma yaiku sing misahake statement utawa prentah: iki carane kita ngandhani compiler Java ing ngendi siji printah rampung lan sabanjure diwiwiti.

Conto kesalahan:

Kode sing salah Kode sing bener
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?");

Lali nutup kuotasi

"Kesalahan paling umum nomer loro kanggo wong anyar ing Jawa yaiku nulis senar ing kode banjur lali nutup kutipan kasebut.

Saben string literal ing kode kudu dilampirake ing loro-lorone karo tandha petik pindho ("). Programer pamula asring banget sijine tandha petik ing awal teks, nanging padha lali kanggo nutup ing mburi.

Kode sing salah Kode sing bener
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.";

Lali kanggo kalebu tandha plus nalika gluing bebarengan strings

"Kesalahan umum liyane nalika nggarap strings lali nulis tandha plus nalika gluing strings bebarengan. Kesalahan iki utamané lazim nalika teks lan variabel concatenated ing expression dawa ing kode.

Ing ngisor iki sawetara conto:

Kode sing salah Kode sing bener
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);

Lali nutup kurung kriting

"Iki minangka kesalahan sing umum banget. Ana rong kahanan sing khas:

  1. Sampeyan mutusake kanggo nyalin kode saka endi wae lan ora sengaja ora kejawab sawetara kurung kriting.
  2. Sampeyan mung ora ngganggu dhewe kanggo mesthekake yen saben kurung sing mbukak dicocogake karo kurung sing nutup."

"Opsi sing kapindho yaiku apa sing daklakoni. Kadhang-kadhang aku nganti lali!" .

"Kanggo ngindhari kesalahan kasebut, biasane dianjurake kanggo programer pamula nulis kurungan kriting nutup ing sangisore bukaan.

Tuladha:

Kode sing salah Kode sing bener
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!");
      }
   }
}

Lali nambah kurung

"Paling asring kesalahan iki digawe dening pangembang sing ngerti basa pemrograman sing ora mbutuhake tanda kurung ing kahanan sing padha.

Salah sawijining kemungkinan yaiku dheweke mung lali nyelehake tanda kurung ing pungkasan panggilan metode:

Kemungkinan liyane yaiku dheweke lali mbungkus kondisi pernyataan if-elseing kurung.

Tuladha:

Kode sing salah Kode sing bener
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!");
   }
}

Nulis maindeklarasi metode sing salah

"Sanalika padha ngumumake mainmetode getihen! Ora ana sing bisa nyebabake pemula kaya metode sing ora apik iki. Sing penting, dheweke mesthi kaget lan mikir kenapa programe ora diwiwiti? Lan, mesthi, programer ora 't kanggo nyalahke, nanging program, compiler, validator kode, mesin Java, etc. Dhaptar scapegoats punika telas.

Tuladha:

Kode sing salah Panjelasan
static void main(String[] args)
publicwis ilang
public void main(String[] args)
staticwis ilang
public main(String[] args)
voidwis ilang
void main(String[] args)
publiclan staticilang
public static void main(String args)
[]wis ilang
public static void main()
String[] argswis ilang
public static int main(String args)
We duwe inttinimbangvoid

Jeneng file beda karo jeneng kelas

"Miturut standar Jawa, kabeh kelas Jawa kudu disimpen ing file kanthi jeneng sing padha karo jeneng kelas. Lan kaya sing wis kasebut sadurunge, kasus huruf penting ing kene:

Jeneng berkas Jeneng kelas Cathetan
Solusi.java Solusi Kabeh apik
Solusi s .java Solusi Jeneng berkas minangka huruf superfluous 's'
s olution.java Solusi Jeneng berkas diwiwiti nganggo aksara cilik
Solusi. txt Solusi Ekstensi file yaiku .txt tinimbang .java
Solusi.java solusi Jeneng kelas diwiwiti kanthi huruf cilik

"Satemene, sawetara kelas bisa diumumake ing file kanthi ekstensi .java, nanging mung siji sing bisa duwe tembung publicsadurunge jeneng kelas. Lan iki jeneng sing kudu cocog karo jeneng file.

"File .java kudu tansah duwe kelas sing jenenge padha karo jeneng file, lan kelas kasebut kudu duwe modifier public. Conto:

Solusi.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

Kajaba iku, basa Jawa ngidini sampeyan nulis kelas ing kelas. Iki minangka cara liya kanggo ngatasi watesan ing ndhuwur. Yen kelas umum (kelas karo modifier) public​​diumumake ing file lan duwe jeneng sing padha karo jeneng file, banjur sampeyan bisa ngumumake akeh kelas sing sampeyan seneng ing kelas umum iki. Sing jarene, iki ora bakal dadi kelas biasa maneh, nanging bakal dadi kelas internal utawa nested. Conto:

Solusi.java
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}

Lali nulispackage

"Amarga program biasane duwe ewonan kelas, mula bisa angel golek jeneng sing gampang, dingerteni, lan unik kanggo kabeh. Pramila ing Jawa umume klompok kelas dadi paket nggunakake tembung kunci. Persis cara file dikelompokake package. menyang folder."

"Ah-ha, mulane saben kelas kudu diwiwiti kanthi indikasi paket sing duwe."

"Pancen. Iki contone:

Kode tanpa paket Tuladha sing dibenerake
public class Solution
{
}
package en.codegym.tasks.task0001;

public class Solution
{
}

Lali nambahimport

"Yen kita pengin nggunakake kelas wong liya ing program kita, kita duwe rong pilihan: nang endi wae ing kode kita uga kudu nulis jeneng paket sadurunge jeneng kelas. Utawa, kita bisa nulis jeneng kelas kanthi qualified kanthi tembung kunci importsapisan . Tuladha:

Tanpa nggunakake impor Nggunakake import
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

"Opsi loro kasebut bisa digunakake, nanging yen sampeyan mung nulis Scannering kode tanpa nambahake import, kompiler ora bakal bisa ngerti paket sing kudu dijupuk Scannersaka kelas, lan program sampeyan ora bakal dikompilasi."

"Matur nuwun, Diego. Pelajaran iki bakal nggawe aku luwih perhatian."

"Iku sing daketung. Untunge!"

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION