viernes, 27 de marzo de 2020

Nos mudamos de sitio !


Luego de una larga ausencia decidimos volver con cursos más completos y actualizados. Estos están -siendo desarrollado de una manera profesional y con mucha constancia !

Vas a poder encontrarnos en https://www.aprenderprogramacion.com.ar

Y en nuestro canal de youtube Aprender programación en Youtube

Como siempre les pedimos apoyar estos proyectos, ya que son muy difíciles de realizar y somos una comunidad muy específica !


lunes, 2 de febrero de 2015

4- PrintStream y manejo de cadenas

Bienvenidos a la cuarta entrega de tutoriales en Java, en la última entrega habíamos dejado algunas cosas en continuará, por lo tanto vamos a seguir con lo que veníamos viendo.


Estas leyendo la serie de tutoriales de Java. Lee más acerca de esta serie.


La clase PrintStream

Casi al final de la última entrega habíamos hablado de una clase PrintStream, seguramente se seguirán preguntando que es una clase, y nuevamente diré que más adelante lo veremos. Por el momento vamos a decir, aunque no sea así, pero para que tengan una idea, que una clase es como un archivito que contiene métodos (y atributos), que podemos utilizar.

Uno de los métodos que nos brinda PrintStream es "println();" y por ahora debemos saber que para usar métodos de esta clase lo podemos hacer mediante "System.out." seguido del método que queramos.

El método print

El método print muestra por pantalla lo que le pasemos por parámetro sin salto de línea, esto quiere decir que si hacemos lo siguiente:

System.out.print("Hola ");
System.out.print("Mundo");
Por consola veremos "Hola Mundo", en una sola línea. Si queremos usar el método print y mostrar mensajes en varias líneas tenemos que usar la secuencia de escape "\n", al igual que se hace en el lenguaje C.

System.out.print("Hola \n");
System.out.print("Mundo");
Si vamos a la documentación de Oracle sobre la librería PrintStream, y buscamos el método print, podemos ver lo siguiente:



Vamos a interpretar esto. A la izquierda tenemos lo que devuelve el método print, que en todos los casos es void, por lo cual no devuelve ningún tipo de dato, y a la derecha tenemos el método en sí, con los parámetros que admite el mismo, y abajo una descripción de lo que hace.

¿Porqué esta escrita tantas veces la función?. Bueno esta escrita tantas veces porque admite distintos valores como parámetros de entrada, y esto tiene que ver con la sobrecarga de métodos, cosa que veremos en otra entrega. Lo que quiere decir esto es que a la función print admite como parámetros valores booleanos, caracteres, de coma flotante, enteros, de tipo Object, y cadenas.

Por lo cual podemos hacer

int entero = 9;

System.out.print("Hola mundo esto es una cadena\n");
System.out.print(5);
System.out.print("\nHola estoy combinando una cadena con un entero cuyo valor es " + entero); 

Si ejecutamos el código veremos por consola lo siguiente:



Y de esta manera, podemos escribir cadenas, enteros, como también la combinación de estos tipos de datos.

Concatenación de cadenas

Ya que estamos de paso, vamos a explicar la concatenación de cadenas en Java. Como se puede apreciar en el ejemplo anterior se puede concatenar tipos de datos con el operador "+", para los que hayan programado en C o C++ quizás recuerden que para mostrar un entero luego de una cadena tenían que hacer algo como lo siguiente:

int numero = 5;
printf("El numero que quiero mostrar es: %d", numero);

Y si queriamos concatenar cadenas teníamos que recurrir a funciones como strcat

int main(int argc, char *argv[])
{
   
   char src[50], dest[50];

   strcpy(src,  "Esta es la cadena original");
   strcpy(dest, "Esta es la cadena destino");

   strcat(dest, src);
   
   printf("Cadena final : |%s|\n\n", dest);

  system("PAUSE"); 
  return 0;
  
}


Con el ejemplo anterior visualizamos por consola algo como esto:



En el caso de java se puede hacer con el operador "+" como se mostró anteriormente, veamos unos ejemplos:

String cadena1, cadena2;
cadena1 = "Esta es mi primer cadena";
cadena2 = "Esta es mi segunda cadena";
int numero = 10;

System.out.print(cadena1 + cadena2 + "\n");
String cadena3 = cadena1 + cadena2;
System.out.println(cadena3);
System.out.println("Hola esta es la cadena1" + cadena1 + " y esto es un nuúmero " + numero);
String nombre = "Diego";
String apellido = "García";
String mensaje = "Hola ";
mensaje += nombre + " " + apellido;
System.out.println(mensaje);

En este caso si ejecutamos el código veremos por consola lo siguiente:




Otra cosa que podrán observar es que las cadenas las definimos como tipo "String" y para asignarle algún valor simplemente lo hacemos con el operador "=", en el ejemplo anterior se detallaron varios casos para que quede claro.

El método println

Volviendo al tema anterior, hemos visto que el método "print" sirve para mostrar valores por consola siempre en la misma línea, excepto que usemos "\n". Otro método que nos ofrece la clase PrintStream es el método "println", el cual imprime valores en la consola y cada vez que se llama a este método produce un salto de línea. Si vamos a la documentación de Oracle al igual como hicimos para el método print podremos encontrar el método println y se verá algo así:



Como podemos ver es casi idéntico al método print, con la salvedad de que println admite que no se le pase ningún parámetro y esto producirá un salto de línea.

El método printf

Finalmente para los nostálgicos del C y C++ PrintStream incluye el tan amado método por algunos, el método "printf", en donde la f refiere a "formato", esto quiere decir que podemos mostrar valores por la consola con el formato que le indiquemos. 

Para escribir algo con formato lo podemos hacer de la siguiente manera:

int numero = 5;
double decimal = 2.4;
String cadena = "cadena";

System.out.printf("Esto es una %s que contiene el número entero %d y el decimal %f",cadena,numero,decimal);

Lo que mostrará por consola lo siguiente:




Generalmente este método se usa cuando queremos mostrar un número del tipo float o double, con determinada cantidad de decimales, ya que si utilizamos print o printf, Java lo mostrará con un formato por defecto.

Si java muestra un error con el texto  "The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, String, int, double)", no se alarmen, en la siguiente entrega veremos como solucionarlo.

Otra manera para no escribir System.out

Aclaración: Al igual que la aclaración que se hizo en la entrega anterior, esta parte puede que no todos la entiendan ya que tiene conceptos de objetos, cosa que todavía no explicamos, por lo que, si el lector no lo entiende, no se preocupe, no es algo relevante, y más adelante cuando se vea objetos, podrá volver a esta parte y verá como se entiende. 

A raíz de la entrega anterior en donde hablamos diferentes maneras de simplificar trabajo cuando teníamos que escribir System.out.println(); y aprovechando que abordamos el tema de la clase PrintStream, vamos a mostrar otra manera para acortar o facilitar la manera de escribir esto.

Para ello debemos crear una variable del tipo PrintStream, inicializarla el método main o constructor de nuestra clase principal, y una vez hecho esto podremos acceder a las funciones para mostrar valores por consola.

import java.io.PrintStream;

public class main {
 
 private static PrintStream ps;

 public static void main(String[] args) {  

   ps = new PrintStream(System.out);
   
   ps.println("Hola Mundo");  
  
 }
}

Tip: Atajos en Eclipse

Muchas veces Java nos marcará error porque nos falta importar alguna librería, para visualizar esto, vamos a borrar la linea import java.io.PrintStream; y veremos como nos subraya en rojo la palabra PrintStream.




Esto es porque para trabajar con esta clase debemos importarla, y la realidad es que no nos vamos a acordar todas las librerías que necesitemos importar, por lo tanto si no nos acordamos de que en el principio del programa hay que escribir import java.io.PrintStream; podemos recurrir a dos técnicas o métodos.

El primer método consiste en posicionar el puntero del mouse sobre la palabra PrintStream y veremos como nos sale una lista de sugerencias.


Hacemos click en "Import 'PrintStream' (java.io)" y Java se encargara de importar la librería para que podamos trabajar. 

El segundo método es todavía más fácil, consiste en ubicar el cursor en la palabra PrintStream, y presionar la combinación de teclas Ctrl + Shift + O, veremos como automáticamente Java importa la librería necesaria para que podamos trabajar.

Si quieres puedes descargar el código de ésta entrega haciendo clic acá:


Por hoy es suficiente, la próxima entrega veremos más detalladamente el tema de texto con formato y las secuencias de escape de Java.




4
5
Entrega siguiente

sábado, 31 de enero de 2015

3. Nuestro primer programa en Java - Video Tutorial

Tercer episodio de la serie de video tutoriales de Java.

Estas viendo la serie de videotutoriales de Java. Más acerca de esta serie.

En este episodio vamos a hacer nuestro primer programa en Java, comenzando por el típico "Hola mundo" y vamos a ver algunos aspectos del lenguaje y del IDE utilizado.




Puedes encontrar más vídeos en nuestro canal de youtube haciendo click en la siguiente imágen


Si te sirvió este u otros video tutoriales ayúdanos suscribiendote a nuestro canal de youtube. De esta manera nos ayudaras a crecer y a seguir publicando material de calidad.

Para suscribirte a nuestro canal puedes hacer click en este enlace o bien hacer click en la siguiente imágen 




1
2
3
4
5
Entrega siguiente

lunes, 26 de enero de 2015

3. Nuestro primer programa en Java

En esta entrega vamos a ver como crear un proyecto en Java, y vamos a comenzar a ver algo de código. Si bien para programar en Java se hace necesario aprender una parte de teoría sobre programación orientada a objetos, vamos a ir explicándolo a partir de las futuras entregas en forma gradual e intercalándolo con prácticas, así de esta manera se hace más fácil aprender la teoría, ya que por experiencia, si plasmamos toda la teoría de programación orientada a objetos de golpe, al lector le resultara muy confusa y la realidad es que la teoría se comprende luego de ejercitarse bastante programando en Java.

Estas leyendo la serie de tutoriales de Java. Lee más acerca de esta serie.


Definiendo el workspace 

Entonces comencemos con la diversión !. El primer paso es abrir Eclipse, veremos el logo de Eclipse y luego de eso nos aparecerá una ventana pidiéndonos que elijamos un "workspace"


El "workspace" será el espacio de trabajo, en donde se guardaran y se cargaran todos los proyectos que hagamos.  Por defecto aparecerá una ruta predeterminada por Eclipse, la cual podemos cambiar si lo deseamos. Si queremos usar una ruta para un workspace, la cual estamos seguros que nunca la necesitaremos cambiar, podemos marcar la casilla "Use this as the default and do not ask again", para que siempre que abramos el eclipse apunte a ese "workspace" y no nos vuelva a mostrar esta ventana. Hacemos click sobre el botón "OK" y finalmente abrirá el Eclipse.

Creando un nuevo proyecto

Una vez abierto nuestro IDE, procederemos a crear un nuevo proyecto, para eso hay que dirigirse a la barra de herramientas, seleccionar "File", "New" y finalmente "Java Project".


En la siguiente ventana pondremos el nombre de proyecto, por ejemplo "HolaMundo", y presionamos el botón "Finish".


Una vez hecho esto tendremos nuestro proyecto creado. En el caso de que solo se muestre la pantalla de bienvenida de eclipse y no vean su proyecto deberán hacer click sobre el botón que se muestra a continuación.



Secciones básicas del IDE de Eclipse

Ahora si, podremos observar nuestro proyecto como una carpeta de color azul la cual indica el nombre del mismo en nuestro explorador de proyectos. ¿Qué es esto de explorador de proyectos?, bueno al abrir eclipse y generar un proyecto, podremos ver una ventana dividida en varias partes como se muestra a continuación. 


A la izquierda podemos ver el explorador de proyectos, en el cual encontraremos todos los archivos de nuestro proyecto, luego esta el editor de código, en donde aparecerá todo el código de la clase que vayamos a editar o programar, y finalmente tenemos la consola, en donde podremos mostrar o pedir que se ingrese texto, y la sección de errores en donde se mostraran todos los errores que tengamos en el proyecto si así fuera el caso.

Hay muchos mas aspectos para contemplar en el IDE de Eclipse, pero por el momento nos interesarán estas 4 partes para poder trabajar. 


Creando la clase principal

El siguiente paso a realizar es crear la clase principal, para crear esta clase nos posicionamos sobre la carpeta src, botón derecho del mouse, "New" y seguido de eso seleccionamos "Class"



En la siguiente ventana que nos aparece, debemos ponerle el nombre a la clase, yo siempre le pongo "main", y seleccionamos la casilla "public static void main(String[] args)" para convertirla en nuestra clase principal. Seguido de esto le damos click al botón "Finish"y se nos creara nuestra clase principal "main" en la cual programaremos. 



Estructura de un programa en Java

Ahora podremos ver que se ha generado la clase, y que en ella hay algo de código, veamos.


Por un lado tenemos la clase main, mas adelante veremos que es una clase, pero por el momento digamos que acá vamos a poder escribir todos los métodos que queramos y también definir atributos.
Por otro lado tenemos al método main que es lo primero que se va a ejecutar al correr el programa. Aquí va a ir toda la lógica del programa, el código, vamos a poder definir variables y poner sentencias de control, bucles, operadores, etc.

Vale aclarar que a partir de ahora a las funciones las llamaremos métodos (de una clase), y a las variables de una clase las llamaremos atributos (de una clase). 


Nuestro primer código en Java

Bien, y ¿cómo muestro algo por pantalla?, en realidad lo que vamos a hacer es mostrar cosas por la consola de Eclipse, para hacer esto, dentro del método main, que será el constructor de nuestra clase (más adelante veremos que es esto), ponemos el siguiente código.


 
public class main {

public static void main(String[] args) {

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

 }

}

De esta manera mostraremos en la consola el mensaje "Hola mundo", para probar que funciona, le damos click al botón "Run"


O bien en la barra de herramientas seleccionamos "Run" y la opción "Run


O bien presionamos Ctrl+F11 y si no existe ningún error en el proyecto se debería ejecutar el programa y visualizaríamos en la consola el mensaje que ingresamos.


Nota: Java distingue entre mayúsculas y minúsculas, por lo cual no es lo mismo poner "System.out.println("");" que "system.out.println("");", ya que si lo escribimos de la segunda manera Java nos acusará error.

Hasta el momento aprendimos como mostrar un mensaje por pantalla con println, y asumimos que si o si hay que anteponerle System.out ya que sino no funcionará. 


¿Porqué hay que anteponerle System.out?

Aclaración: Esta explicación es válida solo para gente que tiene conocimientos de objetos, ya que de otra manera sería difícil de entender. Para la gente que tenga conocimientos de objetos, no se preocupen, no es nada relevante de entender, y más adelante explicaremos con detalle, por lo cual lo podrán entender sin problemas.

Vamos a explicar brevemente porque tenemos que poner System.out.println(""); y no solo println(); 

Bien, como dijimos anteriormente, Java es un lenguaje orientado a objetos, y trabaja con librerías, por lo cual, lo primero que podemos notar, es que el método println se encuentra en una librería de Java.
Más concretamente en una clase que se llama PrintStream, peroooo ...  


¿Donde entra esta clase PrintStream?, bueno allá vamos. lo primero que hacemos es llamar a la clase System, y dentro de System accedemos al atributo out, el cual esta definido como tipo de la clase PrintStream, de la siguiente manera :
 
public static final PrintStream out

Ahora si, vemos que como tenemos el atributo out como tipo PrintStream, y que dentro de la clase PrintStream se encuentra el método println(); tiene sentido utilizar el println de esta manera
 
System.out.println("Hola mundo");


¿No hay forma de simplificar el código?

Siempre que nos topamos por primera vez con el System.out.prinln(); nos pasa por la cabeza, "cada vez que quiero escribir algo por pantalla ¿tengo que escribir tanto código?!!!!", perderíamos mucho tiempo, y es totalmente fastidioso tener que escribir todo eso siempre, más en el caso de que tengamos que hacer un menú con muchas opciones. Afortunadamente hay un par de soluciones para simplificar esta tarea, una de ellas es utilizando los atajos de Eclipse, uno de ellos es presionar

Ctrl + Barra espaciadora 

Con este atajo llamamos a la herramienta autocompletar de Eclipse, por lo tanto siempre que tengamos que escribir algún tipo de código y presionemos esta combinación de teclas Eclipse nos dará sugerencias sobre que es lo que queremos escribir, entonces, probemos escribiendo dentro del método main, que dijimos que era el constructor de la clase (no importa que no sepan lo que es, grabenselo en la cabeza y cuando lo expliquemos se van a acordar), lo siguiente: syso y seguido de esto presionamos Ctrl + Barra espaciadora ! Ohhh Magiaaa !!!!!! Eclipse hizo todo el trabajo sucio por nosotros !.

Otra opción sin utilizar los atajos de Eclipse es hacer un método dentro de la clase main, al cual le pasemos el parámetro que queremos mostrar por pantalla y este nos lo muestre.

para esto vamos a ver este código:


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

}

Y vemos como, con simplemente escribir println, llamamos a la función que acabamos de crear y nos muestra el mensaje por consola. En este caso le puse println, pero le podríamos haber puesto de nombre, print, trace, showmsg, o lo que se les ocurra. Ahora, esto de crear un método nos va a traer problemas, ya que, si en vez de pasarle un String al método, intentamos pasarle por ejemplo un entero println(5); Java nos dará error, pero no me voy a extender más con esta entrega, y dejaremos esa parte para otra entrega.

Si quieres puedes descargar el código de ésta entrega haciendo clic acá:




Si estas interesado en el video tutorial de esta entrega podes hacer clic acá.



En la siguiente entrega veremos  otros métodos para escribir por pantalla usando la clase PrintStream y veremos algunas cosillas sobre el manejo de cadenas.


domingo, 25 de enero de 2015

3. Creando nuestro primer programa con LibGDX - Video Tutorial

Tercer episodio de la serie de video tutoriales de LibGDX.

Estas viendo la serie de videotutoriales de LibGDX. Más acerca de esta serie.

En este episodio se explica como crear un proyecto en LibGDX, como importarlo en Eclipse, y como comprobar que todo funcione correctamente.




Puedes encontrar más vídeos en nuestro canal de youtube haciendo click en la siguiente imágen


Si te sirvió este u otros video tutoriales ayúdanos suscribiendote a nuestro canal de youtube. De esta manera nos ayudaras a crecer y a seguir publicando material de calidad.

Para suscribirte a nuestro canal puedes hacer click en este enlace o bien hacer click en la siguiente imágen 




1
2
3
4
5
Entrega siguiente

3. Creando nuestro primer programa con LibGDX

En la entrega anterior vimos como configurar e instalar todas las herramientas necesarias para poder trabajar con LibGDX en Eclipse, ahora es el momento de empezar con la diversión y en esta ocasión vamos a crear nuestro primer programa con LibGDX.

Estas leyendo la serie de tutoriales de LibGDX. Lee más acerca de esta serie.


Creando nuestro proyecto

Lo primero que hay que hacer es localizar y ejecutar el archivo .jar que descargamos de la página de LibGDX, comúnmente lo vamos a encontrar con el nombre "gdx-setup". Una vez que ejecutamos el archivo nos va a aparecer una pantalla como la siguiente:



Como vemos aquí tenemos varios campos, en "Name" debemos poner un nombre a nuestro proyecto, por ejemplo MiPrimerPrograma, luego tenemos "Package", en este campo debemos ingresar un nombre único de paquete ya que si lo subimos "Google Play" el store de Android, nos tenemos que asegurar que no haya otra aplicación con el mismo nombre de paquete. La mejor manera para nombrar a nuestro paquete es por ejemplo mediante nuestra página web seguido del nombre de nuestro proyecto, en mi caso pondré com.reactivegames.miprimerprograma. En el campo "Game class" debemos poner el nombre de nuestra clase principal por ejemplo miPrimerPrograma, en "Destination" podemos elegir en donde se va a generar el proyecto y por último en "Android SDK" debemos tener la ruta en donde tenemos instalado el SDK de Android que por lo general ya viene escrita.

Luego tenemos la sección "Sub Projects" en donde debemos marcar para que plataformas vamos a querer compilar nuestro proyecto. Es importante marcar todas las plataformas que creamos que puedan llegar a ser necesarias ya que una vez creado el proyecto, en el caso de que no hayamos marcado alguna y queramos compilarla justo para esa plataforma nos va a resultar un poco complicado.

Finalmente tenemos la sección "Extensions" en donde podemos incluir librerías externas como Bullet, Freetype, Tools, Controllers, Box2D, etc. las cuales nos proporcionan herramientas cuando tengamos que programar sistemas que tengan física incluida, iluminación, inteligencia artificial, etc.

Por el momento dejaré marcada solo Box2d, mas adelante explicaremos estas extensiones en más detalles. Una vez que tengamos todo listo hacemos click sobre el botón "Generate" y el asistente de LibGDX se encargará de generar el proyecto y descargar todas las herramientas que sean necesarias para el mismo.

Para personas impacientes cabe aclarar que esto puede demorar unos minutos, y más si es la primera vez que ejecutamos el asistente. 

Al finalizar deberemos obtener un mensaje como el siguiente.



Importando el proyecto generado

Ahora lo que resta es importar el proyecto en Ecplise, para ello vamos a abrir Ecplise y en el explorador de proyectos click derecho "Import..." , dentro de la carpeta "Gradle" seleccionamos "Gradle Project" y le damos click a "Next".


En esta nueva pantalla en el campo "Root folder:" le damos click al botón "Browse..." y buscamos la carpeta que nos generó LibGDX anteriormente. Seguido de esto le damos click al botón "Build Model" y Ecplise comenzará a construir el proyecto para luego poder importarlo, ademas de descargar los archivos necesarios para generarlo. Una vez que termine vamos a ver lo siguiente:


Seleccionamos el proyecto completo y le damos click al botón "Finish", Eclipse se pondrá a importar el proyecto, nuevamente descargará algún archivo si es necesario, y finalmente tendremos el proyecto en nuestro explorador de proyectos.

Nota: Si al importar el proyecto nos surge el error "The hierarchy of the type AndroidLauncher is inconsistent


Debemos ir a "Project" ---> "Properties" y en "Android" seleccionar la versión del sistema que queremos usar, en mi caso la versión 5.01


Le damos a "OK", seleccionamos la carpeta que nos daba error y presionamos "F5" o le damos click derecho a la carpeta y seleccionamos la opción "Refresh".

Probando nuestro proyecto

Para corroborar que todo funcione perfectamente, en el explorador de proyectos, vamos a desplegar la carpeta "MiPrimerPrograma-desktop", luego la carpeta "src", el paquete ".com.reactivegames.miprimerprograma.desktop", y podremos observar la clase que ejecutará el programa para plataformas de  escritorio (Windows, Linux), la cual se llama "DesktopLauncher.java". Le damos click derecho, seleccionamos la opción "Run as" y elegimos "Java Application". 




Si al ejecutar el programa vemos la pantalla anterior quiere decir que todo ha salido con éxito

En la siguiente entrega veremos como se organiza un proyecto en LibGDX.


Si estas interesado en el video tutorial de esta entrega podes hacer clic acá.




1
2
3
4
5
Entrega siguiente

viernes, 16 de enero de 2015

2. Instalación de Java y Eclipse - Video Tutorial

Segundo episodio de la serie de video tutoriales de Java.

Estas viendo la serie de videotutoriales de Java. Más acerca de esta serie.

En este episodio se explica como instalar lo necesario para poder comenzar a programar en Java.




Puedes encontrar más vídeos en nuestro canal de youtube haciendo click en la siguiente imágen


Si te sirvió este u otros video tutoriales ayúdanos suscribiendote a nuestro canal de youtube. De esta manera nos ayudaras a crecer y a seguir publicando material de calidad.

Para suscribirte a nuestro canal puedes hacer click en este enlace o bien hacer click en la siguiente imágen