Comentarios en Java

Viernes, 27 abril 2007

Bueno, visto que me cuesta un montón escribir de forma continuada en el blog, he decidido dejar de intentar escribir el gran post donde aclare todos los misterios de Java que me han sido revelados e ir más pasito a pasito.

Hoy explicaremos las formas de hacer comentarios en Java. Son tres:

La primera, para comentarios de una sola línea.

// comentario de una línea

La siguiente para comentarios de más de una línea.

/* Esto sería un comentario
 de dos líneas*/

Y finalmente, en tercer lugar unos comentarios especiales que los usaremos para elaborar documentación con la herramienta de documentación de Java, JavaDoc.

/** Este será un cometario

de la herramienta JavaDoc*/

El último tipo de comentarios, los que se usan para elaborar documentación, creo que de momento nos pillan bastante lejos, así que haremos como si no existieran hasta dentro de bastante tiempo. Para nosotros ahora mismo hay dos clases de comentarios, los de una línea y los de más.

Nada más que añadir.  Un saludo a todos.

Anuncios

Pequeña aclaración

Viernes, 23 febrero 2007

Bien, este post es únicamente para resaltar una pequeña aclaración que hizo chuidiang en un comentario en el último post sobre Java que escribí, titulado Datos primitivos en Java.

En el artículo en cuestión, debido a la estructura que di al texto, aparecían los datos primitivos Boolean y Char, cuando en realidad son boolean y char, con la primera letra en minúscula. Quizá esto no tendría la mayor importancia si no fuera por el hecho de que existe una clase completa de Java llamada Boolean, y otra llamada Character, como muy bien apuntó en el citado post nuestro amable comentador (muchas gracias).

Con esto espero dejar claro el tema y pido perdón a quien esto haya podido llevar a alguna confusión. Aclarado ya el tema, me despido, prometiendo empezar de una vez por todas a actualizar con una mayor frecuencia este blog. Saludos.

Datos primitivos en Java

Domingo, 28 enero 2007

Hola, ¿qué tal va eso? Me da cosa decirlo, pero como es el primer post de 2007, Feliz Año Nuevo a todos, jeje. Después de casi un mes sin actualizar las entradas de este blog, de forma injustificada lo reconozco, aquí vuelvo, a seguir dando la chapa con Java, da igual que queráis leer o no sobre el tema, yo a lo mío. Así que nada, estrenamos nuevo template, esperemos que definitivo y allá vamos. Comenzamos.

Viendo que el último post sobre Java que publiqué quizá no fue el más adecuado para leer después de hacer un “Hola Mundo”, volvemos atrás y explicamos ahora los tipos de datos en Java. A partir de ahora iremos paso a paso con la evolución de esta especie de tutorial, por llamarlo de alguna forma.

Los tipos de datos primitivos en Java, como ya dije son los siguientes:

  • Números enteros, que constan de cuatro tipos: byte, short, int y long. Todos estos tipos serán “con signo”, esto es el rango que representan se compondrá de positivos y negativos. La diferencia entre ellos es la precisión que emplean, debido al número de bits que se emplea para el almacenamiento de variables. Byte=8 bits, short=16 bits, int=32 bits y long=64 bits. En la práctica, yo por el momento sólo he empleado el clásico int, que considero que nos da un rango de valores más que suficiente.
  • Números en punto flotante, donde encontramos dos tipos: float y double. De nuevo estos números podrán ser positivos o negativos, teniendo el tipo float un tamaño de 32 bits y double 64 bits.
  • Boolean, tipo de dato booleano, es decir sólo con dos posibles valores. En Java una variable de tipo booleano podrá tener los valor true o false.
  • Char, para almacenar caracteres individuales. Java usa el código UNICODE, y el tamaño es de 16 bits, esta vez sin signo.

Éstos son en resumen los 8 tipos primitivos de datos en Java. ¿A alguien se le ocurre preguntar algo? Por ejemplo, ¿cómo usamos cadenas de caracteres? ¿Definimos una frase metiendo cada caracter en un char? No amigos, ni mucho menos, pero la forma de hacerlo la contaremos en el próximo post. Un saludo a todos.

Métodos en Java

Domingo, 10 diciembre 2006

Todo programa (clase) en Java, tiene una serie de elementos fijos. Un elemento que aparece siempre será el método. Cada clase Java es casi seguro que tendrá algún método. Resaltar aquí que si tenemos un programa en que una clase llame a otras, la clase desde donde empiece la ejecución, y sólo está, será la que lleve el método main, el cual ya quedó más o menos explicado aquí.

Explicaremos ahora algunas cosas más sobre los métodos en Java.

A la hora de definirlo la sintaxis será la siguiente:

tipo_devuelto nombre_metodo(parametros){
sentencias;

sentencias;

....

}

Así, si tenemos un método que se llame calculaMinimo, que nos devuelva a otro sitio el valor minimo de tres enteros que le pasemos escribiremos:

int calculaMinimo(int n1, int n2, int n3){

sentencias;

...
return minimo;
}

Con lo cual, le estaremos pasando tres enteros y devolviendo en la última línea el valor mínimo calculado al lugar donde haya sido llamado el método calculaMinimo. Un método puede recibir y devolver cualquier clase de dato:

  • Datos primitivos: puede ser cualquiera de los ocho tipos primitivos (Boolean, true o false, Char, Enteros, byte, short, int, long o Reales, float y double).
  • Puede llevar antes del nombre la palabra void en vez del tipo de dato devuelto si no queremos que devuelva ningún valor.
  • Además pueden devolver objetos. La condición es que el objeto devuelto debe corresponderse con la clase citada en la definición del método o con una subclase de la misma. Esto ya lo entenderemos cuando hablemos de qué son clases y cuando sepamos qué es la herencia.

Una cosa más a tener en cuenta es que si no definimos el método como void deberemos tener obligatoriamente una sentencia return para devolver un dato dentro del método.

En Java, podemos definir objetos con el mismo nombre que reciban distintos tipos de datos. Esto se llama sobrecargar los métodos. Eso sí los métodos deben devolver la misma clase de dato (si uno es void, el que se llame igual también será void, aunque uno y otro reciban parámetros distintos). Esto nos permite en un programa, si un método tiene que hacer algo en concreto con un tipo de dato y luego queremos hacerlo con otro tipo de dato, definir dos veces el mismo método y cambiar sólo el argumento que le pasamos, no definir dos métodos con dos nombres distintos.

Una clase especial de métodos son los constructores, que son métodos que se llaman igual que la clase en la que están definidos, y que básicamente se usan para inicializar nuevos objetos del tipo de la clase (idea de objeto y clase).

¿Sabes hacia dónde vas?

Martes, 21 noviembre 2006

¡Hola! Hoy quería hablar sobre la inquietud más destacable que estoy teniendo desde que empecé a buscar información sobre Java: lo diversificada y totalmente desorganizada que he encontrado la información. En cada web, libro o manual que he consultado lo único que está siempre (o casi siempre) en el mismo sitio es el “HolaMundo.java”. Lo demás cada uno como mejor le parece, unos siguen explicando los tipos de datos, otros que si hacen paquetes, ficheros .jar y demás cosillas (que creo que no es lo más adecuado para novatos), otros empiezan viendo constructores y lectura de datos por teclado… Ante todo este caos, mi pregunta es ¿por dónde cojones empiezo? ¿Qué opción es la mejor?

Respuesta sincera, aun habiendo escogido un método, no lo sé. Yo contaré lo que he hecho, y espero que a alguien le sirva de ayuda y de consejo de novato a novato. Después de mucho buscar y de mucho encontrar, me he decidido por hacerme con un libro, titulado “Aprendiendo Java en 21 días”. La razón principal es que no me gusta leer del monitor durante horas, prefieriendo una lectura en papel. ¿Es un buen libro? No está mal, no creo que sea la ostia, pero sirve para empezar, que no es poco. Quizá se pierda un poco en ejemplos estúpidos, pero vienen bien para entender conceptos que quizá en apuntes más técnicos sean más complicados de leer.

Creo que en el fondo lo principal y más importante es elegir. No creo que haya una opción más acertada que otra, puesto que esto depende mucho de cómo nos guste hacer las cosas a cada uno, simplemente es importante centrarse en algo. Ponernos una referencia que nos haga avanzar siguiendo una determinada estructura, porque, hablo ahora a título personal, yo me pierdo de no ser así. Me empiezo a ir de un manual a otra web, de ahí a un libro que he sacado de la biblioteca y al final siento que me estanco, que no adquiero una idea global de cómo se hacen las cosas en Java. Por eso considero que es importante el quedarse con algo en concreto. De todas formas, luego tenemos toda esa información, en cantidades ingentes, para completar cosas que no quedan claras y conceptos que no logramos entender con la explicación que nos ofrece nuestra referencia.

Por tanto en mi opinión este es el mejor camino para sumergirnos en un nuevo lenguaje de programación, aunque bueno, también supongo que será más fácil para el que ya sepa algún otro lenguaje. Yo he saltado de saber algo de C a Java, y creo que hay varios pasos intermedios que he pasado por alto, por lo que entiendo que pueda no haber nadie que se haya perdido tanto como yo. De todas formas, como todo lo que escribo aquí, espero que pueda serle útil a alguien. Un saludo.

Sun libera Java

Martes, 14 noviembre 2006

Bueno, a estas alturas no creo que quede nadie que no lo sepa, pero Sun ha liberado Java y varios de sus componentes, y como uno no va a ser menos, pues también hay que decirlo.

Una noticia así, creo que siempre debe ser bien recibida por todos los que defendemos el software libre y todo lo que implica esta filosofía. Nunca será negativo desde nuestro punto de vista, aunque se sea parte del sector crítico con este lenguaje de programación. Yo poco tengo que decir (hago mi PFC en Java), simplemente me parece perfecto.

Como no creo que nada de lo que diga aporte algo nuevo al tema os dejo los enlaces más interesantes a artículos relacionados.

Discusión en barrapunto

Diego Calleja

Error500

Y por supuesto, el anuncio oficial de Sun, aunque estoy vago y no he sido capaz de ponerme a leerlo (está en inglés).

Hola Mundo enJava (II)

Viernes, 10 noviembre 2006

Bueno, como ya dije al publicar el primer post sobre Java y cómo hacer un “¡Hola Mundo!”, faltaban algunas cosas que comentar sobre el programa HolaMundo.java. A continuación voy a contar el resto de cosas que considero importantes para este primer “¡Hola Mundo!”.

Bien lo primero un detalle acerca de las clases en Java. En un código Java más complejo si hay código fuera de nuestro fichero que llame a nuestra clase, sólo podrá hacerlo a una clase de cada fichero *.java, por lo que es conveniente, y una práctica habitual, incluir una única clase por cada fichero *.java que creemos.

Hablemos ahora de métodos. Dentro de las clases Java puede haber muchos tipos de código. Uno de ellos, es el método main. Cada vez que queramos ejecutar el resultado de compilar un fichero*.java, lo primero que comprobará es si tenemos un método main. Si no es así el sistema nos devolverá un mensaje de error. Para que java ejecute el método main, éste debe estar definido exactamente como se indica en el primer post:

public static void main (String [ ] args)

Veamos porqué:

  • Será public, lo que quiere decir que será accesible siempre, se le podrá llamar desde cualquier sitio.
  • Será static, lo que para no complicarnos ahora mismo con explicaciones que los novatos tan novatos no entenderíamos, diremos simplemente que es así porque tiene que ser así (como diría mario, por el artículo 113 :P).
  • Será void, porque este método no devuelve ningún valor.

De momento, con esto dejamos definido el método, aunque falten algunas cosillas.

Por último explicamos cómo se imprime la línea. En Java disponemos de la clase System, accesible desde cualquier sitio prácticamente (por ser público), que se encarga de realizar funciones del sistema. Dentro de esta clase, se encuentra el atributo out, que también es público. Eestá relacionado con la pantalla, y para usarlo debemos indicar que está dentro de la clase System, lo hacemos así: System.out. Este atributo tiene varios métodos, entre ellos println y print. Los dos escriben una cadena de caracteres en pantalla, la única diferencia es que con println se introduce un salto de línea al final, de forma que lo siguiente que escribamos saldrá en una nueva línea.

Con esto, doy por concluído el post, esperando haber dejado todo lo que se puede aclarar con nuestros conocimientos suficientemente claro. si hay algún error o alguien tiene alguna duda para eso están los comentarios. , que seguro que aprendemos algo. Un saludo.

P.D. La fuente es la misma de la primera parte: Chuidiang.