Algunas aplicaciones ejecutan un comando despu�s de otro de una forma lineal. Por ejemplo, suma un n�mero con otro n�mero e imprime el resultado. M�s frecuentemente, los comandos se ejecutan bas�ndose en ciertas condiciones, o dependiendo de acciones iniciadas por el usuario en otra parte de la aplicaci�n. Para �sto �ltimo se usan las sentencias condicionales.
Las sentencias condicionales como if/else normalmente se usan para controlar el flujo de ejecuci�n de una aplicaci�n. Las sentencias condicionales chequean si una condici�n es verdadera o falsa.
Por ejemplo, si la condici�n es verdadera, a�ade los enteros pasados. Si la condici�n es falsa, entonces el programa no hace nada si no se ha especificado un else. La sentencias if se escriben de forma similar a esta:
if (condition is true) //observa los par�ntesis do something here like printing to the screen;
Podr�amos querer hacer algo especificando que sucede para else:
if (condition is true) { do something here; print this statement to the screen; } else { do something different; print this other statement to the screen; }
Observa que los bloques de sentencias complejos (m�s de una sentencia por cada if o else) requieren el uso de {}. Los corchetes ayudan a la lectura del c�digo as� como a permitir al compilador conocer cuando se ha completado un bloque. No tenemos porque usar una sentencia else si no lo necesita la aplicaci�n para hacer algo espec�fico, como imprimir un mensaje de error, si la condici�n es falsa.
Las sentencias if/else son suficiente para muchas situaciones en las que se necesita el control de flujo. Sin embargo, cuando hay una gran variedad de acciones que una aplicaci�n puede tomar, numerosas sentencias if ser�n largas y tediosas, como cuando hay muchos botones que pueden ser pulsados o un men� con una lista de opciones donde un usuario puede elegir.
Para cubrir las m�ltiples posibles elecciones, se usa la sentencia switch, tambi�n conocida como sentencia case. Empezamos una sentencia switch pas�ndole una variable del tipo int, byte, short, long, o char.
Por ejemplo, int es un valor asignado de 2 en la variable menuItem. Luego la variable menuItem es pasada a la sentencia switch:
int menuItem = 2; switch (menuItem) // Next create the choices and // enclose them in curly braces. { case 0: System.out.println("You chose 0!"); break; // Jumps to the next case // when break is reached. case 1: System.out.println("You chose 1!"); break; case 2: System.out.println("You chose 2!"); break; case 3: System.out.println("You chose 3!"); break; default: System.out.prinln("Oops, some error occurred!"); }
El resultado imprime "You chose 2!"
En este ejemplo menuItem ya tiene un valor, pero podemos obtener el valor de la l�nea de comandos o desde un componente GUI, como botones o men�s. Si ninguna de las etiquetas case corresponde, se ejecua la sentencia por defecto.
En el ejemplo de arriba, s�lo se ejecuta el case que es elegido a trav�s de la variable. Luego break fuerza al flujo de la aplicaci�n a ir al siguiente bloque case. Si necesitamos que la aplicaci�n pase por cada case, omitimos el break:
char grade = 'B'; switch (grade) { case 'A': case 'B': System.out.println("Good work!"); break; case 'C': case 'D': System.out.println( "You need to study more!"); break; default: System.out.println( "Big problems!"); }
Tanto A como B, imprimir�n en la consola Good work!.
�Entender la Librer�a de Clases Java
�La clase String Explicada
Un String es un grupo de caracteres juntos. Has visto los strings en los ejemplos de arriba, pero son m�s adecuadamente llamados objetos de la clase String.
La clase String permite que sus objetos sean creados sin usar la palabra clave new. Podemos crear objetos String de dos formas:
String example = "This is a string."; String example = new String("This is a string.");
La clase String proporciona a los programadores una gran variedad de formas para manipular y trabajar con strings:
- Concatenar o unir strings:
//Variables declaring a String type with a string included String title1 = "Java"; String title2 = "Developer Connection"; // The + symbol joins the variables, // and a space is inserted // between the quotes to be included // between the two variables. String fulltitle = title1 + " " title2; //Joins the Strings. System.out.println(fulltitle);
Resulta en:
Java Developer Connection
- El m�todo length devuelve la longitud de un objeto String. En otras palabras, cu�ntos caracteres, contiene el String, incluyendo los espacios en blanco:
// Variable declaring a String object, // with a string argument String title = "Java Developer Connection"; System.out.println("Length of title is " + title.length());
Resulta en:
Length of title is 25
La clase String proporciona otros muchos m�todos �tiles:
- replace, que permite reemplazar los caracteres especificados.
- equals, que devuelve true si un objeto String tiene la misma secuencia de caracteres que otro objeto String.
- charAt, que devuelve el car�cter en el �ndice especificado.
Los m�todos de String se pueden llamar f�cilmente usando el operador punto con el nombre de variable del objeto String, y el m�todo de String con par�metros:
title.length() // Results in the length of a title object name.equals("Java") // Checks if the name objects is equal to the // String Java. name.toUpperCase() //Converts name to uppercase // letters.
�Programa Ejercicio
Ahora que has aprendido sobre las sentencias if/else/switch, y la clase String, intenta realizar el siguiente programa:
- Crea una clase llamada CaseofStrings
- Declara una variable del tipo String llamada sentence que diga, "It's fun developing applications in the Java programming language."
- Usa una sentencia switch para crear un men� que tome el char A, B, C, D. Cuando se usa el tipo char, debes encerrar el char entre comillas simples. Por ejemplo, 'A'.
- Para el case A, haz que la aplicaci�n imprima la longitud del string, si la longitud es mayor que cero. De otro modo, imprimer un mensaje diciendo que no hay nada que contar.
- Para el case B, imprime el String todo en letras may�sculas.
- Para el case C, imprime un subsring usando el startIndex de 40 y un endIndex de 65 como argumentos.
- Para el case D, reemplaza todas las letras t del string con Z.
- Compila y ejecuta CaseofStrings. Cambia el valor de la vairable menuItem a B, luego recompila y ejecuta de nuevo. Haz lo mismo por cada letra para ver los resultados:
66 IT'S FUN DEVELOPING APPLICATIONS IN THE JAVA PROGRAMMING LANGUAGE. Java programming language IZ's fun developing applicaZions in Zhe Java programming language.
�Un poco de Java
�Los dos Tipos
Antes de usar el nombre de una vriable, debermos declarar su tipo. En el lenguaje Java, hay dos tipos: Primitivos y Referencia.
Tipos Primitivos
Los tipos primitivos, o simples, no son objetos. Los siguientes son tipos primitivos:
- Enteros, como byte, short, int, y long.
- N�meros de coma flotante, como double y float.
- Caracteres que representan letras y n�meros llamados char.
- Boolean, que es un tipo que representa valores de true o false.
Como los tipos primitivos no son objetos, declararlos es un proceso de un paso:
int month; //declaration without a value int month = 10; //declaration with an //assigned value
Tipos Referencia
Los tipos Referencia frecuentemente se refieren a objetos preconstruidos, como clases o clases abstractas que forman parte de la librer�a de la Java 2 Platform, Standard Edition (J2SE). Los tipos referencia tambi�n podr�an referirse a clases especialmente dise�adas por el programador para que vayan con una aplicaci�n. El t�rmino tipo clase normalmente se usa como sin�nimo de tipo referencia.
Como ejemplo:
Font monoFont = new Font("Courier", Font.PLAIN, 12);
La variable referencia llamada monoFont se refiere a la clase Font. Para declarar un ejemplar, o crear el objeto, se utiliza la palabra clave new.
Los m�todos tambi�n son declarados con un tipo. Son declarados del tipo del valor que devuelven como String o double. Si se declaran como void, esto significa que no devuelven ning�n valor.
�Soluci�n al Programa de Ejercicio
Esta es una posible soluci�n al progama de ejercicio:
public class CaseofStrings { public static void main(String[] args) { String sentence = "It's fun developing applications" + " in the Java programming language."; char menuItem = 'A'; switch (menuItem) { case 'A': if (sentence.length() > 0) { System.out.println(sentence.length()); } else { System.out.println("Nothing to count"); } break; case 'B': System.out.println(sentence.toUpperCase()); break; case 'C': System.out.println(sentence.substring(40, 65)); break; case 'D': System.out.println(sentence.replace('t', 'Z')); break; } } }
Resultado despu�s de cambiar la variable menuItem desde A hasta D:
66 IT'S FUN DEVELOPING APPLICATIONS IN THE JAVA PROGRAMMING LANGUAGE. Java programming language IZ's fun developing applicaZions in Zhe Java programming language.
�Descargar la Plataforma Java 2
Para la mayor�a del desarrollo Java, necesitas las librer�as de clases Java, el compilador, las herramientas, y el entorno de ejecuci�n proporcionado por el kit de desarrollo de Java 2, Standard Edition.
- Descarga el Paquete de Software J2SE 1.4.
- A�ade a tu Bookmark las Especificaciones del API