Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

Archivo del blog

domingo, 11 de noviembre de 2018

#5 Comandos de Selección (if, else, switch)

#5 Tríptico: Condicionales


    00- Nomenclatura sentencia if-else

    if (expresionLogica) {
            sentencia_1;
    } else {
            sentencia_2;
    }   

    Ejemplo 1:

    // condicionales if - else
    public class MiPrograma_Condicionales1 {
      public static void main(String arg[]) {
        byte a = 5, b = 2;
        if (a < b) {
          System.out.println("Valor A es menor al valor B");
        } else {
          System.out.println("Valor A es mayor al valor B");   
        }
      }
    }


    Ejemplo 2 (sin uso de sentencias if-else):

    // forma de condicional abreviada
    public class MiPrograma_Condicionales2 {
      public static void main(String arg[]) {
        byte a = 5, b = 2;
        String resultado = (a < b)
        ? "Valor A es menor al valor B" : "Valor A es mayor al valor B";
        System.out.println(resultado);     
      }
    }

   
    01- Nomenclatura sentencia switch

     switch(valor) {
         case valor1:
                  sentencias1;
                  ...
                  break;
         case valor2:
                  sentencias2;
                  ...
                  break;
         default:
                  sentencias3;
                  ...
                 break
     }




#4.1 Ejemplo. Ejecutar evento al pulsar botón.


Código Java:


import javax.swing.JFrame;
import javax.swing.JButton;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MiPrograma5 extends JFrame implements ActionListener {

   // Componentes utilizados (botón)
   private JButton boton;

   // Constructor
   public MiPrograma5() {
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setLayout(null); // Permite uso de coordenadas 
      boton = new JButton("Salir");
      boton.setBounds(300, 200, 150, 30);
      boton.addActionListener(this);
      add(boton);
   }

   @Override
   public void actionPerformed(ActionEvent e) {
      if (e.getSource() == boton) {
         System.exit(0);
      }
   }

   public static void main(String[] args) {
      // Crea ventana y se asignan atributos
      MiPrograma5 ventana = new MiPrograma5();
      ventana.setBounds(0, 0, 500, 300);
      ventana.setTitle("Mi Programa 5");
      ventana.setVisible(true);
   }

}



Resultado:






sábado, 10 de noviembre de 2018

#4 Estructuras básicas (consola, interface gráfica, interface gráfica + evento)

Estructuras básicas para la programación. 
Preparación visualización consola, visualización ventana, preparación de eventos (ej. pulsar un botón).



01- Para uso básico (cónsola):

public class MiPrograma {

   public static void main(String arg[]) {
      // ...
   }

}



02- Para uso interface gráfica:

import javax.swing.JFrame;

public class MiPrograma2 extends JFrame {

   public static void main(String[] args) {
      // ...
   }

}



03- Para uso interface gráfica y con evento:

import javax.swing.JFrame;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MiPrograma3 extends JFrame implements ActionListener {

   // ...

   public MiPrograma3() {
      // ...
   }

   public void actionPerformed(ActionEvent e) {
      // ...
   }

   public static void main(String[] args) {
      // ...
   }

}



04- Para uso interface gráfica y con
múltiples eventos :
 

import javax.swing.JFrame;

import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class MiPrograma4 extends JFrame implements ChangeListener, ActionListener, ItemListener {

   // ...

   public MiPrograma4() {
      // ...
   }

   public void actionPerformed(ActionEvent e) {
      // ...
   }

   public void stateChanged(ChangeEvent e) {
      // ...
   }

   public void itemStateChanged(ItemEvent e) {
      // ...
   }

   public static void main(String[] args) {
      // ...
   }

}




domingo, 28 de octubre de 2018

#3 Operaciones básicas

#3 Tríptico: Operaciones aritméticas básicas:





    Ejemplo:

    // Operaciones básicas
    public class MiPrograma_Operaciones {
      public static void main(String arg[]) {
              float a = 5, b = 2;
              float suma = a + b;
              float resta = a - b;
              float multiplicacion = a * b;
              float division = a / b;
              float modulo = a % b;
              System.out.print("a = " + a);
              System.out.println(" ; b = " + b);
              System.out.println("suma:" + suma);
              System.out.println("resta: " + resta);
              System.out.println("multiplicacion: " + multiplicacion);
              System.out.println("division: " + division);
              System.out.println("modulo: " + modulo);       
      }
    }


sábado, 27 de octubre de 2018

#2 Variables

#2 Tríptico: Definición:

Una variable en Java es un identificador que representa una palabra de memoria que contiene información.


Tabla de tipos de variables primitivos:




















Sintaxis:

Tipo_de_Dato Nombre_de_Variable [= Valor_inicial];


Ejemplo de uso:   

int var = 1000;



domingo, 21 de octubre de 2018

#0 , #1 Guía de inicio rápido

Introducción:

Rápida introducción a la programación en Java SE mediante una serie de trípticos donde se expone de la forma más resumida posible todo lo básico para empezar a programar.


#0 Tríptico: Preparación del entorno para programación en Java SE.


    00- Software utilizado para la puesta a punto:

    Windows 10
    Jdk1.8.0_171
       

    01- Descargar Java SE Development Kit (JDK) desde la web oficial de Oracle:

    https://www.oracle.com/technetwork/java/javase/downloads/index.html


    02- Ejecutar e instalar JDK: (poner todo por defecto)

    [Siguiente]
    [Siguiente]
    [Finalizar]


    03- Activar variable de entorno en Windows 10:

    Configuración avanzada del Sistema > [Variables de entorno...] >
    Variables del sistema > Seleccionar variable "Path" > [Editar] > 
    [Nuevo] > Añadir ruta de acceso a los ficheros de Java:
    C:\Program Files\Java\jdk1.8.0_171\bin
    [Aceptar]
    [Aceptar]
    [Aceptar]



#1 Tríptico: Primer programa. Compilación & ejecución:


    00- Abrir bloc de notas y escribir código:

    public class MiPrograma {
      public static void main(String arg[]) {
         System.out.println("Mi primer programa");
      }
    }


    01- Guardar como "MiPrograma.java".


    02- Compilación del código (genera fichero Miprograma.class):

    En linea de comandos de Windows (cmd.exe):
    > javac Miprograma.java [Enter]
    > _


    03- Ejecución del código:

    En linea de comandos de Windows (cmd.exe):
    > java Miprograma [Enter]
    > Mi primer programa
    > _




domingo, 1 de julio de 2018

Cálculo raiz cuadrada usando método Bakhsali

Este método para el cálculo aproximado de una raiz cuadrada apareció en un manuscrito encontrado enterrado en un campo por un campesino de un poblado llamado Bakhshali en 1881. El manuscrito data del siglo III o IV.

Formulación:

x = número a calcular.
n = número que multiplicado por sí mismo, más se aproxima a x.







 




Código (MetodoBakhsali.java):

// Cálculo raiz cuadrada usando método Bakhsali
package metodobakhsali;

public class MetodoBakhsali {

   public static void main(String[] args) {

      // Definición variables
      double n = 0, r, x = 15;
      double min = Double.MAX_VALUE;
      double aux;

      // Busca número más cercano
      for (int i = 1; i < Integer.MAX_VALUE; i++) {
         r = i * i;
         aux = Math.abs(r - x);
         if (aux < min) {
            n = i;
            min = aux;
         } else {
            break;
         }
      }

      // Formula método Bakhsali + aproximación
      double numerador = Math.pow(n, 4) + 6 * Math.pow(n, 2) * x + Math.pow(x, 2);
      double denominador = 4 * Math.pow(n, 3) + (4 * n * x);
      double m_bakhsali = numerador / denominador;
      double aproximacion = Math.abs(m_bakhsali * 100 / Math.sqrt(x) - 200);

      // Mostrar resultados en pantalla
      System.out.println("Raiz cuadrada de " + x);
      System.out.println("Resultado real:\t\t " + Math.sqrt(x));
      System.out.println("Método Bakhsali:\t " + m_bakhsali);
      System.out.println("Aproximación: (%): " + aproximacion);

   }

}


Resultado:

run:
Raiz cuadrada de 15.0
Resultado real:         3.872983346207417
Método Bakhsali:     3.872983870967742
Aproximación: (%): 99.99998645074668
BUILD SUCCESSFUL (total time: 0 seconds)


Cálculo raiz cuadrada usando método Babilónico

A través de este método se puede aproximar el cálculo de una raiz cuadrada de cualquier número de forma rápida y fácil. Era un método utilizado en la antigua Babilonia.

x = número a calcular raiz cuadrada.
n = número que multiplicado por sí mismo más se aproxima a x.
nn = aproximación y/o igualación a x.














* Ejemplo de uso para cáculo de raiz cuadrada de 15


x = 15

Búsqueda de los valores de n y nn ( n · n = nn ):


...
2 · 2 = 4
3 · 3 = 9
4 · 4 = 16   <- este número(nn) es el más cercano a x, por tanto n = 4 y nn = 16
5 · 5 = 25
6 · 6 = 36
...







Código (MetodoBabilonico.java):

// Cálculo raiz cuadrada usando método Babilónico
package metodobabilonico;

public class MetodoBabilonico {

   public static void main(String[] args) {

      // Definición variables
      double n = 0, nn = 0, r, x = 15;
      double min = Double.MAX_VALUE;
      double aux;

      // Busca número más cercano
      for (int i = 1; i < Integer.MAX_VALUE; i++) {
         r = i * i;
         aux = Math.abs(r - x);
         if (aux < min) {
            n = i;
            nn = r;
            min = aux;
         } else {
            break;
         }
      }

      // Formula método Babilónico + aproximación
      double m_babilonico = (x + nn) / (2 * n);
      double aproximacion = Math.abs(m_babilonico * 100 / Math.sqrt(x) - 200);

      // Mostrar resultados en pantalla
      System.out.println("Raiz cuadrada de " + x);
      System.out.println("Resultado real:\t\t " + Math.sqrt(x));
      System.out.println("Método Babilónico:\t " + m_babilonico);
      System.out.println("Aproximación: (%): " + aproximacion);

   }

}


Resultado:

run:
Raiz cuadrada de 15.0
Resultado real:         3.872983346207417
Método Babilónico:     3.875
Aproximación: (%): 99.94793022297507
BUILD SUCCESSFUL (total time: 1 second)


Con la tecnología de Blogger.