domingo, 8 de mayo de 2016

Capitulo 16: Primeros pasos en Java parte2


Esta parte pensaba ponerla en la publicación anterior, pero parece que era mucha información y el blog no me permitió subirla, así que tuve que divirla. Esta es la segunda parte de "Primeros pasos en Java".

Una de las características que posee NetBeans, es ayudar a detectar este tipo de errores, por ejemplo, si quito el ; NetBeans me avisa sobre ese error, marcando con rojo la línea que posee dicho error.



Aunque por raro que parezca (Por lo menos me sucedió a mi), a pesar de no tener puesto el punto y coma,  el programa funciona de todas formas. Me parecía que algo raro había aquí, ya que no me convencía que ese punto y coma pudiese ser no puesto donde corresponde. Pensé que podría ser el compilador. Así que ingresé a la carpeta donde está el compilador de java,(java/bin) (el compilador de java se llama javac) y  copié ahí el archivo fuente Saludo.java(Por defecto, los archivos .java creados en NetBeans, se ubican en la carpeta Documentos/NetBeansProject/Trabajos/src. Nota: La carpeta Trabajos, corresponde al nombre del proyecto), el cual tuve que compilar a través de la consola CMD. Ya estando ahí ejecuté el comando que permite compilar (java nombreArchivo.java) y me saltó el error como se muestra a continuación

Ahí me dice que el archivo Saludo.java:3 (los dos puntos : y el 3 indica que el error se encuentra en la tercera línea) esperaba un ; al finalizar la instrucción, justo donde termina el paréntesis, incluso en el lugar hay como una especie de flecha al final del paréntesis (^) indicando donde debería ir el punto y coma. Debido a este error, el archivo no fue compilado. Para arreglar ese problema, siguiendo este método, hice clic derecho sobre el archivo y seleccioné la opción Editar 




fue entonces que se abrió el bloc de notas (Si, también se puede utilizar el bloc de notas como editor para programar en java pero es muy limitado en opciones) y ahí agregué el punto y coma faltante


Fue entonces que guardé los cambios y cerré el bloc de notas. Luego, nuevamente ejecuté el comando para compilar el archivo.
Al terminar la compilación, si resulta bien, no hay ningún mensaje que así lo indique. Simplemente es como si nada hubiese sucedido, pero en realidad si lo compiló y creó un archivo llamado Saludo.class


Ese archivo está en lenguaje máquina y es el que permite que el computador sea capaz de leer el código.

Para ejecutar el archivo creado, se escribe el comando java Saludo y es entonces que el resultado es mostrado


Como se puede ver, se puede programar en Java sin necesidad de utilizar NetBeans, solamente se necesita de un editor sencillo como el block de notas, pero programar de esta forma puede ser un tanto tedioso y más complicado aún para quienes no manejan los comandos CMD. NetBeans lo hace por nosotros en forma mucho más "amigable" y lo digo entre comillas ya que de igual forma es algo engorroso la configuración de un proyecto nuevo al principio en NetBeans, pero luego se hace sencillo.

Encuentro útil, en cierta forma, esto de haber mencionado la consola CMD, el archivo .java y el .class, ya que una vez estuve conversando con un amigo, que se inició en NetBeans y llevaba poco tiempo programando; era un aprendiz como yo, pero me llevaba como un mes de ventaja y estudiaba en un instituto. Le hablé sobre esos archivos y me miró con cara como si le hubiese estado hablando en chino. En realidad, a él nunca le habían mencionado sobre esos archivos y más sorprendido quedó el enterarse que NetBeans no es un compilador (muchos aprendices creen que si) sino que en realidad, NetBeans es solamente un editor, el cual en forma "interna" por así decirlo, utiliza el compilador javac para realizar su trabajo.

Volviendo a NetBeans...
En conclusión, no fue el compilador el que permitió que el archivo se compilara sin el punto y coma, sino que fue NetBeans, el cual internamente hizo ese trabajo.
En resumidas cuentas SIEMPRE COLOCAR PUNTO Y COMA AL FINALIZAR UNA INSTRUCCION.

Entonces, se dijo en un principio que la diferencia entre System.out.print() y System.out.println() es un salto de línea... veré como queda con cada uno

public class Saludo{
    public static void main(String[]args){
     System.out.println("Hola mundo");
     System.out.println("Hola mundo");
     System.out.println("Hola mundo");
    }//fin main
}//fin class

Esto muestra lo siguiente:


Se puede ver como hace el salto de línea al finalizar cada instrucción.
Ahora, veré como se ve con la otra...

public class Saludo{
    public static void main(String[]args){

     System.out.print("Hola mundo");
     System.out.print("Hola mundo");
     System.out.print("Hola mundo");

    }//fin main
}//fin class


La diferencia salta a la vista. A pesar de haber escrito cada instrucción en una línea diferente, salió todo en una misma línea. Esto es debido a que esta instrucción no realiza salto de línea al finalizar.

Para finalizar este primer capítulo que fue algo extenso, recomiendo practicar y practicar. Crear nuevos proyectos y nuevas clases hasta familiarizarse con el programa. Escribir la estructura básica tantas veces como sea necesario y aprendérsela de memoria. Escribir decenas de programas que muestren distintos tipos de mensajes por pantalla, hasta que System.out.println() salga tan natural como respirar o pestañear y por último recomiendo jugar un poco con la sintaxis. Crear un programa y luego eliminar un punto y coma, un paréntesis o unas comillas y ver qué tipo de error genera el programa. Familiarizarse con los errores básicos, es fundamental para no perder minutos valiosos pensando en por qué no compila un programa, siendo que solamente faltaba una llave de cierre o un famoso punto y coma.


EJERCICIOS:

Debido a que NetBeans, es algo permisivo con los errores, pondré algunos en modo consola, la cual no perdona XD. Si has repetido unas 100 veces cada programa, no debería ser difícil reconocer que es lo que falta o falla.

1 ¿Por qué no compiló el siguiente programa?


a - La clase principal, o sea el main, está mal escrito
b - public class y public static deberían estar en mayúsculas. Así: Public Class
c - String [] args, es con minusculas. Así: string[] args
d - saludo, debe estar en mayúsculas. Así: Saludo




2 ¿Por qué no compiló el siguiente programa?


a - Error en la línea 4: Falta un punto y coma ;
b - Error en la línea 4: No reconoce esa llave de cierre {
c - Error en la línea 4: Falta una llave de cierre {
d - Error en la línea 4: Faltan dos llaves de cierre {






3 ¿Por qué no compiló el siguiente programa?




a - Error en la línea 2: main se escribe en mayúsculas. Así: Main
b - Error en la línea 2: Falta la palabra clave Void
c - Error en la línea 2: Falta la palabra clave void
d - Error en la línea 2: String es con minúsculas. Así: string





4 ¿Por qué no compiló el siguiente programa? 


a - Void se escribe con mayúsculas
b - String va con minúsculas
c - Falta un punto y coma al finalizar
d - Se escribe void main y no main void
e - a y b
f - a, b y c
g - todas las anteriores





5 ¿Por qué no compiló el siguiente programa? 


a - Falta el paquete system. Está dañado o no existe
b - Hola mundo se escribe con comillas simples y no dobles
c - system se escribe con mayusculas, así: System
d - println se escribe con mayusculas, así: Println





6 ¿Por qué no compiló el siguiente programa? 


a - Error en la línea 3: punto y coma mal ubicado
b - Hola mundo se escribe con comillas dobles y no simples
c - System empieza con minúscula
d - Println empieza con mayúscula





Son muchos más los errores que se pueden producir al tratar de compilar y el conocer cómo solucionarlo nos hará mejores programadores, porque no todo es escribir y escribir, también hay que corregir y mejorar código.

Gustavo J. Cerda Nilo
Noviembre 2015, última modificación Mayo 2016




No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...