Está en la página 1de 50

ESTRUCTURA DE UN PROGRAMA ORIENTADO A OBJETOS

Java implementa la tecnologa bsica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres caractersticas propias del paradigma de la orientacin a objetos: encapsulacin, herencia y polimorfismo. Las aplicaciones de Java resultan extremadamente seguras, ya que no acceden a zonas delicadas de memoria o de sistema, con lo cual evitan la interaccin de ciertos virus. Java no posee una semntica especfica para modificar la pila de programa, la memoria libre o utilizar objetos y mtodos de un programa sin los privilegios del kernel del sistema operativo. Adems, para evitar modificaciones por parte de los crackers de la red, implementa un mtodo ultraseguro de autentificacin por clave pblica. El Cargador de Clases puede verificar una firma digital antes de realizar una instancia de un objeto. Por tanto, ningn objeto se crea y almacena en memoria, sin que se validen los privilegios de acceso. Es decir, la seguridad se integra en el momento de compilacin, con el nivel de detalle y de privilegio que sea necesario

El SDK de Java (JSDK) se proporciona gratuitamente desde la web de SUN. http://java.sun.com/j2se/1.4.2/download.html Las herramientas que trae el SDK y que ms utilizaremos son: java (ejecutable): Ejecuta cualquier programa compilado de Java javac (compilador): Compilar el cdigo fuente escrito en Java. Una vez hecho esto, abrimos la consola, Inicio > Ejecutar > cmd y ya deberan estar disponibles los comandos "java" y "javac".

/** Ejemplo de estructura en Java *Mostramos en pantalla la palabra HOLA ALUMNOS **/ Import java.*;

/*la clase principal llamada ProgramaUno */ Public class ProgramaUno { public static void main(string args[]) {//parte que se ejecuta el programa System.out.println(HOLA ALUMNOS);

En Java hay tres tipos de comentarios:

// comentarios para una sola lnea /* comentarios de una o ms lneas */ /** comentario de documentacin, de una o ms lneas */
Los dos primeros tipos de comentarios son los que todo programador conoce y se utilizan del mismo modo. Los comentarios de documentacin, colocados inmediatamente antes de una declaracin (de variable o funcin), indican que ese comentario ha de ser colocado en la documentacin que se genera automticamente cuando se utiliza la herramienta de Java, javadoc.

Los identificadores nombran variables, funciones, clases y objetos; cualquier cosa que el programador necesite identificar o usar. En Java, un identificador comienza con una letra, un subrayado (_) o un smbolo de dlar ($). Los siguientes caracteres pueden ser letras o dgitos. Se distinguen las maysculas de las minsculas y no hay longitud mxima. Seran identificadores vlidos: identificador nombre_usuario Nombre_Usuario _variable_del_sistema $transaccion y su uso sera, por ejemplo: int contador_principal; char _lista_de_ficheros; float $cantidad_en_Ptas;

Las siguientes son las palabras clave que estn definidas en Java y que no se pueden utilizar como identificadores: abstract continue for new Switch boolean default goto null synchronized break do if package this byte double implements private threadsafe byvalue else import protected throw case extends instanceof public transient catch false int return true Char final interface short try class finally long static void Const float native super while Adems, el lenguaje se reserva unas cuantas palabras ms, pero que hasta ahora no tienen un cometido especfico. Son: Cast future generic inner operator outer rest var

Los separadores admitidos en Java son: () - parntesis. Para contener listas de parmetros en la definicin y llamada a mtodos. Tambin se utiliza para definir precedencia en expresiones, contener expresiones para control de flujo y rodear las conversiones de tipo. {} - llaves. Para contener los valores de matrices inicializadas automticamente. Tambin se utiliza para definir un bloque de cdigo, para clases, mtodos y mbitos locales. [] - corchetes. Para declarar tipos matriz. Tambin se utiliza cuando se referencian valores de matriz. ; - punto y coma. Separa sentencias. , - coma. Separa identificadores consecutivos en una declaracin de variables. Tambin se utiliza para encadenar sentencias dentro de una sentencia for. . - punto. Para separar nombres de paquete de subpaquetes y clases. Tambin se utiliza para separar una variable o mtodo de una variable de referencia.

Todo en Java forma parte de una clase, es una clase o describe como funciona una clase. El conocimiento de las clases es fundamental para poder entender los programas Java. Todas las acciones de los programas Java se colocan dentro del bloque de una clase o un objeto. Todos los mtodos se definen dentro del bloque de la clase, Java no soporta funciones o variables globales. As pues, el esqueleto de cualquier aplicacin Java se basa en la definicin de una clase. Todos los datos bsicos, como los enteros, se deben declarar en las clases antes de hacer uso de ellos. De hecho son pocas las sentencias que se pueden colocar fuera del bloque de una clase. La palabra clave import (equivalente al #include) puede colocarse al principio de un fichero, fuera del bloque de la clase. Sin embargo, el compilador reemplazar esa sentencia con el contenido del fichero que se indique, que consistir, como es de suponer, en ms clases.

Los tipos de clases que podemos definir son: abstract Una clase abstract tiene al menos un mtodo abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia. final Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final. public Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas. synchronizable Este modificador especifica que todos los mtodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads (hilos); el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.

Todo programa en Java debe tener al menos una clase (principal) que se declara usando la palabra reservada CLASS y se debe definir un mtodo denominado main. Esto porque cuando se ejecuta el programa primero se ejecuta el mtodo main de la clase ProgramaUno.

/*la clase principal llamada ProgramaUno */ Public class ProgramaUno { public static void main(string args[]) {//parte que se ejecuta el programa System.out.println(HOLA ALUMNOS);

El metodo main llama al metodo que escribe en pantalla

La palabra reservada PUBLIC indica que se exporta al exterior. Se debe guardar como ProgramaUno.java La sintaxis para declarar un mtodo es: <modificadores><tipo devuelto><nombre del metodo> (<parametros>) { <cuerpo del metodo> }

El IDE o Entorno Integrado de Desarrollo es una herramienta que permite elaborar, compilar y ejecutar los programas. Existen varios IDE para JAVA, entre los mas conocidos: JCREATOR , ECLIPSE, etc. Describirmos JCREATOR : Botn Inicio, luego programas y damos clic a JCREATOR

Escribimos el programa lo compilamos con el comando BUILD. COMPILE FILE Si existen errores se muestran en la parte inferior y cuando todo este corregido Se muestra el mensaje PROCESS COMPLETED.

Para grabar con otro nombre

Para abrir archivos

Existen en todo lenguaje de programacin, en java 8 tipos de datos primitivos o integrados:, por lo general se tiene: Numricos, tipo carcter y tipo cadena TIPO NUMERICO Los datos numricos, representan cantidades, se utilizan para operaciones matemticas, pero con la salvedad que estos tipos incluyen tanto nmeros positivos y negativos. As tenemos: Tipo de dato : ENTERO - PRIMITIVO byte, que almacena 1 byte de memoria (8 bits); rango de -127 a 127. tipo de datos byte se puede
utilizar para ahorrar memoria en grandes arrays, donde el ahorro de memoria realmente importa. short, que almacena 2 byte de memoria (16 bits); rango de -32 768 a 32 768 . puede utilizar short para ahorrar memoria en grandes arrays int, que almacena 4 byte de memoria (32 bits) rango de -2147683648 a 2147683647. Este tipo de dato normalmente ser lo suficiente grande para los nmeros que su programa vaya a utilizar long, que almacena 8 byte de memoria (64 bits). De -9223372056859775808 a 9223372056859775807. Utilice este tipo de dato cuando necesite un rango de valores ms amplio que el proporcionado por int.

Ejemplos:

1 -1 29 035 0x1d 29L

TIPO NUMERICO Tipo de dato : REALES , COMA FLOTANTE PRIMITIVO Float, que almacena 4 byte de memoria (32 bits); un bit para el signo, 8 para el exponente y 23 para el contenido. , se recomienda usar un float (en vez de un double) si necesita ahorrar memoria en grandes array de nmeros en coma flotante. Double, que almacena 8 byte de memoria (64 bits); un bit para el signo, 11 para el exponente y 52 para el contenido. Normalmente este tipo de dato es la eleccin predeterminada para valores decimales. Ejemplos: 24. 2.4e1 .24e2 0.0

TIPO CARACTER Tipo de dato : CHAR PRIMITIVO


Char, que almacena 2 byte de memoria (16 bits); El tipo de dato char es un solo carcter Unicode de 16 bits. Tiene un valor mnimo de '\u0000' (o 0) y un mximo de '\uffff' (o 65.535 inclusive). Sirven para representar letras, dgitos, signos, etc. y van entre comillas o apostrofes Ejemplos: TIPO BOOLEANO Tipo de dato : BOOLEAN PRIMITIVO Boolean, El tipo de dato boolean solamente tiene dos valores posibles: true (verdadero) y false (falso). Utilice este tipo de datos como conmutadores para la evaluacin de condiciones verdadero/falso. Este tipo de dato representa un bit de informacin, pero su tamao es algo que no est definido con precisin. Ejemplos: true false a A \n \t

Las comillas no forman parte de la cadena

Adems de los ocho tipos de dato primitivos enumerados ms arriba, el lenguaje de programacin Java tambin proporciona soporte especial para cadenas de caracteres mediante la clase java.lang.String. Al encerrar una cadena de caracteres entre comillas dobles automticamente se crear un nuevo objeto de tipo String, por ejemplo: String s = "esto es una cadena";. Los objetos String son inmutables, lo que significa que, una vez creados, sus valores no se pueden cambiar. La clase String tcnicamente no es un tipo de dato primitivo, pero si tenemos en cuenta el trato especial que le da el lenguaje, probablemente tender a pensar en ella como tal.

No siempre es necesario asignar un valor cuando se declara un campo. El compilador fija un valor predeterminado razonable para los campos que se declaran pero no son inicializados. En general, este valor ser cero o null, dependiendo del tipo de dato. Sin embargo, fiarse de estos valores predeterminados se considera una mala costumbre en la programacin.

Para declarar los datos se requiere utilizar variables que deben ser declaradas al inicio del programa. Una variable es un nombre que se asocia con una porcin de la memoria del ordenador, en la que se guarda el valor asignado a dicha variable. Todas las variables han de declararse antes de usarlas, la declaracin consiste en una sentencia en la que figura el tipo de dato y el nombre que asignamos a la variable. Una vez declarada se le podr asignar valores. Java tiene tres tipos de variables: de instancia - de clase - locales Las variables de instancia o miembros dato como veremos ms adelante, se usan para guardar los atributos de un objeto particular. Las variables de clase o miembros dato estticos son similares a las variables de instancia, con la excepcin de que los valores que guardan son los mismos para todos los objetos de una determinada clase. En el siguiente ejemplo, PI es una variable de clase y radio es una variable de instancia. PI guarda el mismo valor para todos los objetos de la clase Circulo, pero el radio de cada crculo puede ser diferente.

Las variables locales se utilizan dentro de las funciones miembro o mtodos. En el siguiente ejemplo rea es una variable local a la funcin calcular Area en la que se guarda el valor del rea de un objeto de la clase Circulo. Una variable local existe desde el momento de su definicin hasta el final del bloque en el que se encuentra.

En el lenguaje Java, las variables locales se declaran en el momento en el que son necesarias. Es una buena costumbre inicializar las variables en el momento en el que son declaradas. Veamos algunos ejemplos de declaracin de algunas variables

Son las ordenes que se le da a la computadora para realice alguna accin. Todas las instrucciones deben terminar con un punto y coma. instruccin; Se pueden tener instrucciones compuestas o bloques de instrucciones, los cuales son iniciados y terminados con parntesis. {instruccin1; instruccin2; . instruccinN; }

Los operadores aritmticos permiten realizar operaciones entre datos declarados como variables. Los operadores unarios Los operadores unarios solamente necesitan un operando; realizan diferentes operaciones como incrementar o decrementar un valor en una unidad, negar una expresin o invertir el valor de un booleano.

Los operadores aritmticos (binarios)

El lenguaje de programacin Java proporciona operadores que realizan la suma, resta, multiplicacin y divisin. Probablemente los reconozca por sus homlogos en la matemtica bsica. El nico smbolo que le podr parecer nuevo es %, que divide un operando por el otro y devuelve el resto como su resultado.

Los operadores de comparacin (binarios)

Un operador de comparacin compara dos valores y determina la relacin existente entre ambos. Por ejemplo, el operador != devuelve verdadero (true) si los dos operandos son distintos. La siguiente tabla resume los operadores de comparacin de Java

Ejemplo: A<B ser FALSO

Java soporta cinco operadores condicionales, mostrados en la siguiente tabla:

Los operadores de bit (binarios)

Operadores de desplazamiento de bits

Operadores de lgica de bits

El operador de asignacin sencillo Uno de los operadores ms habituales que se encontrar es el operador de asignacin sencillo =. Ejemplo:

La siguiente tabla muestra los operadores de atajo de asignacin y sus equivalentes largos:

Cuando en una sentencia aparecen varios operadores el compilador deber de elegir en qu orden aplica los operadores. A esto se le llama precedencia.

Nos permiten mostrar datos por los dispositivos de salida de datos.


System.out Este objeto implementa la salida estndar. Los mtodos que nos proporciona para controlar la salida son: print(a): Imprime a en la salida, donde a puede ser cualquier tipo bsico Java ya que Java hace su conversin automtica a cadena. Ejm. System.out.print("El valor de A es" + A);

println(a): Es idntico a print(a) salvo que con println() se imprime un salto de lnea al final de la impresin de a.Ejm
System.out.println("Hola Mundo");

Se maneja como el ingreso de un flujo de datos desde una fuente como teclado u otro archivo.
Flujo de datos de entrada se declara asi: InputStreamReader isr= new InputStreamReader(System.in); BufferedReader e= new BufferedReader(isr); e: Variable que representara el flujo. Flujo de datos de entrada se declara tambin de esta forma mas corta. BufferedReader e= new BufferedReader(new InputStreamReader(System.in)); Para evitar errores se manejan excepciones que van al final de la declaracin main palabras: THROWS IOEXCEPTION public static void main(String arg[])throws IOException

Los mtodos para ingresar datos en java son los siguientes: var=System.in.read() var_byte=Byte.parseByte(e.readLine()); var_short=Short.parseShort(e.readLine()); var_int=Integer.parseInt(e.readLine()); var_long=Long.parseLong(e.readLine()); var_float=Float.parseFloat(e.readLine()); var_doublet=Double.parseDouble(e.readLine()); var_string=e.readLine(); Ingreso de nmeros enteros Ingreso de datos Byte Ingreso de datos Short Ingreso de datos Int Ingreso de datos Long Ingreso de datos float Ingreso de datos double Ingreso para cadenas de texto

Se realiza todo el modelaje, especificando desde la ENTRADA a la SALIDA ALGORITMO y se lleva a cdigo de JAVA para ejecutar el programa.

y el

EJEMPLO Elaborar un programa para sumar 3 nmeros enteros ingresados por teclado y mostrarlos por pantalla. DATOS SALIDA la Suma de 2 nmeros ingresados, en la variable S DATOS ENTRADA 2 nmeros enteros con variables A, B ingresados por teclado ALGORTIMO Ingresar numero A Ingresar nmero B Sumar ambos nmeros ---- S=A+B Mostrar el valor S por pantalla

//ingreso de 2 nmeros y mostrar la sumatoria import java.io.*; public class programa1 { public static void main (String[] args) throws IOException {//se declara el flujo de entrada de caracteres para la variable e InputStreamReader isr=new InputStreamReader(System.in); BufferedReader e=new BufferedReader(isr); int A,B,S; //se declaran las variables //Ingreso de los dos nmeros System.out.print("Ingresar un numero entero: "); A=Integer.parseInt(e.readLine()); System.out.print("Ingresar segundo entero: "); B=Integer.parseInt(e.readLine()); // Se calcula la Sumatoria S=A+B; //Se muestra por pantalla esta sumatoria System.out.println("La sumatoria de: "+A+" + "+B+" Es: "+S); } }