1. Olvidar un punto y coma

El error más común que cometen los aspirantes a programadores de Java tiene que ver con el punto y coma. O mejor dicho, su ausencia donde debería estar.

Cada declaración dentro de un método debe terminar con un punto y coma. El punto y coma es lo que separa las declaraciones o los comandos: así es como le decimos al compilador de Java dónde termina un comando y comienza el siguiente.

Ejemplos de errores:

código incorrecto Código correcto
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?");


2. Olvidarse de cerrar las comillas

El segundo error más común para los recién llegados a Java es escribir una cadena en el código y luego olvidarse de cerrar la comilla.

Cada literal de cadena en el código debe estar encerrado en ambos lados con comillas dobles ("). Los programadores principiantes suelen poner comillas al principio del texto, pero se olvidan de cerrarlas al final.

Aquí hay unos ejemplos:

código incorrecto Código correcto
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.";


3. Olvidarse de incluir un signo más al pegar hilos

Otro error común cuando se trabaja con cuerdas es olvidarse de escribir un signo más al pegar las cuerdas. Este error es especialmente frecuente cuando el texto y las variables se concatenan en una expresión larga en el código.

Aquí hay unos ejemplos:

código incorrecto Código correcto
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);


4. Olvidarse de cerrar las llaves

Este es un error muy común. Hay dos situaciones en las que esto es típico:

Primera situación: decidiste copiar el código de algún lugar y accidentalmente te perdiste algunas llaves. Segunda situación: simplemente no se está preocupando por asegurarse de que cada paréntesis de apertura coincida con un paréntesis de cierre.

Para evitar estos errores, generalmente se recomienda que los programadores principiantes escriban la llave de cierre debajo de la de apertura.

Ejemplos:

código incorrecto Código correcto
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!");
      }
   }
}


5. Olvidarse de agregar paréntesis

La mayoría de las veces, este error lo cometen los desarrolladores que conocen lenguajes de programación que no requieren paréntesis en situaciones similares.

Una posibilidad es que simplemente se olviden de poner paréntesis al final de una llamada al método:

Otra posibilidad es que se olviden de envolver la condición de una if-elsedeclaración entre paréntesis.

Ejemplos:

código incorrecto Código correcto
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!");
   }
}


6. Escribir la maindeclaración del método incorrectamente

¡Tan pronto como declaren el maldito mainmétodo! Probablemente no haya nada que haga tropezar tanto a los novatos como este pobre método. Es importante destacar que siempre se sorprenden y se preguntan por qué su programa no se inicia.

Y, por supuesto, la culpa no la tiene el programador, sino el programa, el compilador, el validador de código, la máquina Java, etc. La lista de chivos expiatorios es interminable.

Ejemplos:

código incorrecto Explicación
static void main(String[] args)
publicEstá perdido
public void main(String[] args)
staticEstá perdido
public main(String[] args)
voidEstá perdido
void main(String[] args)
publicy staticfaltan
public static void main(String args)
[]Está perdido
public static void main()
String[] argsEstá perdido
public static int main(String[] args)
Tenemos inten lugar devoid


7. El nombre del archivo es diferente al nombre de la clase.

De acuerdo con el estándar de Java, todas las clases de Java deben almacenarse en un archivo con el mismo nombre que el nombre de la clase. Y como se mencionó anteriormente, el caso de las cartas importa aquí:

Nombre del archivo Nombre de la clase Nota
Solution.java
Solution
Todo esta bien
Solutions.java
Solution
El nombre del archivo tiene una letra superfluas
solution.java
Solution
El nombre del archivo comienza con una letra minúscula.
Solution.txt
Solution
La extensión del archivo es .txten lugar de.java
Solution.java
solution
El nombre de la clase comienza con una letra minúscula.

En realidad, se pueden declarar varias clases en un archivo con la extensión .java, pero solo una de ellas puede tener la palabra publicantes del nombre de la clase. Y este es el nombre que debe coincidir con el nombre del archivo.

Un archivo .java siempre debe tener una clase cuyo nombre sea el mismo que el nombre del archivo, y esa clase debe tener el publicmodificador. Ejemplo:

Solución.java
public class Solution
{
}

class Apple
{
}

class Pineapple
{
}

Además, el lenguaje Java le permite escribir clases dentro de clases. Esta es otra forma de sortear la limitación anterior. Si una clase pública (una clase con el publicmodificador) se declara en un archivo y tiene el mismo nombre que el nombre del archivo, puede declarar tantas clases como desee dentro de esta clase pública. Dicho esto, estas ya no serán clases ordinarias. En cambio, serán clases internas o anidadas. Ejemplo:

Solución.java
public class Solution
{
   public class Apple
   {
   }

   public static class Pineapple
   {
   }
}


8. Olvidarse de escribirpackage

Dado que los programas suelen tener miles de clases, puede ser difícil encontrar nombres simples, comprensibles y únicos para todas ellas. Es por eso que en Java se acostumbra agrupar las clases en paquetes usando la packagepalabra clave. Exactamente de la forma en que los archivos se agrupan en carpetas.

Es por eso que cada clase debe comenzar con una indicación del paquete al que pertenece. Ejemplo

Código sin paquete Ejemplo corregido
public class Solution
{
}
package com.codegym.tasks.task0001;

public class Solution
{
}


9. Olvidarse de agregarimport

Si queremos usar la clase de otra persona en nuestro programa, tenemos dos opciones: en todas partes de nuestro código también debemos escribir el nombre del paquete antes del nombre de la clase. Alternativamente, podemos escribir el nombre de clase completamente calificado con la importpalabra clave una vez.

Ejemplo:

Sin usar importar Usando la importación
public class Solution
{
   java.util.Scanner scanner = new java.util.Scanner();
}
import java.util.Scanner;

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

Ambas opciones funcionan, pero si simplemente escribe Scannersu código sin agregar import, entonces el compilador no podrá entender de qué paquete necesita tomar la Scannerclase y su programa no se compilará.