domingo, 15 de agosto de 2010

Java con Netbeans parte 1: Introduccion

Bienvenidos a este espacio donde aprenderemos un poco del lenguaje java de manera sencilla con el IDE Netbeans.
Qué es Java?
Sería fácil definir java sencillamente como un lenguaje de programación más, en realidad eso es. Java fue creado para satisfacer una necesidad de su época planteada por nuevos requerimientos hacia los lenguajes existentes.
Breve historia de su creación
 Antes de la aparición de Java existían otros lenguajes, entre los cuales se encontraba C (que hasta la actualidad se encuentra entre los preferidos). C es un lenguaje de alto nivel, pero proporcionaba un entorno casi parecido a programar en lenguaje ensamblador, peru cuando el código crecía, se hacía dificil de manejar.
Entonces,en los ochenta, apareció la Programacion Orientada a Objetos (POO u OPP en inglés).
Como su nombre indica, la POO permitía dividir el código en partes u objetos, así se podía analizar objeto por objeto por separado y se evitaba la complejidad. A partir de entonces afloraron muchos lenguajes de programación orientado a objetos y tambien se lanzaron versiones orientadas a objetos de los lenguajes ya existentes.
Asi, del lenguaje C, salio a la luz su version orientado a objetos: C++ (En programación "++" significa un incremento, eso ya se verá mas adelante). Eso quiere decir que, aparte de las bondades de un magnifico lenguaje C, agregaba soporte para POO. Asi, desde los 90, C++ paso a ser uno de los lenguajes mas populares (hasta la actualidad)
Algunas otras versiones lanzadas y que adquirieron popularidad fueron:
De Pascal a Turbo Pascal, y luego a Delphi
De Basic a QuickBasic y luego a Visual Basic
Posteriormente, en 1991, la empresa Sun Microsystems creó una herramientas de programación para un proyecto en una pequeña operación llamado Green Proyecto. Esta herramienta inicialmente se conocía como Oak, luego pasó a denominarse Green ("Oak" estaba registrado como una marca comercial") y finalmente se le denominó Java.
Pequeña curiosidad es que Java era un tipo de café de una cafetería cercana. De ahí que también el símbolo de java sea una taza de café caliente.
Actualmente Java se sigue desarrollando gracias a ORACLE, luego de que ésta empresa adquiera a Sun MicroSystems en el 2009 y se consolide como un gigante del Open Source.
 Características del lenguaje Java
 Entre las peculiaridades de este nuevo lenguaje se tiene:
  • Totalmente orientado a objetos
  • Es independiente de la plataforma. Uno de sus principales objetivos, java se precompila. Sólo necesita la máquina virtual de java (JVM o Java Virtual Machine)
  • Facilidad para crear aplicaciones para redes TCP/IP
  • No hay punteros, lo que proporciona seguridad
  • Es un lenguaje interpretado
  • Permite multihilos
  • Admite firmas digitales
Java y JavaScript
 Si bien estos nombres se parecen, no tienen nada que ver entre sí. En primer lugar Sun creo Java. Netscape creo JavaScript como un lenguaje exclusivo para la creaciñon de páginas web dinámicas. Originalmente se denominó LiveScript y cambiado a JavaScript por razones de markéting, lo cual funcionó de manera magna. Hoy en día es bastante popular.
Empezando en Java
JDK
Como ya se había mencionado, una de las características de Java es que se precompila. Para ésto se necesita los programas encargados de realizar el precompilado. El más conocido es el kit de desarrollador de Java, o en ingles Java Developer Kit (JDK), que se encuentra disponible en: http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html (Ultima versión que es la que usaremos)
IDE
Existen numerosos entornos de desarrollo integrados (Integrated Development Enviroment IDE) para Java, algunos de los cuales son:

  • Eclipse

  • Netbeans
  • JCreate
  • JavaDeveloper
  • JBuilder
Aquí se usara la plataforma Netbeans. Se puede descargar su ultima versión en:
Pueden instalar el paquete o plugin para pasarlo al español, o descargarlo directamente en español de:
Sintaxis del lenguaje Java
Comentarios
Es importante saber documentar nuestros programas para hacerlos mas accesibles a quien desee entender nuestro código, esto se logra mediante los comentarios. Los comentarios son lineas que no van a ser interpretadas por Java.
Comentario de una sola linea:
    // Esto es un comentario de una sola linea
 Comentario de varias lineas:
    /* Esto es un
    comentario de
    varias lineas */
Javadoc 
Javadoc es una herramienta del kit de desarrollo de Java para autogenerar documentación Java. Los comentario javadoc comienzan con el simbolo /** y terminan con */. Cada línea de texto se inicia con un *. Dentro de los comentarios generados se puede escribir cualquier texto. En javadoc existen etiquetas especiales, precedidas por el símbolo @. Pueden ser:
@author. Para indicar el autor del documento
@version. Para indicar el número de la versión de la aplicación
@see. Indica una referencia a otro código Java relacionado
@since. Indica desde cuándo esta disponible el código
@deprecated. Indica que esta clase o método están obsoletos
@throws. Indica las excepciones a las que lleva ese código
@param. Describe qué parámetros necesita ese codigo para su utilización
@return. Tras esa palabra se describe los valores que devuelve o retorna
Palabras reservadas
Palabras reservadas por el programa Java y que no deben ser utilizados como identificadores por el programador. Las palabras reservadas en java son:
 abstract     char  double  for int private super transient
 boolean class else goto interface protected switch try
 break const extends if long public synchronized void
 byte continue final implements nativ return this volatile
 case default finally import new short throw while
 catch do float instanceof package static throws                
Variables
Las variables o identificadores son los contenedores de los datos que utiliza un programa. Cada variable se declara para separar un espacio en la memoria RAM del ordenador y que almacenara un dato. El identificador es el nombre precisamente de la variable, por ejemplo:
    miVariable
    contador
    nombreVariable
    contador1
    contador_1
Ejemplos de variables incorrectas son:
        
        1variable           Empieza con dígito
        super                  Palabra reservada
        mi Variable       Espacio en blanco
Tipos de datos primitivos
Son los números enteros, reales, caracteres, valores lógicos, etc.


 Tipo de variable


 Bytes que ocupa


 Rango de valores 
 boolean 2 true,false
 byte 1 -128 a 127
 short 2      -32.768 a 32.767 
 int 4 -2.147.483 a 2.147.483.649
 long     8 -9.1018 a 9.1018
 double     8 -1,79 . 10 308 a 1,79 . 10 308
 float 4 -3,4 . 1038  a 3,4 . 10 38
 char         2 Caracteres
Declaración de variables
Antes de poder utilizar una variable, ésta se debe declarar de la siguiente forma
    tipo nombreVariable;
Donde tipo es el tipo de datos que almacenará la variable (texto, números enteros, valores lógicos...) y nombreVariable es el nombre con el que se conocerá . Ejemplo:
        int nota;
    boolean decision;
También se puede hacer que la variable tome un valor inicial al declarar:
      int dias=365;
Y también se puede declarar más de una variable a la vez:
        int dias=365, nota=20, edad=18;
Operadores
Para manipular los datos debemos utilizar operadores, asi podemos realizar operaciones básicas como suma y resta y también operaciones mas complejas.
Operadores aritméticos
Son:
 
 Operador Significado Ejemplo Resultado
 + Suma 8+5 13
 - Resta 8-5     3
 * Producto 8*5 40
 / División 8/5     1
 % Módulo o Residuo 8%5 3
 ++     Incremento en 1 i++ i+1
 - - Decremento en 1 i- - i - 1
 +=     Suma al contenido i+=2 i=i+2
 - = Resta al contenido i - =2 i = i - 2
 *= Multiplica al contenido j *= 3 j = j*3
 /= Divide al contenido k /= 4 k= k/4
Operadores condicionales
Son aquellos que sirven para comparar valores y siempre devuelven valores booleanos (true o false). Son:
 Operador Significado  Ejemplo  Resultado
 < Menor 2 < 3 false
 > Mayor 8 > 4 true
 <= Menor o igual 5<=5 true
 >= Mayor o igual 6>=5 false
 == Igual 2==2     true
 != Distinto 2!=2 false
 ! Negación !(3==3) false
 &&Y lógico (4==4) && (3<2) false
 ||O lógico (5<5) || (4==4)     true
Ámbito o alcance
Se refiere a la duración de una variable, por ejemplo en:
{
    int x=12;
}
System.out.println(x);
Java dará error, porque la variable se usa fuera del bloque establecido (la estructura dentro de las llaves).
Estructuras fundamentales de Java
Son estructuras de control del flujo que determinan que acciones se llevaran a cabo si se cumplen ciertas condiciones
Estructura condicional if
Permite crear estructuras condicionales simples, se usa cuando se desea evaluar una comparación y realizar acciones cuando la comparación sea verdadera.
Sintaxis:
    if (condicion){
        instrucciones que se ejecutan si la condicion es verdadera
    }
    else{

        instrucciones que se ejecutan si la condicion es falsa
    }
La parte else es opcional. Ejemplo:
    if (nota>=15){
       estado="aprobado";
    }
    else{
       estado="desaprobado";
    }
Se pueden anidar varios if a la vez de modo que se comprueben varios valores. Por ejemplo:
        if(diaSemana==1) dia="Lunes";  
        else if (diaSemana==2) dia="Martes";
        else if (diaSemana==3) dia="Miercoles";
        else if (diaSemana==4) dia="Jueves";
        else if (diaSemana==5) dia="Viernes";
        else if (diaSemana==6) dia="Sabado";
        else if (diaSemana==2) dia="Domingo";
Estructura de selección múltiple: switch
Permite evaluar distintos valores a la vez. Sintaxis
        switch(expresion){
            case valor1:
                acciones;
                [break];
            case valor2:
                acciones;
                [break];
                .
                .
                .                
            case valorN:
                acciones;
                [break];
            default:
                acciones si ninguna condicion de las anteriores se cumple;
        }
La expresión debe ser short, int, byte o char. Cada case contiene una condición que será evaluada, si esta es verdadera ejecuta las acciones designadas para el respectivo case; si el resultado es falso entonces salta al segundo case y evalúa nuevamente. La instrucción break se utiliza para salir del switch. El bloque default sirve para ejecutar instrucciones si, luego de evaluar cada case, ninguna condición fue verdadera. Un ejemplo sería:
        switch(diaSemana){                      dia="Fuera del rango";
            case 1:
                dia="Lunes";
                break;
            case 2:
                dia="Martes";
                break;               
            case 3:
                dia="Miercoles";
                break;
            case 4:
                dia="Jueves";
                break;
            case 5:
                dia="Viernes";
                break;
            case 6:
                dia="Sabado";
                break;
            case 7:
                dia="Domingo";
                break;   
            default:

        }

Otra manera de usar el switch es:
        switch(diaSemana){
            case 1:
            case 2:               
            case 3:
            case 4:
            case 5:
                dia="Laborable"
                     dia="Fuera del rango";
                break;
            case 6:
            case 7:
                dia="No Laborable";
                break;   
            default:

        }

Estructuras repetitivas:
while:
Permite crear bucles. Un buble es un conjunto de sentencias que se repiten si se cumple una condición dada. Las instruccion dentro de un while se ejecutan mientras la condición evaluada sea verdadera, si se evalúa falsa termina el bucle
La condición se evalúa antes de entrar al bucle y cada vez que se termina de ejecutar las instrucciones del while.
Sintaxis:
        while (condicion){
            Instrucciones que se ejecutan si la condicion es verdadera
        }
do while:
Crea un bucle parecido al while, en la que también las instrucciones se ejecutan hasta que la condición sea falsa. La diferencia es que la condición se evalúa despues de haber ejecutado las instrucciones dentro del bloque, por lo cual se ejecutará por lo menos 1 vez.
Sintaxis:
        do{
            Instrucciones que se ejecutan si la condicion es verdadera
        }while (condicion)
for:
Es un while simplificado mucho más rápido y eficaz.
        for (expresionInicial; condicion; variacion){
            Instrucciones
        }
Construir un método
Crear una aplicación con métodos sirve para organizar el código. Así, cada método se encarga de realizar tareas específicas. Luego de crear cada método, sólo debemos invocarlo para poder usarlo. En Java la sintaxis para declarar un método es:
        tipoDato nombreMetodo (lista de parametros)
El tipo de dato de un método (tipoDato) depende del resultado que devolverá. Así se creará metodos int, double, String, etc. Si el método no devuelve ningún resultado el tipo de dato debe ser void (vacío).
El nombre del método (nombreMetodo) debe empezar con minúsculas y si se compone de varias palabras es recomendable que a partir de la segunda empiezen con mayúscula.
La lista de parametros son variables, cada una con su respectivo tipo de dato que se enviarán al momento de invocar al método.

Ejemplo. Si se debe construir un método que lea el nombre de una persona se debe declarar de la siguiente manera:
    String leerNombre()
Para llamar a éste metodo:
    nombre = leerNombre();
y la estructura del método en Java:


                public String leerNombre(){
            return TextBox.getText();
        }
Arreglos y Matrices
Un arreglo, también llamado vector, es una colección de valores de un mismo tipo almacenados en la misma variable. Para acceder a cada uno de los valores se asigna a cada uno de ellos un número denominado índice, que normalmente empieza en 0.

Arreglos unidimensionales
Sintaxis:
    tipo nombre[];
Ejemplo: Un vector que almacenará diferentes edades:
    int edades[];
Luego de declarar el array, de ebe asignar espacio de la memoria, por ejemplo para edades, reservaremos espacio para 20 edades diferentes:
        
        int edades[];
        edades=new int[20]
        
También se pueden declarar arreglos ya iniciados, como en el siguiente ejemplo:
    String paises[] = {"Peru","Argentina","Brasil","Chile","Ecuador"};
        
Arreglos multidimensionales
Los arreglos pueden tener varias dimensiones
    int notas[][]; 
 Para asignar espacio en la memoria:
    notas=new int[3][12];      

No hay comentarios:

Publicar un comentario