Académique Documents
Professionnel Documents
Culture Documents
software de Sistemas:
Basados en caracteres
Sistemas Operativos
Basados en una Interfaz Gráfica
2. SOFTWARE DE APLICACION: Son aquellos programas que nos ayudan a realizar tareas
específicas como son: edición de textos, imágenes, cálculos, etc. a estos programas también se les
conoce como aplicaciones.
Software de aplicaciones
El software de aplicación esta diseñado y escrito para realizar tareas específicas personales,
empresariales o científicas como el procesamiento de nóminas, la administración de los recursos
humanos o el control de inventarios. Todas éstas aplicaciones procesan datos (recepción de
materiales) y generan información (registros de nómina) para el usuario.
Definición de Lenguaje
Lenguajes de Programación: Cualquier lenguaje es solamente un conjunto de reglas para
especificar la forma en que las cosas deben expresarse a fin de que sean entendidas. Un lenguaje
de programación es un conjunto de símbolos, caracteres y reglas que le permiten a las personas
comunicarse con la computadora.
Los lenguajes de programación tienen un conjunto de instrucciones o sentencias cada una de las
cuales especifica ciertas operaciones que debe ejecutar la computadora.
Lic. Felipe Rodríguez Ramírez 1/24
Fundamentos de Programación Java
Lenguaje Maquina: Son aquellos cuyas instrucciones están escritas en lenguajes directamente
entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda
comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se expresan en
términos de la unidad de memoria mas pequeña el bit (dígito binario 0 o 1) ya que son cadenas
binarias que especifican una operación y las direcciones de memoria implicadas..
Lenguaje de Bajo Nivel (Ensamblador): Son más fáciles de utilizar que los lenguajes máquina.
Son dependientes del hardware. El lenguaje de bajo nivel por excelencia es el ensamblador. Las
instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos para las
operaciones y direcciones simbólicas.. Por ejemplo, nemotécnicos típicos de operaciones
aritméticas son : ADD, SUB, DIV, etc. Un programa escrito en lenguaje ensamblador, requiere de
una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la
computadora.
Ventajas del lenguaje ensamblador frente al lenguaje máquina
Mayor facilidad de codificación y, en general, su velocidad de cálculo.
Desventajas del lenguaje ensamblador
Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad
de ejecutar un programa en diferentes máquinas, la formación de los programadores es más
compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las
técnicas de programación, sino también el conocimiento del interior de la máquina.
Lenguaje de Alto Nivel: (C, Pascal, Cobol, Fortran, etc.) son aquellos en los que las instrucciones
o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en
general en ingles), lo que facilita la escritura y comprensión del programa. Un programa escrito en
lenguaje de alto nivel es independiente de la máquina (las instrucciones no dependen del diseño
del hardware o de una computadora en particular), por lo que estos programas son portables .
Ventajas de los lenguajes de alto nivel
El tiempo de formación de los programadores es relativamente corto comparado con otros
lenguajes, la escritura de programas se basa en reglas sintácticas similares a los lenguajes
humanos, las modificaciones y puestas a punto de los programas son más fáciles.
Desventajas de los lenguajes de alto nivel
Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa
fuente para conseguir el programa definitivo. No se aprovechan los recursos internos de la
Tipos De Datos
El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como
‘b’, un valor entero tal como 35.
Numéricos
Simples Lógicos
(sin estructura) alfanuméricos (string)
Tipos de
Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los
números enteros y los reales.
Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan
el resultado de una comparación entre otros datos (numéricos o alfanuméricos).
Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que permiten
representar valores identificables de forma descriptiva, esto incluye nombres de personas,
direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su
propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se
representan encerrados entre comillas.
Ejemplo: “Fundamentos de Programación ”
La tecnología Java está compuesta básicamente por 2 elementos: el lenguaje Java y su plataforma.
Con plataforma nos referimos a la máquina virtual de Java (Java Virtual Machine).
Una de las principales características que favoreció el crecimiento y difusión del lenguaje Java es
su capacidad de que el código funcione sobre cualquier plataforma de software y hardware. Esto
significa que nuestro mismo programa escrito para Linux puede ser ejecutado en Windows sin
ningún problema. Además es un lenguaje orientado a objetos que nos brinda una solución para
cada necesidad que pudiéramos tener.
Existen distintos programas comerciales que permiten desarrollar código Java. La compañía Sun,
creadora de Java, distribuye gratuitamente el Java Development Kit (JDK). Se trata de un conjunto
Lic. Felipe Rodríguez Ramírez 3/24
Fundamentos de Programación Java
de programas y librerías que permiten desarrollar, compilar y ejecutar programas en Java.
Cualquier programador con un mínimo de experiencia sabe que una parte muy importante
(muchas veces la mayor parte) del tiempo destinado a la elaboración de un programa se destina a
la detección y corrección de errores.
Los IDEs (Integrated Development Environment), tal y como su nombre indica, son entornos de
desarrollo integrados, con los cuales en un mismo programa es posible escribir el código Java,
compilarlo y ejecutarlo sin tener que cambiar de aplicación. Estos entornos integrados permiten
desarrollar las aplicaciones de forma mucho más rápida, incorporando en muchos casos librerías
con componentes ya desarrollados, los cuales se incorporan al proyecto o programa. Ejemplos de
este tipo de entornos encontramos a JCreator, Eclipse, Netbeans, etc.
El compilador de Java
La JVM es el intérprete de Java. Ejecuta los “bytecodes” (archivos compilados con extensión
*.class) creados por el compilador de Java (javac.exe).
Los tipos primitivos contienen un sólo valor e incluyen los tipos como los enteros, coma flotante,
los caracteres, etc.. La tabla siguiente muestra todos los tipos primitivos soportados por el lenguaje
Java, su formato, su tamaño y una breve descripción de cada uno.
Tipo Tamaño Descripción Valor
(Números enteros)
byte 1 byte Entero de un Byte -128 a 127
short 2 bytes Entero corto -32768 a 32767
int 4 bytes Entero -2.147.483.648 a 2.147.483.647
-9.223.372.036.854.775.808 a
long 8 bytes Entero largo
9.223.372.036.854.775.807
(Números reales)
Coma flotante de precisión simple -3.402823E38 a -1.401298E-45 y
float 4 bytes IEEE 754
Entre 6 y 7 cifras decimales de 1.401298E-45 a 3.402823E38
-1.79769313486232E308 a
Coma flotante de precisión doble -4.94065645841247E-324 y de
double 8 bytes IEEE 754
(15 cifras decimales) 4.94065645841247E-324 a
1.79769313486232E308
(otros tipos)
char 16-bit Caracter Un sólo carácter Código ASCII
boolean 1 byte valor booleano (verdadero o falso) True o false
Caracteres de Java
Los caracteres de java pueden agruparse en letras, digitos, espacios en blanco, caracteres
especiales, signos de puntuación y secuencias de escape.
Estos caracteres son utilzados para formar las constantes, los identificadores y las palabras clave
de Java. Son los siguientes:
• Letras mayúsculas de los alfabetos internacionales:
A-Z (son válidas las letras acentuadas y la Ñ)
• Letras Minúsculas de los alfabetos internacionales:
a-z (son válidas las letras acentuadas y la ñ)
• Digitos de los alfabetos internacionales, entre los que se encuentran 0-9
• Caracteres “_”, “$” y cualquier caracter Unicode por encima de 00C0
Espacios en Blanco
Los caracteres espacio en blancotabulador horizontal, avance de página, nueva línea, retorno de
carro, son caracteres denominados espacios en blanco, porque la labor que desempeñan es la
misma que la del espacio en blanco: actuar como separadores entre los elementos de un programa,
lo cual permite escribir programas más legibles. Los espacios en blanco en exceso son ignorados
por el compilador.
Secuencias de escape
Una secuencia de escape esta formada por el carácter \ seguido de una letra o combinación de
digitos. Son utilizados para hacer referencia a caracteres no imprimibles.
Lic. Felipe Rodríguez Ramírez 5/24
Fundamentos de Programación Java
El lenguaje Java tiene predefinidas las siguientes secuencias de escape:
Identificadores
Es un conjunto de caracteres de cualquier longitud que sirve para identificar las entidades del
programa (clases, métodos, constantes, variables, paquetes, sentencias del programa, etc.). Cada
lenguaje tiene sus propias reglas que definen como pueden estar construidos.
Constantes Simbólicas
El uso de constantes dentro de un programa es importante porque hace más fácil de modificar un
programa. Declarar una constante simbólica significa decirle al compilador Java el nombre de la
constante y su valor. Esto se hace utilizando el calificador final y/o el static, como se indica en
seguida:
fnal static int cte1=1 ;
final static String cte2= »Pulse una tecla para continuar”;
final double cte3=3.1416;
Como se observa para declara una constante simbólica se debe anteponer el calificador final, o
bien los calificadores final y static, al tipo y nombre de la constante, que será iniciada con el valor
deseado. El primer caso corresponde cuando se desea declarar una constante dentro del cuerpo de
un método para que solo sea visible dentro de el y solo existe durante la ejecución del mismo; en
este caso se dice que es una constante local al método. El segundo caso corresponde cuando se
desea declarar una constante simbólica dentro de una clase y fuera de todo método esto con el fin
de que solo exista un acopia de la constante para todos los objetos que se declaren de esa clase
(esto se logra con el calificador static).Si no se especifica static cada objeto incluirá su propia
copia de la constante.Con el calificador final se especifica que el valor de la constante no se puede
modificar durante el programa ya que daría lugar a un error.
Palabras Clave
Son una serie de palabras reservadas las cuales tienen un significado especial para Java y
por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son:
Declaración
La Sintaxis para la declaración de una variable es la siguiente:
tipo variable;
Donde tipo es el nombre de un tipo de dato conocido por Java y variable es un identificador válido
en Java.
Es preciso declarar las variables antes de utilizarlas. Se puede declara una variable en tres lugares:
• En una clase como miembro de la clase
• Al principio de un método o bloque de código
• En el punto de utilización
Comentarios
Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y
nombres de funciones especiales. Por ejemplo: a+(b * 2)/c
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes
implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y
operandos.
Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas,
relaciónales y lógicas
Operadores y Operandos
Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables
y/o constantes. Es decir, los operadores nos permiten manipular valores.
Operadores de Java
Los operadores realizan algunas funciones en uno o dos operandos. Los operadores que requieren
un operador se llaman operadores unarios. Por ejemplo, ++ es un operador unario que incrementa
el valor su operando en uno.
Los operadores que requieren dos operandos se llaman operadores binarios. El operador = es un
operador binario que asigna un valor del operando derecho al operando izquierdo.
Los operadores unarios en Java pueden utilizar la notación de prefijo o de sufijo. La notación de
prefijo significa que el operador aparece antes de su operando.
operador operando
Todos los operadores binarios de Java tienen la misma notación, es decir aparecen entre los dos
operandos:
op1 operador op2
Además de realizar una operación también devuelve un valor. El valor y su tipo dependen del tipo
del operador y del tipo de sus operandos. Por ejemplo, los operadores aritméticos (realizan las
operaciones de aritmética básica como la suma o la resta) devuelven números, el resultado típico
Operadores Aritméticos
El lenguaje Java soporta varios operadores aritméticos incluyendo + (suma), - (resta), *
(multiplicación), / (división), y % (módulo) en todos los números enteros y de coma flotante.
Nota: El lenguaje Java extiende la definición del operador + para incluir la concatenación de
cadenas.
Los operadores + y - tienen versiones unarias que seleccionan el signo del operando.
Operador Uso Descripción
+ + op Indica un valor positivo
- - op Niega el operando
Además, existen dos operadores de atajos aritméticos, ++ que incrementa en uno su operando, y --
que decrementa en uno el valor de su operando.
Frecuentemente los operadores relacionales se utilizan con otro juego de operadores, los
operadores condicionales, para construir expresiones de decisión más complejas. Uno de estos
operadores es && que realiza la operación Y booleana . Por ejemplo se puede utilizar dos
operadores relacionales diferentes junto con && para determinar si ambas relaciones son ciertas.
Operadores condicionales.
El operador & se puede utilizar como un sinónimo de && si ambos operadores son booleanos.
Similarmente, | es un sinonimo de || si ambos operandos son booleanos.
Operadores de Asignación
Puedes utilizar el operador de asignación =, para asignar un valor a otro. Además del operador de
asignación básico, Java proporciona varios operadores de asignación que permiten realizar
operaciones aritméticas, lógicas o de bits y una operación de asignación al mismo tiempo.
Específicamente, supónga que se quiere añadir un número a una variable y asignar el resultado
dentro de la misma variable, como esto: i = i + 2;
Puedes simplificar esta sentencia utilizando el operador +=.
i += 2;
Las dos líneas de código anteriores son equivalentes.
Definición: Una expresión es una serie de variables, operadores y llamadas a métodos (construida
de acuerdo a la sintaxis del lenguaje) que evalúa a un valor sencillo.
El tipo del dato devuelto por una expresión depende de los elementos utilizados en la expresión.
La expresión 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 expresión de llamada a un método devuelve el valor del método; así el tipo de dato de una
expresión de llamada a un método es el mismo tipo de dato que el valor de retorno del método.
En Java los operadores con una precedencia más alta se evalúan 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
evalúan antes que los operadores con precedencia relativamente menor. Lo operadores con la
misma precedencia se evalúan de izquierda a derecha.
char
// Aplicación HolaMundo
class HolaMundo
{
public static void main( String[ ] args )
{
System.out.println("\n*********HOLA MUNDO BIENVENIDO A JAVA*******");
} // cierra main
} // cierra clase
Aplicación HolaMundo
Vamos ver en detalle la aplicación anterior, línea a línea. Esas líneas de código contienen los
componentes mínimos para imprimir Hola Mundo en la pantalla.
//
// Aplicación HolaMundo
Estas líneas son comentarios.
class HolaMundo
{
Esta línea declara la clase HolaMundo. El nombre de la clase especificado en el archivo fuente se
utiliza para crear un archivo nombredeclase.class en el directorio en el que se compila la
aplicación. En nuestro caso, el compilador creará un archivo llamado HolaMundo.class.
} //cierra main
} //cierra clase
Finalmente, se cierran las llaves que limitan el método main() y la clase HolaMundoApp.
Compilación
El compilador javac se encuentra en el directorio bin por debajo del directorio java, donde se haya
instalado el JDK. Este directorio bin, si se han seguido las instrucciones de instalación, debería
formar parte de la variable de entorno PATH del sistema. Si no es así, tendría que revisar la
Instalación del JDK. El compilador de Java traslada el código fuente Java a byte-codes, que son
los componentes que entiende la Máquina Virtual Java.
Una vez creado el archivo fuente HolaMundoApp.java, se puede compilar con la línea siguiente:
c:\j2sdk1.4.0\misejemplos>javac HolaMundo.java
Si no se han cometido errores al teclear ni se han tenido problemas con el path al archivo fuente ni
al compilador, no debería aparecer mensaje alguno en la pantalla, y cuando vuelva a aparecer el
prompt del sistema, se debería ver un archivo HolaMundoApp.class nuevo en el directorio donde
se encuentra el archivo fuente.
Ejecución
Para ejecutar la aplicación HolaMundoApp, hemos de recurrir al intérprete java, que también se
encuentra en el directorio bin, bajo el directorio j2sdk1.4.0. Se ejecutará la aplicación con la línea
siguiente
c:\j2sdk1.4.0\misejemplos>java HolaMundo
Enseguida aparecera en pantalla la respuesta de Java con el mensaje que se mando a desplegar en
este caso : HOLA MUNDO BIENVENIDO A JAVA (entre asteriscos).
Problemas de compilación
A continuación presentamos una lista de los errores más frecuentes que se presentan a la hora de
compilar un archivo con código fuente Java, nos basaremos en errores provocados sobre nuestra
mínima aplicación Java de la sección anterior, pero podría generalizarse sin demasiados
problemas.
class Holamundo {
Un problema muy comun al tiempo de ejecución es que java mande un mensaje de classnotfound,
si esto pasa al querer ejecutar el programa, solo irse al prompt de msdos y escribir la orden:
C:>SET CLASSPATH=.;
Y volver a ejecutar el programa.
Un código fuente Java sólo puede tener una clase con el modificador de acceso public. Si el
modificador de la clase es public, el código fuente debe tener el mismo nombre que la clase. Un
archivo fuente (*.java) puede contener más de una clase, pero sólo una puede ser public.
1.- Todos los programas en java son y empiezan con una clase.
2.- Todos los programas en java deben llevar un método principal, llamado main() quien es quien
contiene el código normal del programa.
3.- La clase y el método main deben abrir y cerrar sus propias llaves {}
4.- Las instrucciones terminan con punto y coma (;)
5.- Java también es "case sensitive" es decir diferencía mayúsculas y minúsculas.
Concepto de Clase
Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan
sobre esos datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y
métodos o funciones miembro. La programación orientada a objetos se basa en la programación de
clases. Un programa se construye a partir de un conjunto de clases.
Una vez definida e implementada una clase, es posible declarar elementos de esta clase de
modo similar a como se declaran las variables del lenguaje (de los tipos primitivos int, double,
String, …). Los elementos declarados de una clase se denominan objetos de la clase. De una única
clase se pueden declarar o crear numerosos objetos. La clase es lo genérico: es el patrón o modelo
para crear objetos. Cada objeto tiene sus propias copias de las variables miembro, con sus propios
valores, en general distintos de los demás objetos de la clase. Las clases pueden tener variables
static, que son propias de la clase y no de cada objeto
Lic. Felipe Rodríguez Ramírez 15/24
Fundamentos de Programación Java
Entradas y salidas de datos son las tareas más comunes en cualquier lenguaje de programación. En
Java la entrada y la salida se lee y escribe en flujos (streams). La fuente básica de entrada de datos
es el teclado y la fuente de salida de datos es la pantalla. La clase System define dos referencias a
objetos static para la gestion de la entrada y la salida por consola:
println( ) Transfiere una cadena de caracteres y el carácter de fin de línea alal buffer de la pantalla.
Con respecto a la entrada de datos los elementos básicos de este flujo son caracteres individuales,
no cadenas como ocurre con el objeto out. Entre los métodos de la clase se encuentra read( ), que
devuelve el carácter actual en el buffer de entrada.
No resulta practico el captar la entrada carácter a carácter, es preferible hacerlo línea a línea. Para
ello se utilza la clase InputStreamReader, de la que se crea un objeto inicializado con System.in,
este objeto que se crea se utiliza a su vez como argumento para inicalizar otro objeto de la clase
BufferedReader, que ya permite captar líneas de caracteres del teclado con el método readLine ();
Programa ejemplo:
import java.io.*;
class prog1 {
public static void main(String[] args) throws IOException
{
// declarando variables a usar
int edad = 0;
String nom="";
// creando un objeto llamado teclado especializado en capturas
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
// capturando datos
System.out.println("dame nombre: ");
nom=teclado.readLine();
System.out.println("dame edad: ");
edad = Integer.parseInt(teclado.readLine());
// convirtiendo a meses
Lic. Felipe Rodríguez Ramírez 16/24
Fundamentos de Programación Java
edad =edad * 12;
System.out.println(nom+" tu tienes "+edad +" meses");
} // cierra main
} // cierra clase
En java, generalmente todo se maneja mediante objetos, primero se esta creando un objeto
llamado teclado que tenga capacidad de leer una string, desde el dispositivo de entrada estandar
(teclado o System.in).
Se esta usando la instruccion System.out.println(string); para mandar mensajes al usuario
Se esta usando el metodo readline() que tiene el objeto teclado, para leer la string del teclado
fisico.
Se esta usando Integer.parseInt, , para convertir la string a una variable numérica.
si sexo = 'm'
imprime mujer
si no
imprime hombre
Fin-si
De los ejemplos observar que los caminos a seguir por el computador dependerán de la evaluación
que el computador hace con y de la condición.
Todo lenguaje de programación debe tener instrucciones que permitan formar condiciones e
instrucciones que pueden evaluar esas condiciones.
Cuando la computadora evalúa una condición el resultado de esa evaluación solo es evaluado de
dos maneras o la condición es CIERTA o la condición es FALSA.
Esto dependerá del valor que tenga asignado o que se haya capturado para la variable que esta en
la condición, por ejemplo si se capturo 6000 en sueldo en el ejemplo a) entonces el computador
indicaría que la condición es CIERTA pero en otro caso si a la variable sueldo primero se le
asigno un valor de 250 entonces el computador indicaría que la condición es FALSA.
Ya dependiendo del resultado de la evaluación, el computador ejecuta las instrucciones contenidas
en el grupo de cierto o falso respectivamente.
Empezaremos el análisis por la CONDICIÓN.
CONDICIONES SIMPLES JAVA
Una condición simple se define como el conjunto de variables y/o constantes unidas por los
llamados operadores relaciónales.
INSTRUCCIÓN IF JAVA
Es la instrucción condicional mas usada en los diversos lenguajes de programación, su formato
completo y de trabajo en java es:
import java.io.*;
class prog2 {
public static void main(String[] args) {
// declarando variables a usar
int sueldo = 0;
// creando un objeto llamado teclado especializado en capturas
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
Lic. Felipe Rodríguez Ramírez 18/24
Fundamentos de Programación Java
// capturando datos
try {
System.out.println("dame sueldo: ");
sueldo = Integer.parseInt(teclado.readLine());
} catch(IOException variablerror) {System.out.println("error de captura "); }
if (sueldo >= 3000)
{ System.out.println("RICO ");}
else { System.out.println("POBRE"); };
} // cierra main
} // cierra clase
Recordar que es valido usar mas de una instrucción dentro del grupo cierto o falso del if.
Prog3.java: ahora con strings
import java.io.*;
class prog3 {
public static void main(String[] args) {
// declarando variables a usar
String carrera="";
// creando un objeto llamado teclado especializado en capturas
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
// capturando datos
try {
System.out.println("dame carrera: ");
carrera = teclado.readLine();
} catch(IOException variablerror) {System.out.println("error de captura "); }
if ( carrera.compareTo("informatica") == 0 )
{ System.out.println("INTELIGENTE ");}
else
{
System.out.println("NORMAL");
}; // cierra if
} // cierra main
} // cierra clase
|| "O" LOGICO
! "NO" NEGACION
Ejemplo:
if ( (sueldo > 1000 ) && ( sexo=='m') ) etc, etc, etc.
Notas:
Observar que cada condición simple lleva sus propios parentesis.
Si la variable es de tipo string el dato va entre comillas("), pero si la variable es de tipo char el
dato va entre apostrofes(').
Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador
lógico "&&", las dos condiciones simples deben ser ciertas.
Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador
lógico "||", basta con que una de las condiciones simples sea cierta. La cantidad total de casos
posibles cuando se unen dos o mas condiciones simples esta dada por la relación donde n =
cantidad de condiciones, la primera mitad de ellos empieza en cierto y la segunda mitad en falso.
Ejemplo, si formamos una condición compuesta con dos condiciones simples y el operador lógico
"y", la cantidad total de casos posibles serian , y se puede construir la siguiente tabla de
verdad.
Tabla de verdad con "y"
CONDICION1 CONDICION2 CONDICION1 Y CONDICION2
C C C
C F F
F C F
F F F
La evaluación final, se obtiene usando la regla anteriormente descrita para una condición
compuesta, que contiene el operador "Y".
Esta tabla significa lo siguiente;
1.- Cualquiera que sean la cantidad de datos procesados, siempre caerá en uno de estos cuatro
casos generales.
La tabla de verdad para una condición compuesta con "Or" es la siguiente;
Lic. Felipe Rodríguez Ramírez 20/24
Fundamentos de Programación Java
C C C
C F C
F C C
F F F
Construir una tabla de verdad para una condición compuesta de tres o mas condiciones simples, es
también tarea sencilla, solo recordar que;
1.- La cantidad posible de casos es 2^n casos posibles, la mitad empiezan con Cierto y la otra
mitad empiezan con Falso.
2.- Para evaluar esta condición triple primero se evalúan las dos primeras incluyendo su operador
bajo las reglas ya descritas y luego se evalúa el resultado parcial contra la ultima condición y
ultimo operador para obtener la evaluación final.
INSTRUCCIÓN SWITCH
También existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en
estos casos o se usa una condición compuesta muy grande o se debe intentar convertir el problema
a uno que se pueda resolver usando la instrucción SWITCH.
Esta instrucción es una instrucción de decisión múltiple donde el compilador prueba o busca el
valor contenido en una variable ENTERA o CHARACTER contra una lista de constantes
apropiadas, es decir enteras, character, cuando el computador encuentra el valor de igualdad entre
variable y constante entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no
encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de
instrucciones asociados a un default, aunque este ultimo es opcional.
El formato de esta instrucción es el siguiente;
switch(var OPCION)
{
case const1: instrucción(es);
break;
case const2: instrucción(es);
break;
case const3: instrucción(es);
break; ..................
Lic. Felipe Rodríguez Ramírez 21/24
Fundamentos de Programación Java
default: instrucción(es);
}
prog4.java
import java.io.*;
class prog4 {
public static void main(String[] args) {
// declarando variables a usar
char letra=' ';
// creando un objeto llamado teclado especializado en capturas
BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
// capturando datos
try { System.out.println("dame una letra : ");
letra= teclado.readLine().charAt(0);
} catch(IOException variablerror) {System.out.println("error de captura "); }
switch(letra)
{ case 'a':
System.out.println("aguila ");break;
case 'b': case 'B':
System.out.println("becerro ");break;
case 'c':
System.out.println("caballo "); break;
default:
System.out.println("no hay ");
}
} // cierra main
} // cierra clase
CICLO FOR
Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando
se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o
compuesta.
En su forma simple la inicialización es una instrucción de asignación que carga una variable de
control de ciclo con un valor inicial.
La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor
final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el
computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma ;
EJEMPLO
Codigo prog7.java
import java.lang.*;
import java.io.*;
class prog8 {
public static void main(String[] args) {
// ciclo for
int x=1;
while ( x<=5 )
{
System.out.println(x+" PAPA" + '\n');
x++; };
} // cierra main
Lic. Felipe Rodríguez Ramírez 23/24
Fundamentos de Programación Java
} // cierra clase
While puede llevar dos condiciones en este caso inicializar 2 variables de condición y cuidar que
existan 2 de rompimiento o terminación de ciclo. El grupo cierto de instrucciones puede ser una
sola instrucción o todo un grupo de instrucciones. La condición puede ser simple o compuesta.
Los casos generales de for tambien se aplican a while. A este ciclo también se le conoce también
como ciclo de condición de entrada o prueba por arriba porque este ciclo evalúa primero la
condición y posteriormente ejecuta las instrucciones.
prog9.java
import java.io.*;
class prog9 {
public static void main(String[] args) {
// ciclo for
int x=1;
do
{
System.out.println(x+" HIJO" + '\n');
x++; } while (x<=5) ;
} // cierra main
} // cierra clase
Otra diferencia básica con el ciclo while es que, aunque la condición sea falsa desde un principio
el cuerpo de instrucciones se ejecutara por lo menos una vez.