Anda di halaman 1dari 27

INSTITUTO TECNOLOGICO DE CERRO AZUL GADDIEL RUIZ COBOS

ING. INDUSTRIAL
ALGORITMOS Y LENGUAJES DE PROGRAMACION LIC. HECTOR JOSE NUES RAMIREZ

MANUAL JAVA

El Entorno de Programacin Java es un proyecto de la compaa Sun Microsystems que presenta una posible aproximacin a lo que sern los lenguajes de programacin de los prximos aos. Sus objetivos se resumen en dotar de herramientas de programacin adecuadas para desarrollar aplicaciones que se ejecuten en entornos heterogneos, conectados a travs de redes de comunicaciones. Estas aplicaciones deben ser eficientes, podrn crecer dinmicamente, en funcin de las necesidades, y sern operativas en una gran variedad de ordenadores.

Qu es JAVA 2?

Sun describe a Java como "simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinmico".

Aparte de ser estas caractersticas la lgica lista de piropos que un padre siempre dara a uno de sus hijos mas aplicados, efectivamente describen bastante bien a Java. Java 2 es la tercera versin importante del lenguaje de programacin Java. Parte de la versin 1.1 sin introducirle cambios sustanciales, simplemente amplindolo. Java presenta muchas caractersticas que lo diferencian de lenguajes similares como C++, empezando por las posibilidades de ejecucin.

Bsicamente un programa en Java puede ejecutarse como:


Stand Alone: Aplicacin independiente. Applet: Una aplicacin especial que se ejecuta en el navegador del cliente. Servlet: Una aplicacin especial sin Interfaz que se ejecuta en servidor.

Por otro lado un desarrollo en Java nunca empieza desde cero. Java implementa consigo un gran nmero de clases, incluidas gratuitamente en su entorno de desarrollo, para realizar muy variadas tareas que permiten al desarrollador centrarse en las caractersticas ms inherentes a su proyecto.

Sun distribuye gratuitamente desde su pgina web, el entorno de desarrollo Java llamado indistintamente con estas siglas: JDK, SDK o J2SE. Este paquete incluye como hemos dicho las clases incluidas ya en java, es decir el API de Java. Tambin incluye el compilador de Java y lo que permite a Java funcionar en nuestro ordenador: el JRE (Java Runtime Enviroment).

El JRE incluye los elementos necesarios para hacer funcionar programas java en nuestro ordenador. Principalmente nos instala la Maquina Virtual de Java y los plugins necesarios para el/los navegador/es instalados en nuestro sistema. El JRE tambin se puede descargar independientemente del entorno de desarrollo, pues se distribuye en un paquete llamado J2RE.

Qu es la Mquina Virtual de Java?


Pues bien, como hemos comentado antes, Java est pensado para ser independiente de la arquitectura sobre la que funcione y la manera que tiene Java para conseguirlo es a travs de la emulacin de una mquina software sobre la que funcionan los programas compilados con Java.

Es decir, un programa compilado con Java no tiene cdigo comprensible por ningn procesador, ese cdigo solo lo entiende la Mquina virtual de Java y lo traduce a cdigo que si pueda ser comprensible por el procesador sobre el que funciona y adems lo puede hacer funcionar sobre el sistema operativo sobre el que est instalada. Por tanto lo nico dependiente del Hardware es la mquina virtual, pues tiene que conocer lo que tiene por debajo para llevar a cabo la traduccin, pero los programas en java siempre pueden funcionar sobre una maquina virtual est donde est instalada.

Caractersticas de Java

A continuacin haremos una pequea redaccin de las caractersticas del lenguaje, que nos ayudarn a ver para que tipo de problemas est pensado Java:

Simple
Es un lenguaje sencillo de aprender. Su sintaxis es la de C++ simplificada. Los creadores de Java partieron de la sintaxis de C++ y trataron de eliminar de este todo lo que resultase complicado o fuente de errores en este lenguaje. La herencia mltiple, la aritmtica de punteros, por la gestin de memoria dinmica (que en Java se elimina de modo transparente para el programador gracias al recogedor basura) son ejemplos de "tareas complicadas" de C++ y en Java se han eliminado poco simplificado.

Orientado a Objetos
Posiblemente sea el lenguaje ms orientado a objetos de todos los existentes; en Java todo, a excepcin de los tipos fundamentales de variables (int, char, long...) es un objeto.

Distribuido
Java est muy orientado al trabajo en red, soportando protocolos como TCP/IP, UDP, HTTP y FTP. Por otro lado el uso de estos protocolos es bastante sencillo comparndolo con otros lenguajes que los soportan.

Robusto
El compilador Java detecta muchos errores que otros compiladores solo detectaran en tiempo de ejecucin o incluso nunca. A esclarecer as por ejemplo " if (a=b) then ... " o " int i; h=i*2; "son dos ejemplos en los que el compilador Java no nos dejara compilar este cdigo; sin embargo un compilador C compilara el cdigo y generara un ejecutable que ejecutara esta sentencia sin dar ningn tipo de error).

Seguro
Sobre todo un tipo de desarrollo: los Applet. Estos son programas diseados para ser ejecutados en una pgina web. Java garantiza que ningn Applet puede escribir o leer de nuestro disco o mandar informacin del usuario que accede a la pgina a travs de la red(como, por ejemplo, la direccin de correo electrnico). En general no permite realizar cualquier accin que pudiera daar la mquina o violar la intimidad del que visita la pgina web.

Portable
En Java no hay aspectos dependientes de la implementacin, todas las

implementaciones de Java siguen los mismos estndares en cuanto a tamao y almacenamiento de los datos. Esto no ocurre as en C++, por ejemplo. En ste un entero, por ejemplo, puede tener un tamao de 16, 32 o ms bits, siendo lo nica limitacin que el entero sea mayor que un shorty menor que un long int. As mismo C++ bajo UNIX almacena los datos en formato little endian, mientas que bajo Windows lo hace en big endian. Java lo hace siempre en little edianpara evitar confusiones.

Arquitectura Neutral
El cdigo generado por el compilador Java es independiente de la arquitectura: podra ejecutarse en un entorno UNIX, Mac o Windows. El motivo de esto es que el que realmente ejecuta el cdigo generado por el compilador no es el procesador del ordenador directamente, sino que este se ejecuta mediante una mquina virtual. Esto permite que los Applets de una web pueda ejecutarlos cualquier mquina que se conecte a ella independientemente de que sistema operativo emplee (siempre y cuando el ordenador en cuestin tenga instalada una mquina virtual de Java).

Rendimiento medio
Actualmente la velocidad de procesado del cdigo Java es semejante a la de C++, hay ciertas pruebas estndares de comparacin (benchmarks) en las que Java gana a C++ y viceversa. Esto es as gracias al uso de compiladores just in time, compiladores que traduce los bytecodes de Java en cdigo para una determinada CPU, que no precisa de la mquina virtual para ser ejecutado, y guardan el resultado de dicha conversin, volvindolo a llamar en caso devolverlo a necesitar, con lo que se evita la sobrecarga de trabajo asociada a la interpretacin del bytecode.

No obstante por norma general el programa Java consume bastante ms memoria que el programa C++, ya que no slo ha de cargar en memoria los recursos necesarios para la ejecucin del programa, sino que adems debe simular un sistema operativo y hardware virtuales (la mquina virtual). Por otro lado la programacin grfica empleando las libreras Swing es ms lenta que el uso de componentes nativos en las interfaces de usuario. En general en Java se ha sacrificado el rendimiento para facilitar la programacin y sobre todo para conseguir la caracterstica de neutralidad arquitectural, si bien es cierto que los avances en las mquinas virtuales remedian cada vez ms estas decisiones de diseo.

Multithread
Soporta de modo nativo los threads, sin necesidad del uso de de libreras especficas (como esel caso de C++). Esto le permite adems que cada Thread de una aplicacin java pueda correren una CPU distinta, si la aplicacin se ejecuta en una mquina que posee varias CPU. Lasaplicaciones de C++ no son capaces de distribuir, de modo transparente para elprogramador, la carga entre varias CPU

TIPOS DE DATOS
En Java toda variable declarada ha de tener su tipo, y adems antes de poder emplearla hemos de inicializarla a un valor, si no es compilador se quejar y no generar los archivos. class. Esto por ejemplo en C no es necesario, siendo fuente de muchos errores al emplearse en operaciones variables que nos hemos olvidado de inicializar. A continuacin pasamos a describir los tipos de datos:

Enteros
Almacenan como su propio nombre indica nmeros enteros, sin parte decimal. Cabe destacar, como ya se indic en el primer tema, que por razones de portabilidad todos los datos en Java tienen el mismo tamao y formato. En Java hay cuatro tipos de enteros:

Reales
Almacenan nmero reales, es decir nmeros con parte fraccionaria. Hay dos tipos:

Caracteres
En Java hay un nico tipo de carcter: char. Cada carcter en Java esta codificado en un formato denominado Unicode, en este formato cada carcter ocupa dos bytes, frente a la codificacin en ASCII, dnde cada carcter ocupaba un solo byte. Unicode es una extensin de ASCII, ya que ste ltimo al emplear un byte por carcter slo daba acogida a 256 smbolos distintos. Para poder aceptar todos los alfabetos (chino, japons, ruso...) y una mayor cantidad de smbolos se cre el formato Unicode. En Java al igual que en C se distingue la representacin de los datos char frente a las cadenas de caracteres. Los char van entre comillas simples: char ch = a, mientras que las cadenas de caracteres usan comillas dobles.

Boolean
Se trata de un tipo de dato que solo puede tomar dos valores: true y false. Es un tipo de dato bastante til a la hora de realizar chequeos sobre condiciones. En C no hay un dato equivalente y para suplir su ausencia muchas veces se emplean enteros con valor 1 si true y0 si false. Otros lenguajes como Pascal s tiene este tipo de dato

DEFINICIN DE VARIABLES
Al igual que C, Java requiere que se declaren los tipos de todas las variables empleadas. La sintaxis de iniciacin es la misma que C: int i; Sin embargo, y a diferencia que en C, se requiere inicializar todas las variables antes deusarlas, si no el compilador genera un error y aborta la compilacin. Se puede inicializar yasignar valor a una variable en una misma lnea: int i = 0; Asignacin e inicializacin pueden hacerse en lneas diferentes: int i ;i = 0; Es posible iniciar varias variables en una lnea: int i, j,k; Despus de cada lnea de cdigo, bien sea de iniciacin o de cdigo, al igual que en C va un ;.En Java, al igual que en todo lenguaje de programacin hay una serie de palabras reservadas que no pueden ser empleadas como nombres de variables (if, int, char, else, goto....); alguna de estas se emplean en la sintaxis del lenguaje, otras, como go to no se emplean en la actualidad pero se han reservado por motivos de compatibilidad por si se emplean en e lfuturo. Los caracteres aceptados en el nombre de una variable son los comprendidos entre A-Z, a-z, _, $ y cualquier carcter que sea una letra en algn idioma.

PROGRAMACION
Cuando se programa en Java, se coloca todo el cdigo en mtodos, de la misma forma que se escriben funciones en lenguajes como C.

Comentarios
En Java hay tres tipos de comentarios: // /* comentarios comentarios de para una o una ms sola lneas lnea */

/** 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. Dichos comentarios sirven como descripcin del elemento declarado permitiendo generar una documentacin de nuestras clases escrita al mismo tiempo que se genera el cdigo. En este tipo de comentario para documentacin, se permite la introduccin de algunos tokens o palabras clave, que harn que la informacin que les sigue aparezca de forma diferente al resto en la documentacin.

Identificadores

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;

Palabras Reservadas
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

Literales
Un valor constante en Java se crea utilizando una representacin literal de l. Java utiliza cinco tipos de elementos: enteros, reales en coma flotante, booleanos, caracteres y cadenas, que se pueden poner en cualquier lugar del cdigo fuente de Java. Cada uno de estos literales tiene un tipo correspondiente asociado con l.

Enteros:
byte 8 bits complemento a dos short 16 bits complemento a dos int 32 bits complemento a dos long 64 bits complemento a dos Por ejemplo: 21 077 0xDC00 Reales en coma flotante: float 32 bits IEEE 754 double 64 bits IEEE 754 Por ejemplo: 3.14 2e12 3.1E12

Booleanos:
true false Caracteres: Por ejemplo: a t u???? [????] es un nmero unicode Cadenas: Por ejemplo: "Esto es una cadena literal"

Nombres de Variables
Un programa se refiere al valor de una variable por su nombre. Por convencin, en Java, los nombres de las variables empiezan con una letra minscula (los nombres de las clases empiezan con una letra mayscula). Un nombre de variable Java. 1. debe ser un identificador legal de Java comprendido en una serie de caracteres Unicode. Unicode es un sistema de codificacin que soporta texto escrito en distintos lenguajes humanos.Unicode perminte la codificacin de 34.168 caracteres. Esto le permite utilizar en sus programas Java varios alfabetos como el Japons, el Griego, el Ruso o el Hebreo. Esto es

importante para que los programadores pueden escribir cdigo en su lenguaje nativo. 2. no puede ser el mismo que una palabra clave o el nombre de un valor booleano (true or false) 3. no deben tener el mismo nombre que otras variables cuyas declaraciones aparezcan en el mismo mbito. La regla nmero 3 implica que podra existir el mismo nombre en otra variable que aparezca en un mbito diferente. Por convencin, los nombres de variables empiezan por un letra minscula. Si una variable est compuesta de ms de una palabra, como 'nombreDato' las palabras se ponen juntas y cada palabra despus de la primera empieza con una letra mayscula

Expresiones Java
Las expresiones realizan el trabajo de un programa Java. Entre otras cosas, las expresiones se utilizan para calcular y asignar valores a las variables y para controlar el flujo de un programa Java. El trabajo de una expresin se divide en dos partes: realizar los clculos indicados por los elementos de la expresin y devolver algn valor.

Definicin: Una expresin es una serie de variables, operadores y llamadas a


mtodos (construida de acuerdo a la sintaxis del lenguaje) que evala a un valor sencillo. El tipo del dato devuelto por una expresin depende de los elementos utilizados en la expresin. La expresin count++ devuelve un entero porque ++ devuelve un valor del mismo tipo que su operando y count es un entero. Otras expresiones devuelven valores booleanos, cadenas, etc... Una expresin de llamada a un mtodo devuelve el valor del mtodo; as el tipo de dato de una expresin de llamada a un mtodo es el mismo tipo de dato que el

valor de retorno del mtodo. El mtodo System.in.read() se ha declarado como un entero, por lo tanto, la expresin System.in.read() devuelve un entero. La segunda expresin contenida en la sentencia System.in.read() != -1 utiliza el operador !=. Recuerda que este operador comprueba si los dos operandos son distintos. En esta sentencia los operandos son System.in.read() y -1. System.in.read() es AsSystem.in.read() un != operando vlido para != porque dos enteros, devuelve el valor un entero. devuelto

-1 compara

por System.in.read() y -1. El valor devuelto por != es true o false dependiendo de la salida de la comparacin. Como has podido ver, Java te permite construir expresiones compuestas y sentencias a partir de varias expresiones pequeas siempre que los tipos de datos requeridos por una parte de la expresin correspondan con los tipos de datos de la otra. Tamben habrs podido concluir del ejemplo anterior, el orden en que se evalan los componentes de una expresin compuesta. Por ejemplo, toma la siguiente expresin compuesta. x * y * z En este ejemplo particular, no importa el orden en que se evale la expresin porque el resultado de la multiplicacin es independiente del orden. La salida es siempre la misma sin importar el orden en que se apliquen las multiplicaciones. Sin embargo, esto no es cierto para todas las expresiones. Por ejemplo, esta expresin obtiene un resultado diferente dependiendo de si se realiza primero la suma o la divisin. x + y / 100

Puedes decirle directamente al compilador de Java cmo quieres que se evale una expresin utilizando los parntesis ( y ). Por ejemplo, para aclarar la sentencia anterior, se podra escribir: (x + y)/ 100. Si no le dices explcitamente al compilador el orden en el que quieres que se realicen las operaciones, l decide basndose en la precedencia asignada a los operadores y otros elementos que se utilizan dentro de una expresin. Los operadores con una precedencia ms alta se evalan primero. Por ejemplo. el operador divisin tiene una precedencia mayor que el operador suma, por eso, en la expresin anterior x + y / 100, el compilador evaluar primero y / 100. As x + y / 100 es equivalente a. x + (y / 100) Para hacer que tu cdigo sea ms fcil de leer y de mantener deberas explicar e indicar con partesis los operadores que se deben evaluar primero. La tabla siguiente muestra la precedencia asignada a los operadores de Java. Los operadores se han listado por orden de precedencia de mayor a menor. Los operadores con mayor precedencia se evalan antes que los operadores con un precedencia relativamente menor. Lo operadores con la misma precedencia se evalan de izquierda a derecha.

Operadores
Los operadores de Java son muy parecidos en estilo y funcionamiento a los de C. En la siguiente tabla aparecen los operadores que se utilizan en Java, por orden de precedencia:

Los operadores numricos se comportan como esperamos: int + int = int Los operadores relacionales devuelven un valor booleano. Para las cadenas, se pueden utilizar los operadores relacionales para comparaciones adems de + y += para la concatenacin: String nombre = "nombre" + "Apellido"; El operador = siempre hace copias de objetos, marcando los antiguos para borrarlos, y ya se encargar el garbage collector de devolver al sistema la memoria ocupada por el objeto eliminado.

Separadores
Slo hay un par de secuencias con otros caracteres que pueden aparecer en el cdigo Java; son los separadores simples, que van a definir la forma y funcin del cdigo. 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.

Palabras clave o reservadas


Las palabras clave o reservadas son aquellas que definen o se combinan con una definicin de datos de una variable o propiedad, clase de objetos o mtodos, por ejemplo class es una palabra clave y nos indica que a continuacin pondremos el nombre a la clase de objeto que vamos a crear, si queremos que dicha clase pueda ser accedida desde dentro o fuera de nuestro paquete de clases de objetos, entonces la definiremos como public (pblica), donde esta es otra palabra clave. A veces las palabras claves son palabras reservadas, por ejemplo goto es una palabra clave reservada en Java, ya que no tenemos permitido saltar a una lnea en particular de nuestro programa, tenemos que trabajar con llamadas a funciones y otras maneras de codificacin.

Permisos y declaracin de clases, propiedades o mtodos.


Definen los permisos a un mtodo o clase de objetos, haciendo visible u oculto un mtodo propiedad o clase a otras clases de objetos u otros objetos que quieran accederlas.

Bucles y tomas de decisin


Se utilizan para el control de bucles y tomas de decisin en un programa, se utilizan parntesis () para encerrar las condiciones, y llaves {} para los bloques de datos

Secuencias de escape

Concatenacin y conversiones a texto


La concatenacin de texto se denomina a la unin de trozos o fragmentos de textos y comnmente se utiliza la conversin de nmeros o de objetos a su representacin en texto, Java convierte automticamente los tipos de datos bsicos a texto antes de unirlos y llama por cada objeto al mtodo especial toString() para realizar la conversin de objetos nuestros o de la biblioteca de la JVM. Veamos un ejemplo:

En la lnea 1, definimos el nombre de la clase, que es pblica y se llama SumaSimple, en la segunda lnea definimos el mtodo esttico main que es el que la JVM ejecutar para iniciar nuestros programas.

En la lnea 3, se define una variable de tipo entero llamada a que inicialmente guardar un 1 positivo, la 4ta lnea ejecuta el mtodo println (String line) que pertenece al objeto out que a su vez es propiedad del objeto System, tener un objeto de salida, se imprimir en pantalla el trozo de texto el valor de a= seguido del valor (el contenido de a). En la lnea 5, al contenido de la variable a, le agregamos el resultado de sumar a+10, eso no tiene que dar un total de 11 que se ver reflejado en la lnea 6, cuando volvemos a llamar al mtodo println del objeto out que pertenece al objeto System. En las lneas 7 y 8 se cierran las llaves que iniciaron los bloques de cdigo del mtodo main o la declaracin de la clase SumaSimple. El ejemplo podra escribirse as:

Donde se ha reemplazado la concatenacin del compilador por su equivalente, recordemos que no es necesario hacer esto, vemos que despus de las comillas dobles encontramos un punto, eso es porque de esa manera se representa un objeto String, cualquier trozo de texto entre comillas dobles es un objeto String y tiene propiedades y el punto separa objetos de otros objetos, propiedades o mtodos.

EJEMPLO
import java.io.*;

/* importa los elementos de la clase java.io (input/output), el asterisco nos indica que solo va a tomar aquellas caractersticas que necesite para este programa. */

public class HelloA1 {

//Esta es la declaracin de nuestra clase

public static void main (String[] args) throws IOException { /* Declaracin de nuestro mtodo principal y con la ltima instruccin estamos indicando que se va a solicitar una entrada del usuario y a desplegar un resultado */

InputStreamReader reader=new InputStreamReader(System.in); /* Esta instruccin es un lector de cadena */

BufferedReader Input=new BufferedReader (reader);

/* Lector de memoria */

System.out.println ("Introduce tu nombre: "); /* Despliega el mensaje Introduce tu nombre */

String name= Input.readLine(); /* recibe la entrada del usuario en la variable name */

System.out.println ("Hello " + name + "!"); /* despliega en pantalla el mensaje y el valor de la variable name */ } } Sencillo verdad? Nada fcil para mi agregar este pequeo cdigo con tantos cambios de color de letra y caracteres especiales. Una vez comprendido esto, trataremos de explicarlo en un pequeo prrafo la siguiente vez y solo de aquellas instrucciones nuevas, ya que el tiempo apremia.

Este es otro ejemplo, el cual nos va a solicitar el radio de un crculo para despues desplegarlo en pantalla. import java.io.*; public class area { public static void main(String[] args) throws IOException { InputStreamReader reader=new InputStreamReader(System.in); BufferedReader Input=new BufferedReader (reader); System.out.println ("introduce el radio"); String text= Input.readLine(); /* Recibe una entrada del usuario */ Double x=new Double(text); /* Convierte el texto del usuario a un formato numrico de tipo double */

double r=x.doubleValue(); /* y ese valor se lo asigna a la variable r */

System.out.println ("el area de un circulo de radio " + r); } }

http://moisesrbb.tripod.com/java1.htm http://www.programacion.com/articulo/tutorjava_nivel_basico http://es.scribd.com/doc/2700653/tutorial-basico-java http://members.tripod.com/tutorial_bh.mx/ejemplos.html

Anda mungkin juga menyukai