Java es un lenguaje de programación de propósito general, multiplataforma, basado en clases y orientado a objetos cuyo objetivo es que los programadores escriban el código una sola vez y este pueda ser ejecutado cualquier plataforma o dispositivo lo que lo ha llevado a ser uno de los lenguajes de programación mas populares y altamente utilizados a la fecha. Ademas, es de fácil implementación y uso, por lo cual, todo usuario que desee aprender puede hacerlo sin mayores complicaciones.
Antes de empezar, quiero dedicar unas palabras a quienes estén interesados en esta serie de tutoriales. Con este tutorial introductorio quiero empezar lo que podría ser una pequeña o extensa serie de "tutoriales" y "videotutoriales" de programación en Java, porque las comillas? personalmente no me gusta considerar esto como un tutorial, sino como una pequeña guia de aprendizaje, la razón es que cada persona piensa de una forma totalmente distinta a las demás y la programación no es una serie de pasos a seguir, sino que es un mundo totalmente extenso en el cual cada quien puede encontrar o mas soluciones a un problema dado, sin embargo, por conveniencia en las búsquedas o por costumbre, utilizaré el término Tutorial en muchas ocasiones. Por lo tanto, estos tutoriales serán unicamente una especie de guías con las cuales podemos ir aprendiendo un poco sobre distintos temas, sabiendo perfectamente que no serán las únicas ni mejores o mas optimizadas formas de hacerlo, pero tratare de dar ejemplos que sean comprensibles para cualquier persona.
Por otro lado, debo decir que, en lo personal, Java me parece un buen lenguaje de programación; completo, potente y sencillo de usar, tanto para empezar en la programación como para realizar aplicaciones mas completas, ademas, Android utiliza Java como lenguaje de programación, por lo cual, si sabemos Java podemos crear fácilmente aplicaciones para Android.
También debo decir que, por comodidad, en su mayoría estaré realizando todo por medio de Videotutoriales que iré colgando en Youtube, acompañado de las explicaciones necesarias aca en la web.
Como dije anteriormente, Java es uno de los lenguajes de programación mas populares y más utilizados a la fecha, su portabilidad y características lo han posicionado bastante bien en el campo de la programación, su filosofía, conocida como WORA (Write Once, Run Everywhere), ha contribuido a su buen posicionamiento. Java fue desarrollado inicialmente por Sun Microsystems, antes de que Oracle adquiriera a Sun en la década de los 90. Su sintaxis se deriva en gran parte de C y C++, sin embargo, retira muchas utilidades de bajo nivel que si posee C. Java se creo con 5 objetivos principales:
Para que una aplicación o programa escrito en Java pueda ejecutarse, necesitamos instalar algo conocido como Maquina Virtual Java o Java Virtual Machine (JVM), sin embargo, para poder escribir código, necesitamos el Java Development Kit (JDK) el cual provee todas las herramientas de desarrollo para la programación en Java ademas de Java Runtime Environment [JRE] y Server Java Runtime Environment[Server JRE]. Ambos pueden ser descargados del sitio oficial de Oracle (abajo colocare los enlaces) y ser instalados en cualquier OS de forma facil y rapida.
El JDK incluye un Entorno de Desarrollo Integrado (integrated development environment) o IDE conocido como NetBeans, desde el cual podemos escribir nuestro codigo y compilarlo de manera sencilla, sin embargo, el código puede ser escrito desde cualquier editor de texto plano, como el block de notas de windows, o NotePad++ (por mencionar algunos) y ser compilados o desde otros IDE como Eclipse. Para conveniencia de este tutorial, utilizare NetBeans, aunque también realizare algunos ejemplos en Notepad++ para demostrar su uso.
Dado que Java es un lenguaje de programación Orientado a Objetos, puedo resumir este tema. El paradigma de programación orientado a objetos, conocido como POO, es un paradigma de programación que utiliza Objetos en sus iteraciones.
Una clase es una plantilla para la creación de objetos, haciendo uso de la abstracción, creamos una clase en la cual describimos los Atributos y el comportamiento de (generalmente) algún objeto de la realidad.
Es una instancia de una clase.
Son las características que tiene una clase.
Son los comportamientos o algoritmos asociados a un objeto.
Al igual que un método, es un algoritmo o un comportamiento, sin embargo, obtenemos un valor de retorno.
Ahora bien, dichas todas estas marcianadas, pasemos a algunos ejemplos para entender un poco mas este tema. Pensemos por ejemplo en algo cotidiano, como nuestra mascota, un Perro, creamos nuestra Clase Perro, indicando los atributos y comportamientos que puede tener:
Clase Perro
Atributos:
Comportamientos:
A partir de esta plantilla, podemos crear muchos objetos de forma que todos comparten las mismas características, pero son objetos totalmente diferentes
Objeto PerroA
Atributos:
Objeto PerroA
Atributos:
Y cada objeto puede realizar los comportamientos especificados en la clase.
Un método y una función son básicamente procedimientos o algoritmos que nuestro programa realiza, por ejemplo del caso anterior, el método Correr puede tener instrucciones de que debe hacer la aplicación, viendo un ejemplo mas abierto, si estuviésemos trabajando en un programa que registre usuarios a un sistema de base de datos, un método puede ser registrarUsuarios, y las instrucciones indicarían como ingresar el usuario a la base de datos. En cuanto a las funciones, las instrucciones pueden ser iguales a las de un método, sin embargo, obtenemos un retorno, por ejemplo, si tenemos una función que retorne una cadena de datos y se llame obtenerUsuario, las instrucciones indicarían como obtener el nombre del usuario, y el valor de retorno seria ese nombre de usuario.
A pesar de que me quede muy corto con la mayoría de explicaciones, profundizare mas en el tema de las clases, atributos y métodos en los tutoriales siguientes, directamente con ejemplos en código de forma que sean mucho mas facil de comprender, haciéndolo de forma practica. Para terminar, pueden acceder al sitio de Oracle para obtener el JDK acorde a su sistema operativo.
Por el momento me despido esperando que sigan esta serie de tutoriales que ire presentando, y que estoy totalmente abierto a comentarios, dudas y sugerencias. Saludos
Comentarios
¿Los tutoriales siguen en
¿Los tutoriales siguen en construcción? Tengo un montón de ejemplos de arrays, strings, bucles, programación modular y otras cosillas que podrían resultar interesantes como ejercicios o ejemplos adicionales.
We're off now to seek all our fortunes to the land... of... our dreams
En parte
Debido a la fecha en que empece esto (finales de semestre del año pasado y luego las fiestas) me atasque un poco con el tiempo, pero estoy por volver con tutoriales tando en forma escrita como en forma de "videotutorial", toda ayuda es bienvenida y apreciada y lo que me indicas me parece algo genial.
Cultura de un Videojugador: Cheats
Otras entradas de bitácora
Excelente
buen tutorial, aunque no entiendo muy bien java con este tutorial me voy dando una idea, toy desactualizado solo conozco c++
Gracias por el tutorial, saludos
Gracias por el tutorial, saludos
Una luz para mi
Sobre todo gracias por tomarte tu tiempo haciendo este extenso tutorial... ¡Me interesaría seguir en el siguiente capítulo!
Sobre todo, he visto muchos buenos post recientes en la Scenebeta... Seguro regreso a esta comunidad <3
Saludos!
Youtube Channel - MrHenyckma (Grykon!) ¡Nuevos vídeos! Clíckea en la IMG :D!
Youtube propio, si quieres escuchar mi música :)
Por cierto, creo que se
Por cierto, creo que se debería hacer una parte del titurial referente a instalación de IDE's (Eclipse, por ejemplo) y otros temas más banales que pueden ser algo liosos al principio. Saludos.
We're off now to seek all our fortunes to the land... of... our dreams
genial!
Concuerdo con sergi70 por cierto, el que me gustaría que me ayudarán es: Appcelerator Titanium Studio, batalle mucho y a fin de cuentas no pude, es para Windows, GNU/LINUX y MAC.
duda un tanto estupida :p
si dices que el polimorfismo "nos permite tener comportamientos (métodos) distintos, en distintos
objetos y compartiendo el mismo nombre." entonces, ¿es como una sobre carga de metodos?
Polimorfismo aparente
Mi culpa por no abarcar bien esa parte, lo que menciono es, a grandes rasgos sobrecarga, por ejemplo, si tienes una metodo, iniciar() y otro iniciar(int a), se trata de una sobrecarga pues es el usuario quien decide que usar de acuerdo a los parametros que decide enviar al momento de querer llamar al metodo, polimofirmo es una accion mas pura y automatizada, de modo que podriamos tener dos (o mas) clases con el mismo metodo, por ejemplo
void obtenerNombre(){//cuerpo}
Ahora, una forma de implementar seria por medio de un metodo estatico, de forma que al crear un objeto, podamos invocar a ese metodo y que, dependiendo del resultado, nos devuelva el objeto deseado y el metodo deseado, por ejemplo
Persona p = new Persona.tipoPersona();
p.obtenerNombre();
De esta forma, no somos nosotros quienes llamamos al metodo de forma manual, sino que de forma dinamica, el lenguaje decide a que metodo recurrir.
Cultura de un Videojugador: Cheats
Otras entradas de bitácora
ohh
de modo que en tu ejemplo:
void obtenerNombre(){//algo} esta en una clase llamada Persona y al crear un objeto p del tipo Persona se obtiene el metodo, ¿o me equivoco?
correcto
correcto
gracias por la ayuda
nunca se me a dado usar java, prefiero c++ o php jeje
Si quiero apoyar en el proyecto...
Que tengo que hacer? Actualmente domino JAVA a un nivel un tanto medio-avanzado .
No habia
No habia considerado colaboraciones, pero cualquier ayuda es bienvenida y agradecida, mi intencion es acercar la mayor cantidad de contenido a la gente que desee aprender siempre y cuando sea de calidad y de una forma comprensible para cualquiera, puedes enviarme un mensaje privado con lo que tengas en mente para colaborar y podemos hablarlo, pues yo no me encargo de asignar rangos en la web ni nada similar.
Cultura de un Videojugador: Cheats
Otras entradas de bitácora
gracias Kai-Kun
Gracias K_K. He leido el tutorial y se entiende todo super bien. ¿Cada cuanto publicaras los siguientes tutoriales?. Ya hace tiempo que estoy pensando en dedicarme profecionalmente a esto aunque no iré a la univercidad en el corto plazo. Nuevamente mil gracias.
Mi más profundo respeto y admiración a los moderadores, administradores, editores, creadores y a los foreros.
"La progracmación y la filosofia mi razón de existir". enokerts 2015.
Me alegra que hayais vuelto a
Me alegra que hayais vuelto a hacer tutoriales de programación