Aprendiendo Java en "serio" ... [003]

Temario muy básico de Java

  1. Compilar y ejecutar programas Java: java, javac,etc.
  2. Arreglos: vectores y matrices
  3. Introducir datos en Java: Scanner, BufferedReader, JOptionPane, etc.
  4. Uso de Collections: List, HashMap, etc.
  5. Java Swing básico
  6. Proyecto sencillo no.1
  7. IDEs: Eclipse y NetBeans
  8. Java y las base de datos
  9. Proyecto sencillo no.2
  10. Java y XML
  11. Frameworks

No es tan verdadera está afirmación ( jaja es broma), pero en estos tutoriales preferi usar la terminal de comandos como se vio en el pasado post. Es recomendable que estudien el lenguaje, la síntaxis, tipo de datos, etc. para poder seguir los ejemplos.

Sobre programación ...

"Siempre que usted vaya a resolver un problema sea muy lógico, esto quiere decir que
sencillamente guíese por sus mínimos razonamientos y busque siempre el camino mas obvio y
sencillo. No existe un problema que se resuelva con lógica cuya solución no sea sencilla. Antes de
comenzar a pensar en la lógica de programación piense en su propia lógica. Diseñe las soluciones
pensando en sus propias reglas y luego si ajústese a las reglas que la lógica de programación
impone para facilitar la posterior codificación.
"

Texto tomado del libro "La esencia de la lógica de la programación" de Omar Trejos Buritica.

Arreglos: vectores y matrices

Tanto vectores y matrices son estructuras de datos del mismo tipo (int, double, String,etc.), se accede a sus elementos a través un índice entero (0,1,2,3...).

Ejemplo. Definir un arreglo.

tipo nombreArreglo[numeroDeElementos];
/*puedes definirlos de las siguientes formas*/
int numeros[12];
int[] numeros=new int[12];
int[] numeros={1,2,3,4,5,6,7,8,9,10,11,12,13};  // arreglo anónimo, más adelante otro ejemplo
//vector de tamaño 4
int[] numeros=new int[4];
..
..
numeros[0]=1;
numeros[1]=4;
numeros[2]=6;
numeros[3]=9;

También puede definirse un arreglo anónimo, aquelllos que no recurren a la palabra new

Ejemplo. Arreglos (vectores y matrices) anónimos:

//vector
int[] numeros={2,4,5,6,7,8,13};

/*se puede recorrer mediante un for "foreach"*/
for(int e: numeros){
   System.out.println(""+e);
}

//matriz
int[][] matriz={  { 4,5,6},
                      { 6,43 3},
                                          {7,0,21}
                                        };

for(int i=0; i <  matriz.length;i++){
  for(int j=0;j< matriz.length;j++){
    System.out.println(""+matiz[i][j]);
  }
}                                      
                                                                       

Ej. no. 0 ... generador de frases aleatorias

public class Frases{

   public static void main(String[] args)throws Exception{
       String[] palabras1={"Ana","cumplio","  tres veintenas","en Santo","Ignacio"};
           String[] palabras2={"Ricardo","acepto","  una aceituna","en su","cumpleaños"};
           String[] palabras3={"Irene","corre","  muy rápido","entre","prado y prado"};
           String[] palabras4={"Ernesto","come papas"," de su costal"," y  bebe mucha","leche también"};
           
           int aleatorio1=(int)(Math.random()*palabras1.length);
           int aleatorio2=(int)(Math.random()*palabras2.length);
           int aleatorio3=(int)(Math.random()*palabras3.length);
           int aleatorio4=(int)(Math.random()*palabras4.length);
           
           String frase=palabras1[aleatorio1] +"    " +palabras2[aleatorio2] +"    " + palabras3[aleatorio3]+"    "+palabras4[aleatorio4];
           System.out.println(frase);
   
   }

}

Compilar: javac -g Frases.java
Ejecutar:java Frases

Ej. no. 1 ... cálculo del índice de masa corporal

Fórmula:imc=peso/(talla*talla);

public class Tabla {
        public static void main(String[] args)throws Exception,IOException {
       
               
                double[] pesos={45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105};
                double[] tallas={1.5,1.53,1.56,1.59,1.62,1.65,1.68,1.71,1.74,1.77,1.8,1.83,1.86,1.89,1.92,195,1.98};
               
                double[][] tabla=new double[pesos.length][tallas.length];
                int i=0,j=0;
                System.out.println("\t*** [Calculo de IMC] ***");
                System.out.print("Pesos: ["+pesos.length+"] registros\n");
                System.out.print("Tallas: ["+tallas.length+"] registros\n");
                System.out.println("\n\tPesos  Tallas   IMC");
                for(i=0;i< pesos.length;i++){
                        for(j=0;j< tallas.length;j++){
                                tabla[i][j]=Math.round(pesos[i]/(tallas[j]*tallas[j]));
                                //System.out.println("\n\tPesos  Tallas   IMC");
                                System.out.println("\n\t"+pesos[i]+"\t"+tallas[j]+"\t"+tabla[i][j]+"\n");
                        }
                }              
        }
}/

Compilar: javac -g Tabla.java
Ejecutar:java Tabla

Ej. no. 2 ... obtener la suma y media de un arreglo de números

public class Media{

   public  static void main(String ... args)throws Exception{
       double[] calificaciones={6.5,6.6,7.4,7.45,8.0,8.2,8.9};
           double suma=0.0;
           //sumar todas las calificaciones
           for(double e: calificaciones){
              suma+=e;
           }
           
           System.out.println("suma total: "+Math.round(suma));
           System.out.println("Promedio obtenido: "+Math.round((suma/calificaciones.length))); // para saber el tamaño de un arreglo puedes usar length
   
   }

}

Compilar: javac -g Media.java
Ejecutar:java Media

Ahora es turno de las matrices.

Ej. no. 3 ... obtener la suma de dos matrices A y B

public class Tuto05{
  /*en Java para definir una constante se usa la palabra reservada: final*/
   //public static final int MAX=10;
  public static void main(String[] args)throws Exception{
    /*  
      Se puede declarar una matriz de la siguiente forma:
        int[][] matrizA=new int[MAX][MAX];
                int[][] matrizB=new int[MAX][MAX];
        */

               
                int[][] matrizA={
                                        {3,4,8},
                                                                {9,0,5},
                                                                {10,3,-21}
                                      };
                int[][] matrizB={
                                        {-21,53,11},
                                                                {32,-2,8},
                                                                {11,98,31}
                                      };
               
               
                int[][] matrizC=new int[matrizA.length][matrizA.length];
               
                int i=0,j=0;
               
                System.out.println("[Matriz A]");
               
                for(i=0;i<matrizA.length;i++){
                System.out.println("Fila ["+i+"]");
                    for(j=0;j<matrizA.length;j++){
                      System.out.println(matrizA[i][j]);       
                }
        }
       
        System.out.println("[Matriz B]");
               
                for(i=0;i<matrizB.length;i++){
                System.out.println("Fila ["+i+"]");
                    for(j=0;j<matrizB.length;j++){
                      System.out.println(matrizB[i][j]);       
                }
        }              
                //suma         
                for(i=0;i<matrizA.length;i++){
                    for(j=0;j<matrizB.length;j++){
                        matrizC[i][j]=matrizA[i][j]+matrizB[i][j];     
                }
        }
       
        System.out.println("[Ver suma]");
               
                for(i=0;i<matrizA.length;i++){
                System.out.println("Fila ["+i+"]");
                    for(j=0;j<matrizA.length;j++){
                                        System.out.println(""+matrizC[i][j]);
                       
               
                }
        }
               
 
 
  }
 

}

Compilar: javac -g Media.java
Ejecutar:java Media


nota: todos los programas funcionan, si crees más conveniente usar Eclipse o Netbeans adelante.


Post anteriores

  1. Presentación del tutorial
  2. Compilar y ejecutar programas java con comandos

Las imágenes de Homero Simpson y los demás personajes son propiedad de Matt Groening.