Aqui podremos charlar de deporte, examenes, descargas, informatica, y tendremos el blog para comentar cosas graciosas o de gran interés
Índice­Todo para todos­Calendario­FAQ­Buscar­Miembros­Grupos de Usuarios­Registrarse­Conectarse
Compartir | 
 

 TUTORIAL DEL LENGUAJE JAVA

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Admin
Admin


Mensajes: 42
Fecha de inscripción: 22/10/2008

MensajeTema: TUTORIAL DEL LENGUAJE JAVA   Jue Oct 23, 2008 5:38 pm

Objetivos

Construye clases siguiendo especificacion es.
Describe los conceptos fundamentales de la programación orientada a objetos.
Reconoce la sintaxis utilizada en un lenguaje de programación orientada a objetos.
Busca en la documentación del lenguaje acerca del uso de las clases predefinidas.
Utiliza las clases predefinidas en el lenguaje para resolver un problema dado.
Reconoce la sintaxis utilizada en un lenguaje de programación orientada a objetos.

Introducción

Primero que todo, deseo compartir mis clases con el Foro... de esta forma todos aprendemos de la misma forma, no creen Huh... los objetivos planteados son más que todo una referencia pequeña, de lo que se desea llavar a cabo en este pequeño proyecto... Espero cada dos días, ir agregando información y cursos dentro de este...

Claro esta que antes de ver todo eso, debemos ver algo de Programación Estructurada para aquellos que nunca han visto como hacer un programa, ya sea en JAVA, u en otros lenguajes de programación.

Estructura

Es la estructura de un programa basado en JAVA, por ahora será nuestro "Ave María"... xD, siguiendo el curso, se irá viendo como corresponde cada secuencia...

* Sentencia de paquetes (packages) (opcional)
* 0,1,2,3,4..... N sentenciasde importación
* Serie de comentarios (opcional)
* Declaraciones de clases privadas (si se desea, claro)
* Una declaración de clases públicas
* Declaración de clases
* Declaración de variables de la clase
* Declaración de variables de instancia
* Definición de constructores
* Definición de métodos


Descarga e instalación de algún compilador

Para trabajar con JAVA, usaremos JDK Versión 6 Update 6, se puede descargar de la siguiente página: Aquì

Pero no trabajaremos en sí con el compilador JAVAC, que es el compilador de JAVA, sino utilizaremos un programa para poder trabajar de forma más cómoda con un modo GUI, para ello utilizaremos JCreator Pro que es un IDE de JAVA, descargable de su Web Oficial http://www.jcreator.com/download.htm, disponible para Windows Vista, Win2000 y WinXP.

Guardamos y ejecutamos el EXE:Crearemos el PATH (directorio), donde queremos instalar JCreator Pro

Comienza la instalación

Lanzamos el JCreator

He aquí donde nos encontramos con la configuración de programa, decidiremos si queremos que el compilador sea solamente utilizable para el usuario disponible, para todos los usuarios, o solamente para ejecutarlo desde el PATH.

Aquí nos encontraremos con todos los archivos asociados al programa, *.java, *.jcw, *.jcp, *.jsp, *.xml, podemos agregar o eliminar según sea nuestra conveniencia, en este caso, lo dejaremos por defecto.

Apretamos Next (siguiente), y aceptamos la Licencia.

Aquí nos pide el PATH de jdk, lo buscamos y lo seleccionamos, por defecto lo encuentra. Y luego FINISH.

Aspectos Històricos

* Sun Microsystem lider en Servidores para INTERNET, desarrolla JAVA con el fin de eliminar incompatibilid ades.(1991)
* Fue un proyecto que reboto mucho tiempo por distintos departamentos de SUN, java como un lenguaje de pequeños electrodomésticos.
* El mercado inicial de JAVA (a cargo de la filial de Sun Microsystem, FirsPerson Inc.) eran los equipos como microondas, tostadores y fundamentalmen te televisión interactiva.
* James Gosling, miembro del equipo, con mas experiencia en lenguajes de programación había estado trabajando en su tiempo libre en un lenguaje de programación que el llamo OAK, cuyas bases fueron C++.(1990)


* El primer proyecto que uso OAK, se llamo proyecto Green, el cual era un sistema de control completo de los aparatos electrónicos y el entorno de un hogar.
* OAK era un nombre existente.
* Duke es la mascota de Java, aunque también se usa la taza de café (Java nace entorno a una conversación, junto a un café).
* Bill Joy, cofundador de SUN y uno de los principales desarrolladore s de UNIX de Berkeley, presento JAVA en agosto de 1995.

Características

Es simple.

* Ofrece toda la funcionalidad de un lenguaje potente, es perecido a C++.
* Utiliza Garbage Collector (reciclador de memoria dinámica). No es necesario preocuparse de liberar memoria, el reciclador se encarga de ello, cuando entra en acción permite liberar bloques de memoria muy grandes, lo que reduce la fragmentación de la memoria.
* Reduce 50% los errores mas comunes de programación al eliminar características como:

Aritmética de punteros
no existen referencias
registros (struct)
definición de tipos (typedef)
macros (#define)
necesidad de liberar memoria (free).


Es orientado a Objetos

* Java incorpora la resolución dinámica de métodos, características que deriva del lenguaje Objettive C.
* Usa RTTI (Run time type idetification) que define la interacción entre objetos, excluyendo variables de instancias o implementación de métodos.
* Modo de organizar sus programas.
* Modelamiento de objetos del mundo real.

Es distribuido.

* Capacidad de interconexión TCP/IP, existen librerias de rutinas para acceder e interactuar con protocolos como http y ftp.
* Java en si no es distribuido, si no que proporciona las librerias y herramientas para que los programas puedan ser distribuidos, es decir, que funcione en varias máquinas, interactuando.


Es de arquitectura Neutral.

* Java compila su código a un archivo objeto de formato independiente de la arquitectura de la maquina en que se ejecutara.

* El código fuente java se compila a un código de bytes de alto nivel independiente de la máquina. Este código (byte - Code) esta diseñado para ejecutarse en una máquina hipotética que es implementada por un sistema run time que si es dependiente de la máquina.
* Lo único dependiente del sistema es la máquina virtual (JVM) y las librerías fundamentales, además habrá APIs de Java que también entraran en contacto con el hardware y serán dependientes de la máquina.


Ejemplos de APIs

* JAVA2D: gráficos 2D y manipulación de imágenes.
* Java Media Framework: Elementos críticos en el tiempo, audio, video.
* Java Animation: animación de objetos 2D.
* Java Telephony: Integración con telefonía.
* Java Share: Interacción entre aplicaciones multiusuario.
* Java 3D: gráficos 3D y su manipulación.


Es seguro.

* Si los byte codes pasan la verificación sin generar ningún mensaje de error, entonces sabemos que:
* El código no produce desbordamiento de operando en la pila.
* Todos los tipos, los parámetros de todos los códigos de operación son conocidos y correctos.
* No ha ocurrido ninguna conversión ilegal de datos.


Es portable.

* Independiente de la plataforma.
* Un entero (int) en java, siempre será un entero de 32 bits.


Es multitarea.

* Java permite muchas actividades simultáneas en un programa.
* Java provee su propio navegador (Hotjava).
* Es un sistema federado, el navegador es un coordinador de piezas y cada pieza es responsable de una función. Las piezas se pueden añadir dinámicamente a través de la red.


Es eficiente

* Existen compiladores de Java para código Nativo
* JIT (Just in Time)
* Es Dinámico
* Objetos usados siempre en forma dinámica automáticamente.


Versiones del Lenguaje

* Java 1.02: Versión mas difundida y la última de la versión 1.0 que estaba embutida en browser mas antiguos.
* Java 1.1.0: Esta versión incorpora grandes cantidades de funcionalidade s entre las más importantes java RMI, JavaBeans, nuevo modelo de eventos, JDBC.
* Java 1.2: Una de las principales características JFC (Java Foundations classes, una biblioteca que contiene los componentes de Swing)
* Java 1.4: Una de las últimas versiones, incorpora nuevas mejoras, llamada java 2.0
Volver arriba Ir abajo
Ver perfil de usuario http://todoparatodos.8forum.biz
Admin
Admin


Mensajes: 42
Fecha de inscripción: 22/10/2008

MensajeTema: Re: TUTORIAL DEL LENGUAJE JAVA   Jue Oct 23, 2008 5:38 pm

Los tipos de datos utilizados en JAVA son:
Citar
Tipos de datos Valores

byte 8 bits complemento a 2 -127 a 127
short 16 bits complemento a 2 -32767 a 32767
int 32 bits complemento a 2 -2147483648 a 2147483648
long 64 bits complemento a 2 -9 mil billones a -9 mil billones

Números Reales

float 32 bits IEEE 754 3,4 * 10^-38 a 3,4 * 10^38
double 64 bits IEEE 754 1,7 * 10^-308 a 1,7 * 10^308

Otros Tipos

boolean tru or false 0 o 1
char 16 bits de caracteres alfabeto

byte, short, int y long, son tipos de datos enteros. Estos identificadore s son representados bajo tres formatos, Hexadecimal, Decimal y Octal.

float y double, son tipos de datos flotantes, esto quiere decir que son variables de tipo fraccionaria (con decimales).

boolean, es un tipo de estado que representa bi-valores, esto significa que son dos valores, ya sea true o false, false = 0 y true >=1.

char, tipo carácter, se utiliza para almacenar tipos Unicode simple. este tipo de dato almacena 16 bits de caracteres en un entero.

Citar
Descripción Representación Valor Unicode

Carácter Unicode \udddd
Número Octal \ddd
Barra Invertida \\ \u005C
Continuación \ \
Retroceso \b \u0008
Retorno de carro \r \u000D
Alimentación de formularios \f \u000C
Tabulación horizontal \t \u0009
Línea nueva \n \u000A
Comillas simples \’ \u0027
Comillas dobles \" \u0022
Números ASCII 0-9 \u0030 a \u0039
Alfabeto ASCII mayúsculas A – Z \u0041 a \u005A
Alfabeto ASCII minúsculas a – z \u0061 a \u007A

Explico esto a grandes ragos, cuando declaramos un carácter, se puede realizar de dos formas:

char carácter_1 = 'A';

ó

char caracter_1 = '\u0041';
Reportar al moderador En línea
SOLO LOS QUE DEJAN DE INTENTAR, FRACASARÁN...

Torneo Matemático Fases 2 + UPDATE
Convocatoria E-Zine HxS #1
CHR0N05
Colaborador
****
Desconectado Desconectado

Mensajes: 1,600


Chronos es Dios de Dioses!!...


Ver Perfil WWW Mensaje Privado (Desconectado)

Re: JAVA desde CERO
« Respuesta #5 : 11 de Agosto de 2008, 12:14:25 »
Identificadore s

Primero es lo primero:

Palabras reservadas en JAVA

Código:

abstract
double
int
strictfp
boolean
else
interface
super
false
break
extends
long
switch
null
byte
final
native
synchronized
true
case
finally
new
this
catch
float
package
throw
char
for
private
throws
class
goto
protected
transient
const
if
public
try
continue
implements
return
void
default
import
short
volatile


Para crear Identificadore s debemos seguir las siguientes reglas:

* No pueden llevar el nombre de alguna palabra reservada.
* Es sencible a las mayusculas, entonces B != b.
* Debe comenzar por una letra, _ o $. seguido de los carácteres que se desen


Un pequeño ejemplo sería un identificador de tipo flotante con el nombre de cph, _cph, $cph.

Código:

float cph;
float _cph;
float $cph;


Ps. Si falta alguna palabra reservada, por favor dar aviso... Tongue
Operadores

Cuando hablamos de Operadores nos referimos a ciertas categorías:

* Aritméticos
* Asignación
* Instanceof
* Incrementables
* Unarios
* Relacionales
* Lógicos
* Concatenables
* A nivel de Bits


Aritméticos:

Son aquellos Operadores básicos dentro de la matemáticas:

* Suma = ‘+’
* Resta = ’-’
* Multiplicación = ’*’
* División = ’/’
* Resto de una división = ’%’


Ejemplo de resto:
9 % 4 = 1

Asignación:

Estos más que todo se utilizan para simplificar el trabajo de teclado, además se basan en los Operadores Aritméticos.:

* += ; valor1 += valor2  valor1 = valor1 + valor2
* -= ; valor1 -= valor2  valor1 = valor1 - valor2
* *= ; valor1 *= valor2  valor1 = valor1 * valor2
* /= ; valor1 /= valor2  valor1 = valor1 / valor2
* %= ; valor1 %= valor2  valor1 = valor1 % valor2


Instanceof:

Este Operador nos permite saber si el Objeto pertenece a la clase llamada o no:

La sintaxis:
Objeto Instaceof Clase

Incrementables:

Este tipo de Operadores, son los que permite incrementar o disminuir en uno, la variable:

* ‘++’ = incrementa en uno
* ‘--‘ = disminuye en un


Ejemplo:

Contador++ = contador incrementa en uno su valor
Contador-- = contador disminuye en uno su valor.

Unarios:

Más fácil comer papas fritas, sirven para cambiar el símbolo de una operación:

* +
* -


Ejemplo:

2 + 1 = 2 + (-1)  2 – 1

Relacionales:

Más de alguno, os acordará cuando el profesor de matemáticas/geometría/algebra, nos pedia que teniamos que saber que cifra era mayor, igual o menor que otra, o incluso si eran distintas. Los operadores relacionales se utilizan y son para eso, para realizar comparaciones:

* ‘>’  mayor que
* ‘<’  menor que
* ‘==’ igual que
* ‘!=’ distintos que
* ‘<=’ menor igual que
* ‘>=’ mayor igual que


Lógicos

Los operadores lógicos, entregarán un valor bolean, pero esto no significa que entregarán true o false, sino que compararán los dos valores que se estan comparando en el momento:

* ‘&&’  Ambas entradas deben ser verdaderas
* ‘||’  Ambas entradas deben ser falsas
* ‘|’  Una entrada tiene que ser falsa
* ‘&’ Una entrada tiene que ser verdadera
* ‘!’  Niega la entrada


Concatenables:

El Operador de concatenación se utiliza para agrupar cadenas de caracteres:

* ‘+’


Ejemplo
“Hola” + variable + “como estás?”

A nivel de Bits

Son aquellos operadores que se dedican al desplazamiento de bits:

* ‘<<’  desplaza hacia la izquierda
* ‘>>’  desplaza hacia la derecha
* ‘&’  tabla de verdad (and)
* ‘|’  tabla de verdad (or)

Sentencias

Como en todo lenguaje de programación existen las sentencias, JAVA no es la excepción.

En este apartado, nos basaremos en la Estructura de control, que se subdivide en dos, Iteración y Selección. Este tipo de sentencias nos permiten hacer una programación más entrenida y menos secuencial.

Sentencias de tipo Iteración:

Este tipo de sentencias nos permiten realizar una operación tantas veces como sea necesaria, un pequeño ejemplo es cuando nos piden que mostremos un carácter cinco o hasta más veces, para no repetir la misma instrucción se utilizan este tipo de sentencias iterativas.

* Sentencia Iterativa While


Esta sentencia es la más sencilla de utilizar, se basa en que la condición empleada sea verdadera, y en el caso de lo contrario, se termina y sale de la sentencia.

Su sintaxis es la siguiente:

Código:

While (condición)
{
Sentencia1;
Sentencia2;
Sentencia3;

}


Hasta que termine por un negativo o falso (false), tenemos que procurar que la sentencia termine en algún momento, de lo contrario terminaría nunca, lo cual se denota bucle infinito.
Volver arriba Ir abajo
Ver perfil de usuario http://todoparatodos.8forum.biz
Admin
Admin


Mensajes: 42
Fecha de inscripción: 22/10/2008

MensajeTema: Re: TUTORIAL DEL LENGUAJE JAVA   Jue Oct 23, 2008 5:39 pm

* Sentencia Iterativa do While


En este tipo de sentencias, primero se realiza la acción para luego confirmar la condición dada.

La sintaxis es de la siguiente forma:

Código:

Do
{
Sentencia1;
Sentencia2;
Sentencia3;

}
While (condición);


* Sentencia Iterativa for


En las sentencias previas, podríamos avernos dado cuenta que en aquellas sentencias no sabíamos el número exacto de ciclos que daría. En este tipo de sentencia (for), se utiliza específicamente cuando sabemos cuantos ciclos deben efectuarse antes del término del ciclo.

La sintaxis es la siguiente:

Código:

for (tipo_de_valor nombre_variable = valor_varible;
nombre_variable operador nombre_variable1;
nombre_variable operador)


Un pequeño ejemplo:

Código:

for (int cph = 69; cph <= 0; cph--)
{
System.out.print ("Esto se mostrará 69 veces");
}


Sentencias de Selección

Este tipo de sentencias se diferencia, ya que en estas se dedican a la comparación de variables. Un ejemplo de esto, es el famoso semáforo, que haceis si la luz da rojo ?, nos detenemos o seguimos depende del criterio de cada uno, aunque lo lógico y prudente es detenerse, Si el semáforo da luz roja, detenerse, de lo contrario seguir.

* Sentencia de Selección if-else


El significado de esta sentencia se denota en si pasa algo hacerlo, sino hacer otra cosa.

Sintaxis:

Código:

if (condición)
{
Sentencia1;
Sentencia2;
Sentencia3;

]
Else
{
Sentencia1;
Sentencia2;

}


Un pequeño ejemplo de ello es:

Código:


if ( x % 4 == 0 )
{
if ( x % 100 == 0 )
{
if ( x % 400 == 0 )
{
System.out.println("Es bisiesto");
}
else
{
System.out.println("No es bisiesto");
}
}
else
{
System.out.println("Es bisiesto");
}
}
else
{
System.out.println("No es bisiesto");
}



* Sentencia de Selección Swith


Este tipo de sentencias se dedica a estructurar todas las sentencias de selección múltiple. Swith trabaja evaluando cada tipo de expresión, y el intérprete busca las variables con el valor correspondient e. En el caso de encontrar dicha variable la ejecuta, hasta el momento de encontrarse con una quebradura (break) del programa. Si no encuentra variable con la cual evalúa la expresión buscará por defecto una variable llamada default (opcional).

Sintaxis:

Código:

Swith (expresión)
{
Case ‘constante1’:
Sentencia1;

Break;
Case ‘constante2’:
Sentencia2;

Break;
Default:
Sentenciad;

}


Fijaros que en el momento de la condición se denota con comillas simples (‘ ‘), y terminando con dos puntos ( : ), al contrario de las sentencias que tienen la terminación del punto y coma ( ; ).

Un ejemplo sencillo sería una calculadora.
Clases y Objetos
WaesWaes


Antes de empezar se deberán definir unos conceptos para poder entender las definiciones de clases y objetos

Variable: espacio de la memoria reservado para almacenar u valor que corresponde a un tipo de dato soportado por el lenguaje de programación, una variable, SIEMPRE es representada y utilizada a través de una etiqueta que se le asigna que esa etiqueta va a ser única de eso dato.

Es una variable encontraremos

Código:

tipo_de_dato etiqueta = tipo_de_dato


hay cuatro tipos de datos: numéricos, lógicos, alfanuméricos y alfabéticos

Numérico
Código:

int numero = 5;
long numeros = 5;


Lógico

*estas en especial vas a reflejar dos estado (verdadero o falso)
Código:

boolean resultado = false;
boolean gane = true;


Alfanuméricos

Código:

String nick=jose23;


Alfabéticos

Código:

String nombre = jose;



Constante: tipo de dato que no puede cambiar su valor. ejemplo: pi

Ente: algo que tiene asociada una simbología para poder describirlo.

Para que quede mas claro voy a comentar un ejemplo que vi en una Web

Por ejemplo, a través de una palabra podemos tener una idea de aquel concepto, sin embargo habrá una diferencia entre su verdad (lo que creemos sobre el concepto) y su realidad (lo que nos rodea)

Para ser mas específicos, si yo digo "Marte" lo mas probable es que visualice el planeta rojo con sus características especificas, etc. (su verdad) sin embargo seguramente "Marte" es distinto a lo que ustedes visualizaron (su realidad).

Sin embargo por algo visualizaron el otro planeta similar, porque "tiene asociada una simbología para poder describirlo."

Abstracción: es la comprensión que se tiene de un ente.

Por ejemplo, yo al decir Marte, uno se puede imaginar un planeta, otro un pedazo de roca, otro el color rojo, etc. sin separar la diferencia entre nuestra verdad y su realidad, la abstracción son puras verdades.

Característica funcional: define todo lo que hace un objeto.

Esto es algo muy importante, tomemos como ente un auto sus características funcionales serian

encender, avanzar, acelerar, frenar, parar (entre otras)

Atributos: características propias

Métodos: características funcionales

Objeto: abstracción acotada de un ente en base a sus característica, en función de un propósito claro y un punto de vista definido.

Cabe destacar que hay diferencia entre abstraer un ente de distintos puntos de vista

Por ejemplo, las características del ámbito funcional de una computadora seria la cantidad de memoria ram, rom, cache, microprocesado r, etc

En cambio del punto de vista comercial lo que importaría seria, el precio la cantidad de stock, la compra y venta, etc

Por eso es que el punto de vista es muy importante.

Según sea la abstracción y manteniendo sus características propias un objeto se puede descomponer en un conjunto de objetos.

Por ejemplo el objeto "computadora" se puede descomponer en (placa medre, hdd, fuente, lectora de CD) en este caso "computadora" seria el objeto pedre y los demás serian hijos, y también si necesitamos mas detalles podríamos descomponer un objeto hijo por ejemplo "placa madre" (zócalo cpu, sw1, sw2, bateria, usb, IDE1, IDE2)

A la hora de describir u objeto hay que terminar abriendo y cerrando paréntesis, no puede hacer espacios, no se puede empezar con mayúsculas, no se pueden poner acentos

Código:

ejemplo: placaMadre()


Clase: conjunto de atributos y métodos asociados a la abstracción de un ente.

Recordando siempre cual es el punto de vista por ejemplo si la clase es un revolver
Código:

clase: revolver

Disparar() *cantidad de balas
Cargar() *capacidad de cargador
PonerSeguro() *estado del seguro


Ese es un ejemplo simple para que se den mas o menos cuenta

Herencia: metodología de clases, para que una clase hija herede características y métodos de clase padre.
Ingreso y Despliegue de Datos

Tenemos que mencionar que todos los programas basados en JAVA serán manipulados por la clase System, que pertenece a la librería java.io.* (entrada de datos)...

para importa un paquete (package), usaremos import, y en este caso java.io.*, por la razón que por el momento no nos interesa saber de donde pertenece la libreria exacta que hace la entrada de datos

System.in, representa la entrada standart
System.out representa la salida de datos

BufferedReader (es la clase que usaremos para la lectura de los datos)

Ahora veremos, como hacer que el programa "ingrese los datos"...

Código:

InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader br = new BuffereReader (isr);


Leamos un poco, para comprender lo que dice...

Haremos una clase InputStreamRea der es quien a groso modo, el ingreso de datos, ya que transforma un bytes a línea de carácteres, los lee y los decodifica... sacando conclusiones:

Se crea una clase InputStreamRea der isr (se le puede dar cualquier nombre, yo le pongo isr, para que no se olvide que lo que se crea), de una nueva clase InputStreamRea der, que hace el ingreso de datos desde System.in...

BufferedReader, más que todo lee el texto que es ingresado, y al igual que la línea anterior, se lee...

Se crea una clase BufferedReader br (cualquier nombre), de una nueva clase BufferedReader desde isr (InputStreamRea der)...

Ahora, esto se me ocurrio, analizando un poco todo esto, y gracias a Plaga, la duda fue concluída de buena forma...

Código:

BufferedReader br = new BufferedReader (new InputStreamReader (System.in));


Esto se puede leer de la siguiente forma:

Se crea una clase BufferedReader llamada br, de una clase BufferedReader desde InputStreamRea der llamado desde System.in (De esta forma leemos los datos y se ingresan)

Ahora cómo debería quedar el programa Huh

El Método Main

public static void main(String[] args)

public y static son modificadores de main.

- El metodo main no devuelve nada indicado por void.
- El metodo main tiene identificador "main".
- El metodo main acepta cero o más objetos de tipo String, se puede enviar desde la linea de comando valores a ser ocupados en el main.

Código:

import java.io.*;

public class nombre
/* Cuidado he aquí donde tenemos un poco de cuidado
* si el nombre es distinto al archivo saldrá un error de clase
* en la compilación del programa
*/
{
public static void main(String[] args)
{
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
// Aquí todo lo demás del cuerpo del programa..
}
}


Ahora que entendimos esta pequeña parte del code, podemos seguir avanzando...

Para que ingrese los datos y quede en la memoria:

Código:

System.out.print // todo el code se pondrá al costado
System.out.println // todo el code hará un salto de carro


Ahora que sabemos como es el asunto, veremos para que los datos queden en memoria..

Código:

tipo_de_dato = Integer.parseInt(br.readLine());


Explicando un poco este code, es de la siguiente forma:

El tipo_de_dato será leído desde el Buffer, para ser guardado como un tipo entero (en este caso).

Ahora debemos de pensar una pequeña cosa, el programa lo manejará el usuario, y como siempre si al usuario se le dice ingresa un número, el usuario ingresa una letra... entonces debemos de estar preparados para errores, y para esto ocuparemos las famosas sentencias try & catch...

try & catch

Código:

try
{
// code
}
catch (Exception e)
{
// code de la excepción
}


Las Excepciones se usan en el caso de error, ya sea de una transformación de un dato hacia otro o en el caso de un error 0 ( Tongue, Error de Usuario)

Todo nuestro code debe estar dentro de try... ya que intentamos realizar algo...

En el caso de catch, es todo lo que en el caso de error...

Ahora chequemos el code, como estaría quedando..

Código:

import java.io.*;

public class nombre
{
public static void main(String[] args)
{
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
try
{
// nuestro programa
}
catch (Exception e)
{
System.out.println("Error");
}
}
}


Arrays
Vectores

Los Arrays son un método para guardar un conjunto de objetos de una misma clase, existen distintos tipos de Arrays, ya sean Unidireccional o Multidireccion ales.

Un Arrays o Arreglo, comienza en un índice 0 y el últimoi se debe denotar n-1... n == dimensión de Arrays.

Primero debemos saber cómo se declara y crea un Arrays en JAVA, y se realiza de la siguiente forma:

Código:

tipo_de_dato[] nombre;


el tipo_de_dato, ya sea int, float, double, entre otros... los corchetes ( [] ), quieren decir que es la sección de memoria a utilizar, y el nombre del Arrays...

La forma de declaración del Arreglo, cómo podría ser, sabiendo esto, y que se debe realizar un nuevo tipo de dato Huh...

Para los que pensaron antes de continuar, bien... Cheesy... sería de la siguiente forma:

Código:

tipo_de_dato[] nombre = new tipo_de_dato [x];


Donde x, es la sección de memoria a utilizar el Arrays...

Se entiende o voy muy rápido Huh

Si voy muy rápido aquí os dejo una pequeña explicación de un Arreglo de 10 posiciones...

0 1 2 3 4 5 6 7 8 9 --> Sección de Memoria del Vector
9 8 7 6 5 4 3 2 1 0 --> Datos de cada sección de Memoria del Vector

Cómo he dicho un vector comienza en un índice 0 (cero), y no en 1, entonces un vector de 10 posiciones llegará hasta el número 9, estamos de acuerdo con ello Huh

Operaciones Básicas de un Arreglo

* Definir el Arreglo
* Realizar un recorrido
* Ingresar datos al Vector
* Sacar los datos del Vector


Ok!...

Ya sabemos como definir el vector:

Código:

tipo_de_dato [] nombre_vector = new tipo_de_dato [10]


Ahora cómo recorremos el vector Huh...
Podría ser con una acción repetitiva (Ciclo), armando índices...

Lo recorreremos con un ciclo, en este caso un While:

Código:

While (i<=9)
{
System.out.print (nombre_vector[i]);
i++;
}


En el caso de un for

Código:

for (i=0;i<=9;i++)
{
System.out.print (nombre_vector[i]);
}
Volver arriba Ir abajo
Ver perfil de usuario http://todoparatodos.8forum.biz
Admin
Admin


Mensajes: 42
Fecha de inscripción: 22/10/2008

MensajeTema: Re: TUTORIAL DEL LENGUAJE JAVA   Jue Oct 23, 2008 5:40 pm

Ahora crearemos un nuevo método para la clase punto... qué hará este método Huh... simplemente calculará la distancia entre ambos puntos.

Código:

public double distancia (double x2, double y2)
{
xx = (double)(Math.round
(Math.sqrt((Math.pow(x2-x,2))+(Math.pow(y2-y,2)))));
return xx;
}


Para hacer el ingreso de este método al método main, sería de la siguiente forma:

Código:

public static void main (String[] args)
{
double x = 23; y = 34;

punto p = new punto();

System.out.print ("Obtenemos X: " + p.obtenerx());
System.out.print ("\nObtenemos Y: " + p.obtenery());
System.out.print ("\nLa distancia entre los puntos x e y son: " + p.distancia (x, y));
}


Espero todo se esté entendiendo de la mejor forma posible... Tongue,
aunque tengan en cuenta que si no ponen de su parte no se puede avanzar cada vez más... Wink

Ya estariamos comenzando a entender esto de Clases, Objetos y Métodos... tengan en cuenta que no es llegar y entender este capitulo, conlleva un poco más de estudio que los otros capitulos... sin embargo cuando se toma el ritmo será lo más fácil que exista... Wink

Veremos como queda el programa completo:

Código:

import java.lang.Math;

public class punto
{
public double x;
public double y;

public punto()
{
x = 0;
y = 5;
}

public punto (int a, int b)
{
x = a;
y = b;
}

public double obtenerx()
{
return x;
}

public double obtenery()
{
return y;
}
public double distancia (double x2, double y2)
{
xx = (double)(Math.round
(Math.sqrt((Math.pow(x2-x,2))+(Math.pow(y2-y,2)))));
return xx;
}

public static void main (String[] args)
{
double x = 23; y = 34;

punto p = new punto();

System.out.print ("Obtenemos X: " + p.obtenerx());
System.out.print ("\nObtenemos Y: " + p.obtenery());
System.out.print ("\nLa distancia entre los puntos x e y son: " + p.distancia (x, y));
}
}


Y ahí tenemos nuestra primera clase lista!... Cheesy

CHR0N05!... que pasa si deseo crear una nueva clase y llamar a los métodos de la clase punto Huh... es completamente igual...

realizar el constructor
crear el ojeto
y llamar a los métodos que se requieran (siempre y cuando se pueda)...

Tarea!... Tongue

Modificar esta clase, incluyendo los siguientes métodos:

* Calcular el área de los puntos
* Calcular el perimetro de los puntos


Crear una nueva clase llamada recta, que contenga los siguientes métodos:

* Otener la pendiente
* Intersección del Eje X y del eje Y


ArrayList

http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html

Anteriormente vimos Arrays o Arreglos, tanto Uni como Bidireccionale s, que solamente podían almacenar un solo tipo de datos y tenían un tamaño finito.

En esta ocasión veremos ArrayList, que puede almacenar cualquier tipo de datos y contiene un tamaño infinito.

Para utilizar ArrayList, necesitaremos de la Clase java.util.Arra yList

Código:

import java.util.ArrayList;


En esta pequeña clase crearemos una pequeña Agenda… Tongue

Código:

import java.util.ArrayList;

public class Agenda
{

}


Que deberiamos hacer después ??... declarar las variables no es así ?

Código:

public String Nombre;
public ArrayList Notas; // Anotaciones, Citas, Como se les diga


Nuestro constructor

Código:

public Agenda (String Nom)
{
Nombre = Nom;
Notas = new ArrayList();
}


Como pueden ver, se pedirá solo un Atributo para crear una Agenda, que en este caso sería Nom, que será equivalente al Nombre, y creamos un nuevo Objeto de la clase ArrayList() con una capacidad inicial de 10 valores y con el nombre de Notas.

NOTA:
ArrayList() = Capacidad inicial de 10
ArrayList(Collection c) = Los elementos de una Colección en espefícica
ArrayList(int InitialCapacit y) = Una capacidad Inicial determinada por el Programador

En esta Agenda solo agregaremos nombres y notaciones, ahora debemos pensar:

Debemos crear un método Huh... la respuesta es si…
Este método nos deberá volver algún valor Huh... no, la respuesta es porque este método solo agregará valores al Vector, entonces utilizaremos void,
Pedirá algún atributo Huh, si, porque nuestro constructor nos dice que tendremos un Nombre y una Cita o Nota.

Código:

public void agregar(String Anotaciones)
{
Notas.add(Anotaciones);
}


Notas.add(Anotaciones), se deberán estudiar la clase que puse arriba de este capitulo Tongue… pero a grandes rasgos añade una “Anotación” al Vector.

Como va nuestro programita Huh

Código:

import java.util.ArrayList;

public class Agenda
{
private String Nombre;
private ArrayList Notas;

public Agenda(String Nom)
{
Nombre = Nom;
Notas = new ArrayList();
}

public void agergar(String Anotaciones)
{
Notas.add(Anotaciones);
}
}


Bien, solo nos faltaría crear el método main para que pida los valores necesarios para insertar valores al Arreglo.

Código:

public void main (String [] args) throws IOException
{
BufferedReader br = new BufferedReader (new
InputStreamReader (System.in));

Agenda ag = new Agenda(Nombre);

System.out.print ("Ingrese Nombre: ");
String Nombre = br.readLine();
System.out.print ("Ingrese Notas: ");
String Anotaciones = br.readLine();

ag.agregar(Anotaciones);
}


Creo que a estas alturas ya es un poco ilógico que explique esta parte del código... aun asi le explicaré... Tongue

Código:

Agenda ag = new Agenda(Nombre);


Crea un nuevo objeto de la clase Agenda.

Código:

ag.agregar(Anotaciones);


Agrega las Anotaciones antes escritas.
Volver arriba Ir abajo
Ver perfil de usuario http://todoparatodos.8forum.biz
Admin
Admin


Mensajes: 42
Fecha de inscripción: 22/10/2008

MensajeTema: Re: TUTORIAL DEL LENGUAJE JAVA   Jue Oct 23, 2008 5:42 pm

Sobrecarga

En este hilo, veremos lo que es Sobrecarga... Tongue

Primeramente, debemos tener en cuenta las clases y métodos constructores. ..

Código:

public class MiClase
{
MiClase()
{
....
}
}


De esta forma el método constructor se denota:

Código:

MiClase objeto = new MiClase();


Ahi tenemos un método constructor no es asi ??... bueno, la sobrecarga consiste en realizar el mismo método pero con atributos totalmente distintos...


Código:

public class MiClase
{
MiClase()
{
....
}
MiClase(int a, int b)
{
....
}
}


De esta forma es totalmente válido realizar

Código:

MiClase objeto = new MiClase();
MiClase objeto = new MiClase(29,30);


La diferencia parte en la entrega de parámetros

Se entiende ??... Espero que si... Tongue, esta parte de la programación es bastante fácil de entender asi que no veo la complicación del pequeño ejemplo...

Ahora un ejemplo real:

Código:

import java.io.*;

pulic class MiClase
{
private int a, b;

MiClase(int a, int b)
{
this.a = a;
this.b = b;
}

public int suma(int a, int b)
{
return (a + b);
}
public double suma (double a, double b)
{
return (a + b);
}

public void main(String [] args) throws IOException
{
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));

System.out.print ("Ingrese primer numero: ");
int a = Integer.parseInt(br.readLine());
System.out.print ("Ingrese primer numero: ");
int b = Integer.parseInt(br.readLine());

MiClase obj = new MiClase(a,b);

System.out.print ("La suma de los números es: " + obj.suma(a,b));
}
}


Espero haya quedado bastante claro... Cheesy

Tarea:

Hacer la misma operatoria con double y float...

Herencia

Que es lo primero que se les viene a la mente cuando se habla de herencia Huh...

Practicamente Herencia se suele recurrir cuando un hijo hereda de su padre alguna característica en especial... o casi todo...

En JAVA no es distinto... pero tendremos clases hijos que heredan de la clase padre...

Cuando mi profesor, nos explicó el concepto de Herencia... fue bastante fácil... y la práctica aún más... xD

Tomaré en cuenta que ahora ya saben crear Clases, Métodos y Sobrecarga... Asi un ejemplo básico de una clase con métodos a utilizar...

Código:

public class resultado
{
private double x, y;
private String op;

public resultado(double x, double y, String op)
{
this.x = x;
this.y = y;
this.op = op;
}

public double valor()
{
double res = 0;
if (op.equals("+"))
{
res = (int)x + (int)y;
}
if (op.equals("-"))
{
res = (int)x - (int)y;
}
if (op.equals("*"))
{
res = x * y;
}
if (op.equals("/"))
{
if (y != 0)
{
res = x / y;
}
else
{
System.out.print ("No se puede realizar la operacion");
}
}
return res;
}
}


Que hace este trozo de código Huh... simplemente pide dos variables y una operación, y hace lo que corresponde... Dificl ??...
Volver arriba Ir abajo
Ver perfil de usuario http://todoparatodos.8forum.biz
Admin
Admin


Mensajes: 42
Fecha de inscripción: 22/10/2008

MensajeTema: Re: TUTORIAL DEL LENGUAJE JAVA   Jue Oct 23, 2008 5:42 pm

Hasta aquí nada nuevo no es asi ??...

Ahora si os piden agregar un nuevo número y otra operación... que haceis ??... super fácil CHR0N05!!!... se agregan nuevas variables...

Esa respuesta es totalmente válida... pero harán lo mismo si en un "x" caso les piden hasta 20 números ??... :S.. no creen que es demasiado engorroso Huh...Para que modificar una clase si lo que podemos hacer es llamar a esa clase y agregar más valores sin necesidad de modificarla ??... Bueno aqui es donde entra nuestro gran concepto de herencia (que utilizaremos en todos los programas de ahora en adelante)...

Personalmente conozco dos formas de heredar una clase... extends e import...

extends

Código:

Tipo_clase nombre_clase extends clase_padre


Código:

public class resultado2 extends resultado


Más claro que el agua imposible... Tongue

import

Código:

import nombre_clase


Código:

import resultado


import generalmente se utiliza cuando la clase está dentro del proyecto o no (carpetas)

Ahora un ejemplo practico

Código:

public class resultado2 extends resultado
{
private double z;
private String op2;

public resultado2(double x, double y, String op, double z, String op2)
{
super(x,y,op);
this.z = z;
this.op2 = op2;
}

public double valor1()
{
double res = 0;

if (op2.equals("+"))
{
res = (int)valor() + (int)z;
}
if (op2.equals("-"))
{
res = (int)valor() - (int)z;
}
if (op2.equals("*"))
{
res = valor() * z;
}
if (op2.equals("/"))
{
if (z != 0)
{
res = valor() / z;
}
else
{
System.out.print ("\r\r\rNo se puede realizar la operacion");
}
}
return res;
}
}


Dentro del todo el código no creo que existan complicaciones, excepto las siguientes lineas:

Código:

public resultado2(double x, double y, String op, double z, String op2)
{
super(x,y,op);
this.z = z;
this.op2 = op2;
}


Explicación :

* Método Constructor de la clase resultado2
* Pide cinco atributos
* super(x,y,op) --> llama a los atributos de la clase padre para ser utilizados dentro de esta clase
* this.z = z --> Instancia un objeto dentro de la clase
* this.op2 = op2 --> Idem a "z"


Que nos falta por crear ??... aaa... el método main()

Código:

import java.io.*;

public class MAIN
{
public static void main(String [] args) throws IOException
{
BufferedReader br = new BufferedReader (new
InputStreamReader (System.in));

System.out.print ("\nIngrese numero [1]: ");
double a = Integer.parseInt(br.readLine());
System.out.print ("\nOperaciones [+] [-] [*] [/]: ");
String op = br.readLine();
System.out.print ("\nIngrese numero [2]: ");
double b = Integer.parseInt(br.readLine());
System.out.print ("\nOperaciones [+] [-] [*] [/]: ");
String op2 = br.readLine();
System.out.print ("\nIngrese numero [3]: ");
double c = Integer.parseInt(br.readLine());

resultado3 resu = new resultado3 (a,b,op,c,op2);

System.out.print ("\nEl resultado de los dos primeros numeros es: " + resu.valor());
System.out.print ("\nEl resultado de los tres primeros numeros es: " + resu.valor1());

}
}


Con este simple ejemplo de Herencia creo que ha de quedar claro, el para que, el como y el cuando se utiliza...

Si teneis dudas... no duden en llamar al 274-4353375 [CPH-HELPDESK] ... xD... Posteen las dudas correspondient es al caso... Wink

Entornos GUI

Creo que esto es lo que todos estaban esperando… Cheesy… la gráfica de JAVA…

Primero que todo, se comienza con una pequeña Introducción al este tema…

Veremos que ya hemos realizado varias Aplicaciones en JAVA, pero todas en entornos de Consola… pero ninguno Gráfico…

En Modo Consola, podemos encontrarnos con que toda la interacción fue por medio de teclado y su Interfaz está basada en netamente texto.

En cambio en Modo GUI, veremos gráfica de entrada y salida de datos, Íconos, interacción directa con el Usuario.

A simple vista podemos ver la diferencia, así que de esta forma debemos ser totalmente cuidadosos al momento de programar el Entorno GUI…

Para programar GUI en JAVA, debemos de conocer dos bibliotecas esenciales para la programación de esta… una de ellas es la “evolución” de la otra, pero esto no quita que no tendremos que utilizar la más antigua…

AWT

* “Look & Feel” dependiente de la plataforma
* La apariencia de ventanas, menúes, etc. es distinta en Windows, Mac, Motif, y otros Sistemas
* Funcionalidad independiente de la plataforma
* Básico y experimental
* Estándar hasta la versión JDK 1.1.5


SWING:

* “Look & Feel” y funcionalidad independiente de la plataforma (“Java Look & Feel”)
* Los menús y controles son como los de las aplicaciones “nativas“
* A las aplicaciones se les puede dar una apariencia en función de la plataforma específica
* Nuevas funcionalidade s
* API de accesibilidad para personas con necesidades específicas


Luego de haber ya leído unas pequeñas líneas de que es lo trabajado de ahora en adelante… realizaremos nuestro primer entorno GUI.

Nuestro Objetivo en este pequeño Entorno es:

* Crear una ventana de 450 x 300


Primero crearemos nuestro entorno GUI

Código:

Import javax.swing.JFrame;

public class Ventana
{
public static void main(String[] args)
{
JFrame ventana = new JFrame();
ventana.setSize(450,300);
ventana.setTitle(“MI PRIMER ENTORNO SWING... GRACIAS CHR0N05");
ventana.setVisible(true);
}
}


Para comprender lo que no entienden, que seguramente es por la Clase JFrame... como soy tan bueno, no los mandaré a buscar a Google… la Clase Júrame la pueden encontrar acá:

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFrame.html
Volver arriba Ir abajo
Ver perfil de usuario http://todoparatodos.8forum.biz
 

TUTORIAL DEL LENGUAJE JAVA

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permiso de este foro:No puedes responder a temas en este foro.
Foro universal :: Tiempo libre :: Informática-