Evitar errores en java
Las únicas personas que no cometen errores son las personas que no hacen nada en absoluto. Pero una cuidadosa planificación puede ayudarle a evitar algunas de las pifias de Java más comunes, tales como las siguientes.
Conteúdo
- Poner mayúsculas donde pertenecen
- Salir de una sentencia switch
- Al comparar los valores con un signo igual doble
- Adición de componentes a una interfaz gráfica de usuario
- Adición de detectores para gestionar eventos
- Definición de los constructores requeridos
- La fijación de referencias no estáticos
- Mantenerse dentro de los límites de una matriz
- Anticipando punteros nulos
- Ayudar a java encontrar sus archivos
Poner mayúsculas donde pertenecen
Java es un lenguaje de mayúsculas y minúsculas, por lo que realmente tiene que ocuparse de sus Ps y Qs - junto con cada otra letra del alfabeto. Aquí hay algunas cosas a tener en cuenta al crear programas Java:
- Palabras clave de Java son todos completamente en minúsculas. Por ejemplo, en una aplicación Java sentencia if, la palabra si no puede ser Si o SI.
- Al utilizar nombres de la API de Java (Application Programming Interface), el caso de los nombres tiene que coincidir con lo que aparece en la API.
- También es necesario asegurarse de que los nombres que conforman mismo se capitalizan la misma manera a lo largo de todo el programa. Si se declara una variable myaccount, no puede referirse a ella como MyAccount, myaccount o myaccount. Si a capitalizar el nombre de variable de dos maneras diferentes, Java piensa que te refieres a dos variables completamente diferentes.
Salir de una sentencia switch
Si no rompes fuera de una sentencia switch, se obtiene caer a través. Por ejemplo, si el valor del verso es 3, los siguientes impresiones de código las tres líneas - Última estribillo, es un dolor, y no tiene cerebro.
switch (verso) {
caso 3:
out.print ("Última estribillo") -
out.println ("último estribillo,") -
caso 2:
out.print ("Es un dolor") -
out.println ("él es un dolor") -
caso 1:
out.print ("No tiene cerebro") -
out.println ("no tiene cerebro") -
}
Al comparar los valores con un signo igual doble
Cuando se comparan dos valores entre sí, se utiliza un doble signo igual. La línea
si (númeroEntrada == randomNumber)
es correcta, pero la línea
si (númeroEntrada = randomNumber)
no es correcto.
Adición de componentes a una interfaz gráfica de usuario
Aquí hay un constructor para un marco de Java:
SimpleFrame pública () {
Botón JButton = new JButton ("Gracias...") -
setTitle ("... Katie Feltman y Heidi Unger") -
setLayout (new FlowLayout ()) -
añadir (botón) -
button.addActionListener (esto) -
setSize (300, 100) -
setVisible (true) -
}
Hagas lo que hagas, no te olvides de la llamada al método add. Sin esta llamada, usted va a toda la obra de la creación de un botón, pero el botón no aparece en el marco.
Adición de detectores para gestionar eventos
Veamos de nuevo el código de la sección anterior para construir un SimpleFrame. Si olvida la llamada a addActionListener, nada sucede al hacer clic en el botón. Al hacer clic en el botón más duro por segunda vez no ayuda.
Definición de los constructores requeridos
Cuando se define un constructor con parámetros, como en
Temperatura pública (número doble)
a continuación, el equipo ya no crea un constructor sin parámetros por defecto para usted. En otras palabras, ya no se puede llamar a
Temperatura RoomTemp = new Temperatura ();
a menos que defina expresamente su propio constructor sin parámetros de temperatura.
La fijación de referencias no estáticos
Si intenta compilar el código siguiente, se obtiene un mensaje de error:
clase WillNotWork {
Saludo String = "Hola" -
static void main (String args []) {públicas
System.out.println (saludo) -
}
}
Usted obtiene un mensaje de error porque principal es estática, sino saludo no es estática.
Mantenerse dentro de los límites de una matriz
Cuando se declara una matriz con diez componentes, los componentes tienen índices 0 al 9. En otras palabras, si se declara
invitados int [] = new int [10];
a continuación, se puede hacer referencia a los componentes de la matriz invitados escribiendo huéspedes [0], los huéspedes [1], y así sucesivamente, todo el camino hasta huéspedes [9]. No se puede escribir huéspedes [10], ya que la matriz huéspedes tiene ningún componente con el índice 10.
Anticipando punteros nulos
En la programación de Java en la vida real, se ve que la excepción todo el tiempo. Un NullPointerException se produce cuando se llama a un método que se supone que devolver un objeto, sino que el método no devuelve nada. He aquí un ejemplo barato:
importación java.lang.System.out- estática
importación java.io.File-
ListMyFiles clase {
static void main (String args []) {públicas
Archivo myFile = new File (" ventanas") -
Cadena dir [] = myFile.list () -
para (String Nombre del archivo: dir) {
out.println (nombre del archivo) -
}
}
}
Este programa muestra una lista de todos los archivos en el directorio de Windows.
¿Pero qué sucede si cambia ventanas para algo más - algo que no representa el nombre de un directorio?
Archivo myFile = new File ("# *% $ !!");
A continuación, la nueva convocatoria del archivo devuelve null (una palabra un significado especial en Java nada), Por lo que el myFile variable tiene nada en él. Más adelante en el código, el dir variable se refiere a la nada, y el intento de recorrer todos los valores dir falla miserablemente. Usted recibe un gran NullPointerException, y el programa se viene abajo a su alrededor.
Para evitar este tipo de calamidad, consulte la documentación de la API de Java. Si usted está llamando a un método que puede devolver null, agregue código de excepción de manipulación a su programa.
Ayudar a Java encontrar sus archivos
Estás compilar código Java, ocupándose de sus cosas, cuando el equipo le da una NoClassDefFoundError. Todo tipo de cosas pueden ir mal, pero lo más probable es que el equipo no puede encontrar un archivo de Java en particular. Para solucionar este problema, debe alinear todos los planetas correctamente.
- Su directorio del proyecto tiene que contener todos los archivos Java cuyos nombres se utilizan en el código.
- Si utiliza paquetes con nombre, el directorio del proyecto tiene que tener subdirectorios con nombres correspondientes.
- Su CLASSPATH se debe establecer correctamente.