Mostrando entradas con la etiqueta Curso de java. Mostrar todas las entradas
Mostrando entradas con la etiqueta Curso de java. Mostrar todas las entradas

domingo, 22 de enero de 2017

Curso de Java clase 12 Los Threads


(No olvides suscribirte)

Los Threads

    Si queremos hacer un reloj, una animación, o crear una especie de evento personalizado, necesitamos crear un proceso paralelo a nuestro "Main" ya que cualquier cosa que coloquemos ahí se va a ejecutar en orden, por lo que podría impedir que se ejecute el resto del código. La solución es usar Threads que nos permiten crear procesos paralelos, que se ejecutan sin causar interrupción alguna en nuestro "Main", en el video de arriba aprenderás a hacer lo ya mencionado, y a continuación podrás descargar los códigos fuente realizados en el tutorial

Códigos fuente

   GUI.java
  

domingo, 1 de enero de 2017

Eventos y componentes Swing Curso de Java clase 11


Para ver en youtube clic aquí
(No olvides suscribirte)

Para una mejor comprensión se recomienda ver el siguiente material

Ejemplo KeyAdapter y KeyListener

Como prometí en el video a continuación podrás descargar un ejemplo en el cual respondemos a eventos usando tanto la interfaz como la clase, en clases futuras se tratará esto en profundidad, por ahora puedes observar y comparar que se hacer exactamante igual que con los otros ejemplos:

Código fuente de la clase

  En el enlace a continuación podrás descargar lo hecho en el vídeo:

domingo, 11 de diciembre de 2016

Cual es la diferencia entre Swing y AWT para crear GUIs en Java


(No olvides suscribirte)

AWT vs Swing

    Ambas forman parte del grupo de librerías que en Java nos permiten construir nuestra propia interfaz gráfica, pero ¿Acaso una de ellas es mejor que la otra? empecemos diciendo que AWT es realmente el método "viejo", ya que fue la primera librería proporcionada por Java para crear nuestra propia GUI, Swing por otro lado sería el método "nuevo" ya que llegó con la intención de subsanar los inconvenientes que representaba AWT, estos inconvenientes solo se evidenciaban bajo el concepto de multiplataforma de Java, observa la tabla a continuación :


AWT Swing
Usa componentes del S.O. Dibuja sus propios componentes
El S.O. maneja los eventos Java maneja los eventos
La apariencia cambia con el S.O Tienen la misma apariencia en cualquier S.O.
La apariencia es estática Se puede personalizar con los Look & Feel

  Luego de ver esta tabla y el video que encabeza esta entrada, nos queda claro el principal inconveniente al usar AWT, en cada sistema operativo nuestra interfaz va a tener una apariencia diferente y es posible que incluso parte del comportamiento sea diferente también, ya que los eventos son manejados por el sistema operativo, esto hacía que desarrollar aplicaciones con interfaz gráfica en Java fuera algo tedioso, había que verificar que servía y que no en cada sistema, por lo que el eslogan de java: "Escribe una vez y ejecútalo donde quieras" se veía un poco afectado.

domingo, 19 de junio de 2016

Curso de Java Ejercicio 5: Pirámide de asteriscos


Para ver en youtube haz click aquí
Para ir al curso de java click aquí
Para ver mas ejercicios como este, haz click aquí
Para ir a mi canal de youtube click aquí (Recuerda Suscribirte)

   Acabas de ver un ejercicio simple pero interesante, en donde usando bucles logramos dibujar de forma automática una pirámide de asteriscos, se te invita a pensar la forma de hacerlo tu mismo, si tienes dificultades, a continuación te presento una pista.

La pista

  La clave para llevar a cabo este ejercicio esta en los bucles anidados, debes hacer un bucle for y dentro de este colocar un bucle while

El código fuente

  A continuación el enlace para que descargues el código fuente de este ejercicio:

Curso de Java Clase 6: Bucle For y bucles anidados


Para ver en youtube click aquí
Para ir a la lista de repoducción del curso click aquí
Para ir a la lista de reproducción de los ejercicios click aquí
Para ir a mi canal de youtube click aquí  (Recuerda suscribirte)

    Acabas de ver lo que es el bucle for, quizás te estés preguntando: ¿Que diferencia tiene con el bucle while? La respuesta corta es en esencia ninguna ya que todos los bucles hacen prácticamente lo mismo, pero al tener una sintaxis y una implementación diferente estos se pueden adaptar a situaciones diferentes, eres tú como programador el que decide que bucle se adapta mejor al código que estas escribiendo.

Números del 1 al 100

  En el video viste el siguiente ejemplo:
package clase6;

public class Clase6 {

    public static void main(String[] args) {
        for(int i=0; i<=10; i++){
           System.out.println(i);
        }
    }

}

For con dos condiciones

package clase6;

public class Clase6 {

    public static void main(String[] args) {
    int num = 0;
        for(int i=0; i<=10; i++){
           num++;
           if(num >= 10){
             System.out.print(i);
             num = 0;
           }
          System.out.println("");
        }
    }

}

Bucles anidados

  El siguiente ejemplo escribe un "cuadro" de números usando un bucle while, dentro de un bucle for
package clase6;

public class Clase6 {

    public static void main(String[] args) {
        for(int i=0; i<=10; i++){
            int num = 0;
            while(num <= 10){
                System.out.print(i);
                num++;
            }
            System.out.println("");
        }
    }

}

domingo, 12 de junio de 2016

Curso de Java Ejercicio #4 : Juego de Preguntas con bucle While


Para ver en Youtube click aquí
Para ir a mi canal click aquí
Para ir a la lista de reproducción del curso click aquí
Para ir a la lista de reproducción de los ejercicios click aquí


Lo que acabas de ver

  En el video que acabas de ver mas arriba, modificamos el juego del ejercicio 1, y le agregamos el bucle while, con esto podemos exigir una respuesta correcta y restar puntos cada vez que se responda mal
  El secreto para poder hacer el ejercicio es algo tan simple que solo ocupa el espacio de un caracter : "!" este signo de exclamación, en Java es un operador lógico de negación, lo que hace es invertir el valor de una condición, veamos el siguiente ejemplo
int num = 5;
if(num == 5){
   .....
}
  La condición dada arriba se va a ejecutar como verdadera, ya que obviamente lo es, veamos que ocurre si agregamos el operador de negación
int num = 5;
if(!num==5){
  .....
}
  En este caso no se va a ejecutar, ya que el operador de negación invierte su valor, ahora solo se va a ejecutar si la variable "num" tiene algún otro valor que no sea 5

  En nuestro juego de preguntas lo que necesitamos es colocar como condición "que la respuesta sea falsa" y eso lo hacemos con el operador de negación.

El código fuente

  Si quieres descargar el código fuente de este ejercicio haz click aquí


Curso de Java Ejercicio #3 : Test de primalidad


Para ver en youtube click aquí
Para ir a mi canal de Youtube has click aquí  (Recuerda hacer click en suscribirse)
Para ir a la lista de reproducción del curso click aquí
Para ir a la lista de reproducción de los ejercicios click aquí

Saber si un número es Primo

  En el video que acabas de ver te invito a que intentes crear un programa que detecte si un número es primo o no, para hacerlo necesitas conocer sobre los bucles "while", las sentencias de control "if" y los operadores de incremento y decremento, a continuación los enlaces a cada tema :
     En la clase anterior a este ejercicio, en la entrada correspondiente (el primer enlace en la lista de arriba), aprendimos acerca del operador de módulo, el cual se escribe con el símbolo de porcentaje (%) este operador permite calcular el resto de una división, por ejemplo las siguientes operaciones con el operador de módulo darían los siguientes resultados
10%3 = 1 ;  5%2 = 1  15%4=3

  Este operador es la clave para resolver este ejercicio, ya que una operación con un número, usando este operador, solo va a dar 0, cuando es primo, si el otro operando es el mismo número o uno (1). Por lo que el ejercicio consiste en hacer un bucle que "pruebe" todos los números menores hasta llegar a uno y buscar bajo que números es divisible.

Código Fuente

  Para descargar el código fuente del ejercicio has click aquí


  

Operadores Aritmeticos y el Bucle While Java

Para ir a los ejercicios :  Ejercicio 1,   Ejercicio 2

La aritmética en Java

   En videos y entradas anteriores hemos visto que podemos escribir operaciones aritméticas directamente en nuestro código, y Java al igual que una calculadora resolverá la operación, veamos el siguiente ejemplo :
System.out.println(2+4);
En este caso la salida en consola sería la siguiente : 6

Los operadores

  Hay algunos operadores que como veremos son bastante obvios, los signos aritméticos que conocemos realizan las mismas operaciones de la matemática :
  • Suma + operador "más"
  • Resta - operador "menos"
  • Multiplicación o Producto * operador "por" Se escribe con un asterisco
  • División / operador "entre"
  Pero hay otros operadores en Java que podrían no parecer tan obvios desde el punto de vista matemático.

El operador de Módulo

  Este operador nos va a realizar una división, pero en lugar de mostrarnos el cociente, nos va a mostrar el resto, este operador lo vamos a escribir con el signo de porcentaje "%", ejemplo :

10%3 = 1
Ya que hace la división "entera" osea no de forma exacta sino únicamente usando números enteros, de esta forma :
10/3 = 3 y nos sobra 1  otros ejemplos
15%4 = 3  ;  50%3 = 2

Los operadores de incremento y decremento

  En el video que acompaña a esta entrada vemos un operador formado de dos signos "más" (++), esto se conoce como operador de incremento, y no es el único, existen tres operadores de incremento : "++" , "+=" y "*="
  Al usar el primero con una variable, numérica, estamos incrementando su valor en uno (1) cada vez que se ejecute la respectiva linea de código, ejemplo
 Si usamos el operador ++ fuera de un bucle
int num = 0;
num++; //aquí aumentamos en 1 el valor de la variable
num++; // aquí lo volvemos a hacer
num++; // aquí lo hacemos una vez más
System.out.println(num);
La salida en consola será : 3
y si llegamos a ejecutar 100 veces esa linea de código el valor de num llegaría a 100, tal cual como vimos en el video con el bucle while

  Con el segundo (+=) podemos aumentar el valor de la variable en la cantidad que especifiquemos, por ejemplo si usando el bucle while quisiéramos mostrar los números del 1 al 100 pero de 2 en 2, haríamos lo siguiente

int num = 0;
while(num <= 100){
    System.out.println(num);
    num+=2;
}
  El resultado en consola serían los números del 2 al 100 pero de 2 en 2 osea :
0, 2,4,6,8,10....100

  También lo podemos hacer de 3 en 3 de la siguiente forma

int num = 0;
while(num <= 100){
    System.out.println(num);
    num+=3;
}

   El tercer operador de incremento "*=" nos permite aumentar el valor no de forma aditiva, si no multiplicando, de la siguiente manera :
int num = 2;
num*=2; // el valor será ahora 4 ya que 2*2 = 4
num*=2; // el valor será ahora 8 ya que 4*2=8
num*=2; // el valor ahora será 16 porque 8*2=16
num*=2; // aquí tenemos 32 ya que 16*2=32

  Y los mismo es válido para cualquier número

El decremento

    Existen 2 operadores de decremento, la lógica detrás de ellos es la misma que con los anteriores; tenemos los siguientes : "--", "-=" y "/="
  En el caso del primero disminuye el valor de nuestra variable en 1 cada vez que se ejecute, podríamos usarlo para escribir los números del 100 al 0 de la siguiente manera :
int num = 100;
       while(num >= 0){
           System.out.println(num);
           num--;
       }
La salida en consola sería : 100, 99, 98, 97 ....3,2,1,0

  El segundo nos permite disminuir el valor en la cantidad que queramos, por ejemplo :
int num = 100;
       while(num >= 0){
           System.out.println(num);
           num-=2;
       }
El resultado en consola sería el siguiente : 100, 98, 96, 94, 92....6,4,2,0

  Y por último, el operador "/=" nos permite disminuir el valor de la variable dividiéndolo por la cantidad que especifiquemos:
int num = 100;
       while(num > 0){
           System.out.println(num);
           num/=2;
       }
El resultado en consola sería : 100, 50, 25, 12, 6, 3, 1
  En este último ejemplo en lugar de usar la condición "num >=0" usamos "num>0", la razón de esto te la dejo de tarea, escríbanme la respuesta en los comentarios

martes, 31 de mayo de 2016

Curso de Java Clase 3: Las sentencias de control parte 1


¿Booleano? pero ¿Que es eso?

   Esta palabra inicialmente la introduje en la clase 1, para hablar de esas variables que solo almacenan valores "true" o "false", ahora en esta clase la volvemos a escuchar y aprendemos que true o false pueden ser los resultados de condiciones, pero, ¿De donde sale ese nombre?

El señor George Boole

   Si nunca habías escuchado ese nombre, es probable entonces, que te sorprendas al yo decirte que estamos hablando de uno de los padres de las ciencias de la computación. En 1854 publicó un libro donde describía un sistema que permitía manipular problemas que solo poseían dos estados lógicos: "verdadero" y "falso", usando procedimientos matemáticos; esa magnifica obra tuvo el nombre de "An investigation of the laws of Thougth which are founded the Mathematical theories of logic and Probabilities", lo que en español significa: "Una investigación de las leyes del pensamiento en las cuales están fundadas las teorías matemáticas de lógica y probabilidad".
  Entonces Booleano se denomina así en honor a George Boole, pero sería injusto decir que aquí acaba todo, ese sistema que él ideo en su libro, ahora se conoce como Álgebra de Boole y es la base para diseñar los circuitos electrónicos en la actualidad, entonces, tu tablet, computador, smartphone, smarttv, ipod, ipad, etcetera, existen gracias a este brillante hombre.

La variable Booleana

  Como vimos el Álgebra de Boole, permite, usando leyes de la matemática ordinaria, manipular problemas que solo admiten argumentos verdadero o falso. Esto es análogo a lo que hacemos con estas variables, ya que en ellas solo podemos almacenar valores verdadero (true) o falso (false), veamos el siguiente ejemplo
boolean p = false;
boolean h = true;
   A diferencia de los ejemplos mostrados en el vídeo, aquí , en lugar de pasarle una condición, directamente le damos un valor de verdadero (true) y falso (false), lo cual también es valido, de hecho así es como se usan mayormente estas variables, lo que mostré en el vídeo fue con fines puramente didácticos.

Pero...  Para que sirve todo esto

   Muy probablemente estas pensando que la variable booleana es inútil, lo cierto es que cuando se esta empezando con programación es muy difícil entender su utilidad, pero créeme es indispensable, si no soportas la incertidumbre por lo menos deja que ese sentimiento te impulse a continuar con el curso, al final lo entenderás.