Pseudocurso de Java


Introduccion
Tipos de Datos
Sentencias de Control
Funciones
Creacion de GUI con AWT
Arrays y Cadenas
Utilizacion de Ficheros
Sockets
 

Introduccion

Por fin despues de mucho tiempo empiezo con esto, haber que sale. Lo primero de todo decir que este y el pseudocurso de C van ha ir muy a la par, ya que en lo que se refiere a tipos de datos y sentencias de control son lenguajes casi iguales.
Lo que necesitareis para seguir el pseudocurso es por un lado un compilador de java, yo personalmente y en lo que me refiera aqui a un compilador lo hare al Java Development Kit (JDK), pero claso esta podeis usar el que querais con tal de que compile java, tambien un editor ASCII para escribir el codigo vale cualquiera pero yo os recomiendo el FreeBuilder que esta hecho en java y trae algunas cosillas que no trae un editor normal y por ultimo paciencia, porque no se con que frecuencia se actualizara este pseudocurso.
Una vez dicho esto empecemos, el Java nacio hace unos poquitos años como solucion a los fabricantes de electrodomesticos a un problema que obligaba a reescribir todos los programas de por ejemplo una labadora cada vez que se cambiaba de chip, con el java lo que permitia es que aunque se cambiara de chip lo unico que habria que reescribir seria la maquina virtual que interpreta los programas con lo que bajan los costes de produccion y el tiempo de salida de los productos, cosa que alos empresarios les encanta, al menos esa era la idea en un pricipio. Sun la empresa que gesto a este bicho cada vez mas grande pronto vio el potencial de un lenguaje independiente de la plataforma en la que se ejecuta y para mas inri lo hizo de libre distribucion para uso personal, que quizas sea la razon por la que ha tenido tanto exito, con lo cual aparecen desde el primer momento una burrada de programadores en este lenguaje. Tanto es asi que hasta Mocosoft esta inquieto por el creciente volumen de programas comenciales que se hacen con java, que recordemos aun no tiene una version de finitiva del lenguaje y que se saca otro JDK cada poco pero siguen siendo Betas, lo que ha hecho que Mocosoft intente sabotear el lenguaje con el Visual J++ que no compila java 100% multiplataforma, recordemos que le hiere en dos sentidos uno desbanca a su Visual Basic y dos hiere a su multimillonario Güindous. Con lo cual Sun maldice el dia en que permitio a Mocosoft utilizar java y estan en un pleito por ello, otro pleito para Billy.
Bueno como ya he dado la clase de historia brasas esta vamos al grano.
 

En java podemos hacer dos tipos de programas los que se ejecutan independientemente o los que se ejecutan en un navegador, asi tendremos lo que se llama applications standalone y applets. De moneto solo vamos atrabajar con las aplicaciones por tener una estructura mas sencilla para empezar en el fichero de codigo habra tres partes:

import paquete_de_clases;

class nombre_clase
                        {
                        main()
                            {
                            instrucciones de programa;
                            }
                         }

Esto seria la estructura basica de un programa en java, en la cabecera vemos una instruccion "import" que lo que hara sera importar las definiciones de una serie de clases que vamos a utilizar (es similar alos includes en C). Aqui sale el termono clase y aun no sabemos que es eso asi que vamos a esplicarlo un poco por alto, cuando ya sepamos un poco mas profundizaremos en el tema, de momento creeros que una clase es una caja de zapatos, que llamaremos objeto, que tiene herramientas para nuestro trabajo y los materiales necesareos para el, es decir tiene un martillo y un destornillador, las Herramientas, y clavos y tornillos, los materiales. La definicion que importamos con "import" nos dice cuales son estas Herramientas y estos Materiales, y su utilizacion.
Luego vemos "class nombre_clase" esta es una de finicion de las que estamos hablando nombre_clase sera como lla memos a esta caja de zapatos y lo que esta entre sus dos llaves seran las definiciones de las herramientas (que llamaremos funciones) y los materiales (que llamaremos variables y constantes), en la definicion basica de una aplicacion java solo se necesita una Herramienta (funcion) que es la funcion "main" que es siempre (para las aplicaciones) la funcion que se ejecuta primero, en ella definiremos variables, constantes y llamaremos funciones.
 

Tipos de Datos

Quien no hadado matematicas alguna vez, pues bien en ellas tenemos un monton de tipos numericos para representarlas cosas reales, que si enteros, que si naturales, que si reales ... pues en los sistemas de prigramacion tendremos algo similar. Tendremos numeros enteros (int), reales o fraccionarios (float) ... uno por cada tipo de las mates :
 
Tipo Tamaño Descripcion
byte  8 -bits numeros sin signo del 0 al 255
short 16-bits numeros sin signo de 0 a 65335
int 32-bits nº enteros de -65335 a +65335
long 64-bits nº enteros de -2^32 a +2^32
float 32-bits reales de percision sinple
double 64-bits reales de precision doble
char 16-bits caracter en Unicode
boolean true o false  valores boleanos verdadero o falso

Char no es un tipo que hayamos dado en mates guardara la representacion de un caracter por ejemplo una "a" para poder despues leerla o escribirla en algun sitio.
 

Sentencias de Control

Comentario

texto explicativo que se añade al programa pra su mejor comprension, no es interpretado por el compilador simplemente lo ignora, es muy bueno hacer comentarios soretodo si el programa es muy largo o muy complicado, porque tras unos meses si volvemos a editar el codigo puede que no nos acordemos de nada.

    //comanetario de una linea

    /*comantario de
    varias lineas*/
 

Sentencia

Sera una linea o mas de codigo que realice una accion en concreto, normalmente constara de una instruccion y un ";" al final
ejemplo:
    printf("hola mundo"); //imprimiria por pantalla hola mundo
 

Bloque

Sera un conjunto de sentencias entre dos llaves
ejemplo:
    { //bloque que escrie 4 veces hola mundo
    printf("hola mundo"); //imprimiria por pantalla hola mundo
    printf("hola mundo"); //imprimiria por pantalla hola mundo
    printf("hola mundo"); //imprimiria por pantalla hola mundo
    printf("hola mundo"); //imprimiria por pantalla hola mundo
    }
 

Sentencia IF

La sentencia if es una sentencia condicional que solo se ejecuta si se cumple una condicion, un ejemplo seria " SI (esta lloviendo) sacare el paraguas" donde la condicion es "esta lloviendo" y la sentencia que se realizara si esta lloviendo "sacare el paraguas". Su sintaxis general sera
    if (condicion) bloque o sentencia
La condicion habra de ser una expresion o una funcion que de algo como resultado, para ello se utilizan los operadores de comparacion:
    A == B    A igual B
    A != B    A distinto de B
    A > B    A mayor que B
    A < B    A menor que B
    A >= B    A mayor o igual B
    A <= B    A menor o igual B
    A && B    A operacio logica Y B
    A || B        A operacio logica  O B
Donde A y B pueden ser variables,numeros,cadenas de texto o cualquira de estas expresiones
ejemplos:
    if ( n == 1 ) printf("hola mundo");

    if(c>=6){
                printf("hola mundo");
                printf("adios mundo ");
                }
el bloque se utiliza ciando se han de ejecutar mas de 1 sentencia
 

Sentencia IF ELSE

Es una sentencia if que costa de dos partes una que se ejecuta si se cumple la condicio y otra que lo hara si no es asi, un ejemplo seria "SI (hace frio) llevare el abrigo SINO saldre en bermudas" donde la condicio es "hace frio", cuando esta es cierta se ejecuta "llevare el abrigo", pero si no es cierta se ejecuta "saldre en bermudas"
Su sintaxis es
    if (condicion) bloque o sentencia /*apartir de ahora donde ponga bloque tamien podra ir una sentencia*/
    else bloque
Nota: la sentencia puede ser otro if con lo que anidariamos If de la siguiente manera
    if (condicion) bloque
    else if (condicion) bloque
                else if (condicion) bloque
                        else bloque
ejemplos:
    if ( n == 1 ) printf("hola mundo");
    else
        printf("adios mundo cruel");

    if(c>=6){
                printf("hola mundo ");
                printf("el sol esta alto");
                }
    else
        {
         printf("Adios mundo ");
         printf("la luna esta triste");
        }
 

Bucle

Conjunto de sentencias que se repiten un numero determinado, o no, de veces. Cada ejecucion de las sentencias se llama iteracion
 

Sentencia WHILE

Es una estructura de bucle que se repite MIENTRAS se cumpla una condicion, "MIENTRAS (llueva) me quedare en casa"  la condicion es "llueva" y mientras esta se cumpla se realizara la accion "me quedare en casa". Su sintaxis es while (condicion) bloque
ejemplo:
while ( 1 ){ //este es un bucle infinito ya que 1 siempre es verdadero
        printf("hasta el infinito y mas alla");
        }

while ( 0 ){ //este es un bucle que nunca se ejecuta porque 0 es siempre falso
        printf("hasta el infinito y mas alla");
        }

while ( n==1 ){
        printf("hasta el infinito y mas alla");//esto solo se ejecuta 1 vez ya que en la primera iteracion n ya vale 1
        n=1;
        }

while ( n==7 ){
        printf("hasta el infinito y mas alla");//esto se ejecuta 7 veces ya que n se incrementa en 1 en cada iteracion
        n=n+1; // es mucho mas elegante utilizar n++ para esta sentencia hace lo mismo
        }
 

Sentencia DO WHILE

Es similar al while pero se ejecuta por lo menos 1 vez siempre, "estaba fuera MIENTRAS (no pudiera entrar)" la sintaxis es do bloque while(condicion)
ejemplo:
do{
    printf("hola mundo");
    n++;
    }while(n < 10); //se ejecutara 10 veces

do{
    printf("hola mundo");
    n++;
    }while(n == 10); //se ejecutara 10 veces
 

Sentencia FOR

Es un bucle que se ejecuta un numero de terminado de veces que nosotros expecificamos, la sintaxis es for(variale=numero_inicial;condicion;forma_de_incremento)bloque
ejemplo:
    for(x=0;x<10;x++){
                    printf("hola mundo");//se ejecuta 10 veces
                    }

Sentencia CASE

Funciones

Creacion de GUI con AWT

Arrays y Cadenas

Utilizacion de Ficheros

Sockets