Sunteți pe pagina 1din 14

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA Qu es Java?

Java es un nuevo lenguaje de programacin creado a principios de los aos 90 por Sun Microsystems, Inc. con las siguientes caractersticas: Sus reglas y sintaxis se basan ntegramente en el lenguaje de programacin C++. Los cambios han sido para eliminar lo ms conflictivo y complicado del C++ como los punteros, la gestin explcita de la memoria y la herencia mltiple. Es un lenguaje orientado a objetos. Siguiendo la tendencia de todos los lenguajes de programacin modernos. Es un lenguaje interpretado. Los compiladores Java no convierten instrucciones de alto nivel en instrucciones de cdigo mquina, como los compiladores tradicionales. A diferencia de stos, los compiladores Java generan un cdigo mquina especial (llamado "byte-code") destinado a ejecutarse en una "mquina virtual" inexistente. Cuando se quiere ejecutar un programa Java, un intrprete se encarga de leer el "byte-code" e ir ejecutando las instrucciones, simulando el juego de instrucciones de la "mquina virtual". Esto tiene la ventaja de que un mismo programa, una vez compilado, puede ser ejecutado en cualquier microprocesador y sistema operativo, siempre que exista un interprete Java para ese entorno. Existen intrpretes Java para toda la familia Windows, Solaris, MacOS, Linux, OS/2, etc. y actualmente estn siendo desarrollados nuevos intrpretes para casi cualquier entorno existente, desde servidores Unix hasta consolas de video-juegos domsticas. Es un lenguaje seguro. El hecho de que Java sea un lenguaje interpretado facilita el que el propio intrprete pueda controlar el programa Java, impidindole que cause daos a un sistema, que pueda acceder a archivos protegidos, etc. Esto tiene un efecto secundario muy importante: es posible disear programas que se ejecuten en el ordenador de otras personas, sin que stas deban tener miedo a posibles virus o robos de informacin confidencial. Esto abre el camino a la creacin de programas Java insertados en pginas HTML (estos programas se suelen llamar "applets") que se ejecutan en los navegadores de los visitantes de un servidor Web, dando lugar a nuevos sistemas de distribucin de informacin, como acceso a bases de datos, programas distribuidos a travs de redes locales o de Internet, etc. Es un lenguaje orientado al trabajo en red. Java ha nacido en la poca en la que Internet ha comenzado a revolucionar el mundo de la informtica. Por esta razn los diseadores del lenguaje introdujeron casi desde el principio las herramientas necesarias para crear programas que trabajaran fcil y naturalmente en redes basadas en los protocolos estndares de TCP/IP, el estndar en Internet. Programas de trabajo en red que antes necesitaban semanas o meses para ser diseados y comprobados pueden ahora ser creados en cuestin de horas o das. Es un lenguaje preparado para contenidos multimedia. La creacin de programas en Java que contengan sonidos, imgenes fijas o en movimiento, etc. es mucho ms fcil que con otros lenguajes tradicionales. Estas y otras razones han hecho de Java uno de los lenguajes con el crecimiento ms rpido de la historia de la informtica. El hecho de que las herramientas bsicas de desarrollo (compiladores, depuradores, intrpretes, documentacin, etc.) se distribuyan gratuitamente a travs de Internet ha provocado un gran crecimiento en el nmero de programadores y empresas dedicadas a la creacin de aplicaciones escritas en Java. Qu no es Java? Java no es un lenguaje destinado a la creacin de pginas Web. Aunque su utilizacin en el interior de pginas HTML sea uno de los usos ms conocidos de Java, esta no es, ni mucho menos, su principal utilidad. Java no tiene nada que ver con JavaScript. Aunque compartan un nombre parecido, no existe apenas ninguna relacin entre ambos lenguajes. JavaScript s es un lenguaje exclusivamente destinado a la creacin de pginas Web dinmicas, creado por Netscape Communications Corp. SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

-5-

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA bajo el nombre original de LiveScript, y cambiado posteriormente a JavaScript por razones de mrketing. Java no es un lenguaje destinado a la creacin de aplicaciones de clculo intensivo. Debido a su carcter interpretado, la ejecucin de un programa Java es bastante ms lenta que la de su equivalente en C/C++. Mientras que en un programa C/C++ compilado es el propio microprocesador el encargado de decodificar y ejecutar las instrucciones en hardware, en un programa en Java existe una capa de software intermedia que se ocupa de traducir las instrucciones de la "mquina virtual" a instrucciones nativas del microprocesador (x86, 680x0, SPARC, etc.) para que ste las ejecute. Esto hace mucho mas lenta la ejecucin de programas. De cualquier forma, esta desventaja es nicamente transitoria, ya que existen tcnicas modernas (como la compilacin "Just in Time", por ejemplo) que son capaces de acelerar un programa hasta niveles parecidos a los de C/C++. Elementos de Programacin Comentarios Sirven para documentar nuestros programas hacindolos mucho ms fciles de entender ya que estos comentarios nos permiten decir lo que estamos haciendo usando nuestro propio lenguaje natural. Existen 3 formas de hacer comentarios: comentario de una sola lnea: // Esto es un comentario de una sola lnea comentario de varias lneas: /* Esto es un comentario de varias lneas. */ comentario de documentacion: /** Este es el primer programa del Curso de Java * Simplemente escribe la frase "Bienvenidos a Java" * @autor Julio Vsquez Paragulla * @version 2.1 */ Tipos de datos bsicos y variables Tambin llamados primitivos, como son los nmeros enteros, reales, los caracteres, los valores lgicos, etc.. Tipo Descripcin Tamao Clase equivalente boolean Valor lgico 1 bit Boolean char Carcter 16 bit Character byte Entero muy pequeo 8 bit Byte short Entero pequeo 16 bit Short int Entero normal 32 bit Integer long Entero grande 64 bit Long float Nmero real de precisin simple 32 bit Float double Nmero real de doble precisin 64 bit Double void Tipo vaco Toda variable debe estar asociada a un tipo de dato en su declaracin, asi: Tipo de dato identificador; O, cuando son varias del mismo tipo de dato, asi: SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

-6-

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA

Tipo de dato

identificador1, identificador2, identificador3;

Por ejemplo, podemos declarar la siguiente variable entera: int numero; Si a nuestra variable la quisiramos declarar dndole un valor inicial 0, seria: int numero=0; Para declarar una variable adecuadamente, debe elegir el tipo de dato que mejor corresponda, segn el valor que quiera guardar en ella. Por ejemplo: Se quiere guardar el precio de un producto, el tipo de dato adecuado sera real: double precio; El tipo de dato float para los reales ya no se usa porque el tipo double tiene mayor precisin y la memoria de las computadoras modernas es abundante y de bajo costo. Otro ejemplo: Se quiere guardar la poblacin de los continentes, el tipo de dato adecuado ser entero grande: long poblacion; Otro ejemplo: Se quiere guardar el importe de compra, el importe del descuento y el importe neto, el tipo de dato adecuado para las 3 variables ser real: double icompra, idscto, ineto; Otro ejemplo: Se quiere guardar la letra inicial del nombre de una persona, el tipo de dato adecuado ser carcter: char inicial ; Otro ejemplo: Se quiere guardar el correo electrnico de una persona, el tipo de dato adecuado ser cadena: String correo; El tipo de dato String, en realidad es una Clase, por ello no es considerado como un tipo de dato bsico sino como un tipo de dato Clase. Java tiene muchos tipo de dato Clase. Una manera de identificarlos es porque siempre empiezan con letra mayscula. Por ejemplo: String, Integer, Double, JButton, JTextField, Color, etc. Literales Los literales son el mecanismo utilizado para expresar un valor constante. Java utiliza cinco tipos de elementos: enteros, reales, lgicos, caracteres y cadenas: Tipo Ejemplo Enteros 21, 666, 1000, 2010, 0xDC Reales 3.14, 1.12, -12.6, 2e12 Booleanos True, false Caracteres 'x', \n, \t, 7 Cadenas "Esto es una cadena" Fjese que, mientras los caracteres se expresan encerrados en comillas simples, las cadenas lo hacen en comillas dobles. La notacin 0x indica que dicho numero tiene la representacin hexadecimal. Identificadores Un identificador es un nombre que le damos a un elemento, sea variable, clase, mtodo, propiedad. Debemos tener presente que Java es sensible a las maysculas y minsculas diferencindolas an SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

-7-

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA cuando se traten de la misma letra. los identificadores pueden comenzar por una letra, un subrayado o un smbolo de dlar, siendo los siguientes caracteres permitidos slo letras y/o dgitos. Por ejemplo, son identificadores vlidos: contador _nombre_usuario $dinero nota_parcial n1 si Por ejemplo, son identificadores no vlidos: 1ero //empieza con digito nota promedio //tiene espacio en blanco final //palabra reservada juan% //tiene caractr no permitido long //palabra reservada Palabras reservadas Son aquellas palabras reservadas para el uso del lenguaje y que por tanto no deben ser utilizados como identificadores del programador. Afortunadamente JAVA tiene pocas palabras reservadas como se muestra a continuacin: abstract bolean break byte case catch char class const continue default do double else extends final finally flota for goto if implements import instanceof int interface long native new package private protected public return short static super switch synchronized this throw throws transient try void volatile while

Operadores Los operadores sirven para unir identificadores y literales formando expresiones, que son el resultado de una operacin. A continuacin se muestran los operadores aritmticos: Descripcin Multiplicacin Residuo de dividir enteros Suma Resta Aumenta en uno Disminuye en uno Menos unario Suma al contenido Resta al contenido Multiplica al contenido Divide al contenido Residuo del contenido Smbolo * % + ++ -+= -= *= /= %= Expresin de ejemplo 2*4 5%2 2+2 7-2 c++ c--(2+4) X += 4 X -= 4 X *= 4 X /= 4 X %= 4 Resultado del ejemplo 8 1 4 5 c = c + 1 c = c - 1 -6 X = X + 4 X = X - 4 X = X * 4 X = X / 4 X = X % 4

SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

-8-

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA Los operadores de comparacin o tambin conocidos como relacionales y que devuelven un valor lgico que ser true si la comparacin fue verdad y false en caso contrario son los siguientes: Descripcin Igualdad Desigualdad Menor que Mayor que Menor o igual que Mayor o igual que Smbolo == != < > <= >= Expresin de ejemplo 2 == 2 2 != 2 2 < 2 3 > 2 2 <= 2 1 >= 2 Resultado del ejemplo true false false true true false

Los operadores lgicos que permiten evaluar expresiones lgicas compuestas son los siguientes: Descripcin Smbolo Expresin de ejemplo Resultado del ejemplo ! !(2 == 2) false Negacin && (2 == 2) && (2 >= 0) true Y lgico || (2 == 2) || (2 != 2) true O lgico Separadores Existen otros caracteres con significado especial en Java. Son los separadores: Separador Descripcin Contienen listas de parmetros, tanto en la definicin de un mtodo como en la llamada al mismo. Tambin se utilizan para modificar la () precedencia en una expresin, contener expresiones para control de flujo y realizar conversiones de tipo. Se utilizan para definir bloques de cdigo, definir mbitos y contener los {} valores iniciales de los vectores. Se utiliza tanto para declarar vectores o matrices como para referenciar [] valores dentro de los mismos. ; Separa sentencias. Separa identificadores consecutivos en la declaracin de variables y en , las listas de parmetros. Tambin se utiliza para encadenar sentencias dentro de una estructura for. Separa un nombre de propiedad o mtodo de una variable de . referencia objeto. ESTRUCTURAS DE PROGRAMACION En general, cada vez que aparezca de ahora en adelante la palabra accin podr significar dos cosas: o es una instruccin terminada en un punto y coma es un conjunto de instrucciones agrupadas por llaves. CONDICIONAL SIMPLE: if Cuando se desea evaluar una comparacin y hacer alguna accin slo cuando la comparacin sea verdad. Ejemplo if (comparacion) if ( x > 0) accin; imprimir positivo Si usted coloca punto y coma (;) despus del parntesis, no habr error de sintaxis pero el efecto ser que el if se anula. Como que no existiera. Para hacer la comparacin debe utilizar los operadores relacionales y los operadores lgicos cuando sea necesario. SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

-9-

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA En realidad, es todo un reto hacer correctamente la comparacin. Para ello debe ser capaz de expresar en una comparacin, el condicional natural que encontrara en los enunciados de los problemas. Por ejemplo, hagamos la comparacin adecuada para los siguientes condicionales naturales: 1) El numero es negativo: if( numero < 0) 2) El numero es par y positivo: if( numero % 2 == 0 && numero > 0) La nota esta entre 0 y 20 inclusive: if(nota>=0 && nota <=20) La nota no esta entre 0 y20 inclusive: if( !(nota>=0 && nota<=20) ) Del lanzamiento de tres dados, por lo menos uno fue 6: if(dado1==6 || dado2==6 || dado3==6)

3)

4)

5)

Ver aplicaciones en el capitulo 3. CONDICIONAL DOBLE: if - else Cuando se desea evaluar una comparacin y hacer alguna accin tanto cuando la comparacin sea verdad como cuando la comparacin sea falsa. Ejemplo if (comparacion) accin de verdad; else accin de falsedad; Ver aplicaciones en el capitulo 3. CONDICIONAL EN CADENA: if - else - if Cuando se desea evaluar consecutivamente varias operaciones, las cuales son excluyentes y generalmente se trata de valores continuos, por ejm. Para evaluar rangos de valores enteros de 0 a 5, de 6 a 10, de 11 a 15,. Ejemplo if (comparacion1) accin de verdad1; else if (comparacion2) accin de verdad2; else if (comparacion3) accin de verdad3; else accin de falsedad; Ver aplicaciones en el capitulo 3. CONDICION COMPUESTA: En cualquier tipo de condicional, la condicin puede ser simple o compuesta. Se dice que una condicin es simple cuando tiene una sola comparacin (no utiliza operadores lgicos). En cambio, se dice que una condicin es compuesta cuando tiene ms de una comparacin, para lo cual utilizan necesariamente operadores lgicos Y, O. Por ejm.. if (comparacion1 && comparacion2 || comparacion3) accin de verdad; SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010 if ( x < 0 ) imprimir negativo else if ( x ==0 ) imprimir cero else imprimir positivo if (nota>=13) imprimir aprobado else imprimir desaprobado

- 10 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA

Ejemplo:

if ( x>=0 && x <=5) Imprimir rango de 0 a 5 inclusive

Se recomienda usar el operador && para expresar un rango continuo de lo contrario debe utilizar el operador || Ejemplo: if (x < 0 || x > 20) Imprimir fuera del rango 0 a 20

Ver aplicaciones en el capitulo 3. SELECCIN MULTIPLE: switch Cuando se selecciona una opcin de entre varias. switch (variable) { case valor1: accin1; break; case valor2: accin2; break; case valor3: accin3; break; // ... default: accinx; } Compara el valor contenido en la variable con cada uno de los valores situados despus del case, ejecutando en caso de que exista coincidencia la accin correspondiente. Si no existe coincidencia, se ejecuta la accinx correspondiente al caso default. Y si no se pusiera el default, simplemente no ejecuta ninguna instruccin dentro del switch. La orden break hace que la ejecucin salga del switch; de no ponerlo se ejecutarn todas las rdenes hacia abajo sin importar el valor de los case hasta encontrar un break o la llave de cierre del switch. Ver aplicaciones en el capitulo 3. ESTRUCTURA REPETITIVA: while Repite la ejecucin de la accin mientras la expresin lgica siga siendo verdad. Cuando sea falsa, el proceso termina. inicializacin while (condicin) { accin variacin } Por ejemplo, imprimir los 100 primeros nmeros naturales: int n=1; // inicializacin while (n <=100) { Imprimir n n++ // aumenta en 1 } Note que mientras que la condicin sea verdad, se seguir ejecutando la accin SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 11 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA Ver aplicaciones en el capitulo 4. ESTRUCTURA REPETITIVA: do - while Igual que la anterior, con la nica diferencia que la anterior evala la condicin antes de ejecutar la accin. En cambio, el do while evala la condicin despus de realizar la accin por lo menos una vez. Esta estructura de programacin repetitiva es recomendable cuando la accin se va a realizar de todas maneras, por lo menos una vez, o cuando no se sabe la cantidad de veces que se va a repetir la accin. inicializacin do { accin variacin }while (condicin); Por ejemplo, imprimir los 100 primeros nmeros naturales: int n=1; // inicializacin do { Imprimir n n++ // aumenta en 1 } while (n <=100); Ver aplicaciones en el capitulo 4. ESTRUCTURA REPETITIVA: for Es un while simplificado, mucho ms rpido y eficaz. Muy preferido por los programadores. Veamos su forma general:

for (inicializacin; condicin; variacin) { accin; } Por ejemplo, imprimir los 100 primeros nmeros naturales: for (int n=1; n <=100; n++) { Imprimir n; }; Note que la variacin se relaciona con la variable utilizada en la condicin. En este caso lo primero que har ser la inicializacin ( n=1;) luego comprobar si es cierta la comparacin (n <=100) y de ser verdad, ejecutar las instrucciones. Finalmente ejecutar la variacin ( n++ ) . Luego comprobar de nuevo la comparacin para continuar con el proceso repetitivo o para finalizar cuando el resultado de la comparacin sea falsa. Observe que todo proceso repetitivo necesita de una previa inicializacin de algn contador, acumulador, estado, lo cual permite la evaluacin de la condicin que controla la repeticin del proceso. La inicializacin puede contener varias ordenes de asignacin separadas por comas y terminando con punto y coma. Igualmente, la variacin puede contener varias ordenes de variacin y/o acumulacin separadas por comas y terminando con el parntesis del for, Por ejemplo, vea el siguiente for hipottico: SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 12 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA for (int a=1, b=0, c=2; a<= n; a++, b+=3, c+= x) { Mas ordenes } La inicializacin puede incluir la declaracin de la variable pero no necesariamente debe ser as, por ejemplo: int x; for (x=1; x<=100; x++){ ms ordenes } Cul es la diferencia entre declararlo antes del for con hacer la declaracin dentro de la inicializacin?. Simplemente el alcance para la utilizacin de la variable. Cuando se declara antes del for, el alcance de la variable se extiende dentro y fuera de las llaves del for; es decir que podemos utilizar la variable dentro y tambin fuera de las llaves; en cambio, cuando se declara dentro de la inicializacin, el alcance se limita solamente dentro de las llaves del for; es decir que slo se puede utilizar la variable dentro de las llaves del for y n fuera de ellas. Una pregunta frecuente es: cual estructura de repeticin debo utilizar?. En realidad, la respuesta de un programador experimentado seria: cualquiera. Sin embargo, para efectos de un aprendizaje progresivo dar el siguiente criterio de decisin: Cuando usted tenga identificado el rango de la repeticin: desde hasta, utilice for y cuando no tenga identificado dicho rango utilice do-while o while. Cuando el proceso se realiza de todas maneras, por lo menos una vez, use do-while. Por ejemplo: muestre los nmeros capicas de 3 cifras. La estructura ms adecuada seria for porque usted va a repetir el proceso desde 100 hasta 999. Otro ejemplo: muestre la cantidad de cifras que tiene un nmero entero. La estructura ms adecuada sera do-while o while porque no se puede identificar la cantidad de veces que ocurrir la repeticin. Tiene que buscar una condicin de continuidad de la repeticin. Ver aplicaciones en el capitulo 4. En las versiones ms recientes de JAVA, se ha incorporado una estructura for each que es muy fcil de interpretar, pero que sin embargo sus aplicaciones solamente se puede dar con el contenido de arreglos de cualquier tipo. La sintaxis general es: for(Tipo de dato variable : arreglo){ // ordenes de proceso } La interpretacin es: por cada valor que se encuentre en el arreglo, asgnalo a la variable y procsalo. Por ejemplo, supongamos el contenido del siguiente arreglo: int a[] = {12, 17, 18, 21, 45, 47, 32} el proceso de sumar los nmeros que estn en el arreglo, puede hacerse as: int suma=0; for (int num : a){ suma += num; } imprime suma Otro ejemplo, para un arreglo de objetos de tipo Persona se quiere sumar las edades: int suma=0; for (Persona p : arregloPersonas){ suma += p.getEdad(); SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 13 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA } imprime suma Ver aplicaciones en los captulos 5, 7. Mtodos propios Desarrollar un programa con mtodos propios es como organizar una empresa por reas, donde cada rea a su vez puede organizarse con otras reas de tal forma que cada rea tenga una tarea especfica que realizar y para que lo lleve a cabo con xito debe definir que recursos necesita y que resultado tendr que dar. Esto es exactamente la filosofa de un mtodo propio: definir su tarea especfica, definir que datos necesita para llevarlo a cabo (parmetros) y definir que resultado debe retornar para segn eso definir su tipo de dato. Cuando en una empresa ya se han definido con claridad las tareas de cada rea, las gerencias saben que encontrar en cada rea definida y por tanto, cuando lo necesiten simplemente llamaran al responsable del rea para obtener dicha informacin. Igualmente, cuando ya se ha definido la tarea que realizaran los mtodos, cuando necesitemos de esa tarea no haremos mas que llamar a dicho mtodo para que haga su tarea; al momento de hacerlo le daremos los valores que necesite para que haga con xito su tarea. Java ha considerado la siguiente forma genrica para declarar un mtodo propio: Tipo de dato del mtodo nombre(lista de parmetros) El tipo de dato de un mtodo depende del resultado que devolver, as: ser tipo void si el mtodo no devuelve ningn resultado, pero ser tipo int, double, String, boolean segn el tipo de resultado que devuelve. El nombre del mtodo debe empezar con minsculas y si se compone de varias palabras, a partir de la segunda palabra deber empezar con letra mayscula. Esto es para seguir un estndar de programacin en java. La lista de parmetros son variables, cada uno con su respectivo tipo de dato para que reciban los valores que sern dados al momento de llamar al mtodo. A continuacin algunos ejemplos de declaracin de mtodos: String int double void void double int leeNombre() // devuelve un nombre leido leeEdad() // devuelve una edad entera leida leePeso() // devuelve un peso con decimales leido categoriza(double peso) // categoriza segn el peso imprime(String cadena) // imprime una cadena mayorDe(double a, double b, double c)// devuelve el mayor aleatorio(int limiteinf, int limitesup) // devuelve un numero aleatorio entero entre un rango.

Ahora, para que un mtodo haga su tarea efectivamente, tiene que ser llamado desde algn otro mtodo que necesite de su tarea. La llamada a un mtodo depende del tipo de dato que tenga y de sus parmetros, as podramos decir que si un mtodo fuera de tipo void su llamada es directamente a travs de su nombre, pero si no es void se debe declarar una variable del mismo tipo para asignarle su resultado. En cuanto a los parmetros, si un mtodo no tiene parmetros su llamada ocurre con los parntesis vacos, pero si tuviera parmetros su llamada debe considerar tantos valores como parmetros se hayan definido en su declaracin. A continuacin algunos ejemplos de llamadas para los mtodos declarados anteriormente: public void llamandoMetodos() { SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 14 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA String nombre; int edad, numero; double peso, mayor; // llamada a los metodos que no son de tipo void nombre = leeNombre(); edad = leeEdad(); peso = leePeso(); // se llama a los metodos que si son de tipo void categoriza(peso); imprime(hola + nombre); imprime(tienes + edad + aos); imprime(pesas + peso + kg.); // llama a metodos dandole valores a sus parametros mayor = mayorDe(15, 12, 14); imprime(el mayor numero es + mayor); numero = aleatorio(10,30); imprime(el numero aleatorio generado es: + numero); } El desarrollo de cada mtodo declarado como ejemplos podran ser as: public String leeNombre(){ return txtNombre.getText(); } //-----------------public int leeEdad() { int edad; edad = Integer.parseInt(txtEdad.getText()); return edad; } //-----------------public double leePeso() { return Double.parseDouble(txtPeso.getText()); } //-----------------public void categoriza(double peso) { if (peso < 20) imprime(mosca); else if (peso < 50) imprime(welter); else if (peso < 80) imprime(mediano); else imprime(pesado); } //-----------------public void imprime(String cadena) { txtSalida.append(cadena + \n); } //-----------------public double mayorDe(double a, double b, double c) { double mayor=a; if (b > mayor) mayor = b; if (c > mayor) mayor = c; return mayor; } //-----------------SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 15 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA public int aleatorio(int limiteinf, int limitesup) { int numero; numero = (int) (Math.random() * (limitesup limiteinf + 1) + limiteinf); return numero; } //------------------------Observe que la palabra reservada return nos permite decirle al mtodo que devuelva el resultado que queremos segn el tipo de dato del mtodo. Observe tambin el nombre de los mtodos que para efectos de estandarizacin se recomienda que empiece con letra minscula y si el nombre es compuesto, a partir de la segunda palabra que empiece con maysculas. Ver aplicaciones en los captulos 5, 6, 7 y siguientes. Vectores y matrices Un vector, tambin llamado arreglo (array) es una manera de agrupar valores de un mismo tipo bajo un mismo nombre. Para acceder a los valores individuales se asigna a cada uno de ellos un nmero denominado ndice, que normalmente empieza en cero. En Java podemos declarar vectores de dos maneras: Tipo_de_dato vector[]; o tipo_de_dato[] vector; De cualquiera de las dos formas obtendramos un vector de tamao no definido. Sin embargo, la declaracin no asegura un buen uso de los elementos del vector; por lo que se debe definir su tamao asignando memoria suficiente para todos sus elementos, de la siguiente manera: vector = new tipo_de_dato[tamao];

ahora s tendramos un vector preparado para aceptar tantos elementos segn el tamao indicado del tipo de dato que se haya elegido. Ejemplo1: int enteros[];

// declaracion del arreglo

// asignacion de memoria para 20 enteros enteros = new int[20]; Ejemplo2: JButton botones[];

// declaracion del arreglo

// asignacion de memoria para 10 botones botones = new JButton[10]; Observe que el tipo de dato es quien define el tipo de arreglo, por lo que el arreglo puede ser de tipo primitivo (ejm1) o puede ser de tipo clase (ejm2). Tambin se puede declarar un arreglo asignndole valores iniciales, con lo cual se estara definiendo su tamao. Ejemplo3: String paises[] = {Peru, Argentina, Colombia, Ecuador, Brazil, Chile, Bolivia}; SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 16 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA En este ejemplo se esta declarando un vector de 7 elementos tipo String cuyos valores son los indicados dentro de las llaves. Esta forma de declaracin es equivalente a crear el vector y luego asignar los valores uno a uno, as: String[] paises = new String[7]; paises[0] paises[1] paises[2] paises[3] paises[4] paises[5] paises[6] = = = = = = = "Peru"; "Argentina"; "Colombia"; "Ecuador"; "Brazil"; "Chile"; "Bolivia";

Como podemos observar, para acceder a un valor especfico de un vector, se pone el nombre del vector acompaado del ndice correspondiente encerrado entre corchetes. El primer ndice siempre ser cero. Para mostrar el contenido del arreglo pases, del primero al ultimo puede ser asi: for(int i=0; i<7; i++) imprime(paises[i]+\n); Para mostrar el contenido del arreglo pases, del ultimo al primero puede ser asi: for(int i=6; i>=0; i--) imprime(paises[i]+\n); Para intercambiar el contenido de la celda 1 con el de la celda 4 puede ser asi: String aux=paises[1]; paises[1] = pases[4]; paises[4] = aux; Acceder a la celda 7 del arreglo paises causara un desbordamiento porque dicha celda no existe. Este desbordamiento causa la interrupcin de su programa. Crear matrices, tambin llamados vectores multidimensionales, es tan sencillo como aadir corchetes, as: tipo_de_dato[][] o tipo de dato matriz[][]; matriz;

El primer corchete corresponde a las filas y el segundo corchete corresponde a las columnas. Los vectores en Java son en realidad objetos (como casi todo, exceptuando los tipos de dato primitivos) y por lo tanto se inicializan llamando a un constructor con new, con lo cual se logra un asignamiento suficiente de memoria (instanciamiento) para que el vector funcione correctamente. Por ejemplo, declaremos e instanciemos una matriz de nmeros de 30 filas por 10 columnas: int numeros[][] = new int[30][10]; Para llenar la matriz con nmeros aleatorios de 3 cifras puede ser asi: for (int f=0; f<30; f++){ for (int c=0; c<10; c++){ numeros[f][c]=aleatorio(100,999); } }

SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 17 -

CAPITULO 1: EL LENGUAJE DE PROGRAMACIN JAVA Para mostrar el contenido de la matriz en forma de tabla puede ser asi: for (int f=0; f<30; f++){ for (int c=0; c<10; c++){ imprime(numeros[f][c]+\t); } imprime(\n); // cambio de linea } Si la matriz fuera cuadrada de 10 filas por 10 columnas, para mostrar solo el contenido de la diagonal principal de l matriz puede ser asi: for (int f=0; f<10; f++){ for (int c=0; c<10; c++){ if(f==c) imprime(numeros[f][c]+\t); else imprime(\t); } imprime(\n); // cambio de linea } Si la matriz fuera cuadrada de 10 filas por 10 columnas, para mostrar solo el contenido de la diagonal secundaria de l matriz puede ser asi: for (int f=0; f<10; f++){ for (int c=0; c<10; c++){ if(f+c==9) imprime(numeros[f][c]+\t); else imprime(\t); } imprime(\n); // cambio de linea }

Ver aplicaciones en el capitulo 6.

SUPER JAVA SE FOR WINDOWS WITH NETBEANS IDE @Julio Vsquez Paragulla - -2da.Edicin Mayo 2010

- 18 -

S-ar putea să vă placă și