Download Introducción a la Programación en Java Unidad 3

Document related concepts
no text concepts found
Transcript
Introducción a la Programación en Java
Unidad 3 Fundamentos del Lenguaje Java.
3.1 Estructura de un programa una aplicación independiente (Stand Alone)
Paquetes de Clases
Modificador de Acceso
Class
Nombre de Clase
Declaración de variables miembros de la clase
Constructores
Métodos de la clase
3.2 Primer programa en Java
El paquete Java.lang
importa por default
cualquier programa
Java. Por eso no
necesario escribirlo.
se
en
de
es
public: indica que la
clase y el método
pueden ser utilizados por
cualquier clase.
static: indica que un
método puede ser
utilizado aunque no se
haya creado ningún
objeto de la clase
import java.lang;
public class Ejemplo{
public static void main(String Args[]){
}
}
System.out.printl("Hola");
void: indica
que el método
no regresa
Lista de
parámetros
provenientes del
En java las clases se agrupan en paquetes, para utilizar las clases de un paquete a un programa se tiene
que indicar al compilador a través de la línea import java.lang;
La línea public class Ejemplo declara la clase llamada Ejemplo. La clase y el archivo donde ésta se
grabará deben llevar el mismo nombre, solo que el archivo tendrá la extensión java; esto es Ejemplo.java.
Se acostumbra que la llave que marca el inicio de la clase se escriba inmediatamente después de la
declaración de la clase. En Java todo está agrupado en clases, no se puede definir una variable o una
función que no pertenezca a una clase.
La línea public static void main(String args[]) define el método principal de la aplicación, dicho método
siempre lleva el nombre main y es el punto de partida desde el cual se llama a los otros métodos de la
aplicación. El método main va acompañado de los siguiente modificadores
public: indica que este método puede ser utilizada por cualquier clase.
static: indica que es un método de clase, es decir, un método que puede ser utilizado aunque
no se haya creado ningún objeto de la clase Ejemplo.
void: indica que este main no regresa valores.
Ing. Alma Leticia Palacios Guerrero
9
Introducción a la Programación en Java
Enseguida del nombre del método aparecen los argumentos o parámetros. En el caso de main() el
argumento es siempre un vector o arreglo de objetos de la clase String.
La línea System.out.printl("Hola"); envía a la pantalla el mensaje “Hola”. out es el nombre de un objeto
de la clase System. Este objeto contiene el método estático println que se encarga de enviar mensajes a
la pantalla.
En java las llaves marcan el inicio y final de un bloque.
3.7 Edición, Compilación y Ejecución de programas .java.
Edición. Los programas Java pueden generarse en cualquier editor de texto, por ejemplo Edit, Notepad,
Wordpad y Notepad ++ , etc. Solo se requiere que el archivo sea grabado como tipo texto. El nombre del
archivo no puede incluir espacios.
Compilación: Para que el sistema operativo localice y ejecute el compilador se debe agregar a la
variable de ambiente PATH, la ruta donde se encuentra el compilador javac.exe.
La línea set PATH despliega en pantalla el contenido de PATH. Si la ruta de javac.exe no esta incluída
como en la figura, será necesario agregarla en forma manual.
Para agregar javac.exe a Path ejecute la línea de comando SET PATH=%PATH%;C:\JDK1.4.2_05\BIN
Ahora ya puede compilar el programa con la línea javac Ejemplo.java. Cabe mencionar que el nombre del
archivo debe escribirse de igual tal como fue nombrado el archivo .java ya que Java es sensible al uso de
mayúsculas y minúsculas.
Si el compilador encontró errores los mostrará en la pantalla. Si no hay errores entonces Javac produce
un archivo del mismo nombre que el compilado, pero con extensión .class, este el bytecode. El programa
.class se ejecuta a través de la máquina virtual de java (JRE Java Runtime Environment) con la línea
java Ejemplo. Nótese que aquí ya no requiere la extensión del archivo.
Ing. Alma Leticia Palacios Guerrero
10
Introducción a la Programación en Java
3.3 Identificadores
Los nombres de variables, objetos, clases, etc. son “case sensitive”, esto es, son sensibles a mayúsculas
y minúsculas. De esta forma, casa, Casa y CASA se considera como tres variables distintas entre sí. Las
reglas del lenguaje respecto a la nomenclatura de variables son muy amplias, pero para facilitar la lectura
y las tareas de mantenimiento, comúnmente se siguen ciertas normas:
1. Los nombres de variables se escriben generalmente con minúsculas, pero si el nombre
consta de más de una palabra se escriben una seguida de la otra sin espacios, usando
mayúscula para la marcar el inicio de la siguiente palabra. Por ejemplo:
calcularSueldoDiario, verificarFechaDeExpedicion, abrirVentana, etc.
2. Los identificadores no pueden ser palabra reservadas como main, true, false, public, etc.
3. No deben tener el mismo nombre que otras variables declaradas en el mismo ámbito.
4. Los nombres de objetos, métodos y variables miembro comienzan con minúscula, ejemplos:
main(), imprimir(), encuentraMayor(), sueldoDiario, diasTrabajados,etc.
5. Los nombres de clases e interfaces comienzan siempre con mayúscula. Ejemplos: MiClase,
Circulo, Graphics, etc.
6. Las constantes se escriben con mayúscula. Por ejemplo PI, IVA, etc.
3.4 Palabras reservadas
Existe 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:
transient
short
long
for
continue
abstract
try
static
native
goto*
default
boolean
void
super
new
if
do
break
volatile
switch
null
implement
double
byte
while
synchroniz
package
s
else
case
ed
private
import
extends
catch
this
protected
instanceof
final
char
throw
public
int
finally
class
throws
return
interface
float
const*
(*) son palabras reservadas, pero no se utilizan en la actual implementación del lenguaje Java.
3.5 Comentarios
Un comentario es información que el programador agrega al programa con el fin de identificar el
programa, autor, módulo; explicar una parte del programa, proporcionar ayuda para una modificación
posterior. Los comentarios pueden ser de dos tipos:
Bloque de comentarios. El bloque de comentarios está formado por una o más líneas. El inicio del
bloque se marca con /* y el final se marca con */.
Línea de Comentarios. Inician con // y terminan al final de la línea.
3.6 Variables.
Java almacena datos a través de variables y objetos. Una variable almacena solo un dato a la vez, en
cambio un objeto es una instancia de una clase que puede o no contener mas de una variable de
diferente tipo. Las variables tienen una existencia y alcance limitadas al método en que fueron creadas;
es decir la variable solamente puede ser utilizada dentro del método en que fue creada y existirá mientras
el mismo método exista.
Ing. Alma Leticia Palacios Guerrero
11
Introducción a la Programación en Java
3.7 Tipos de Datos. Además de las referencias a objetos existen 8 tipos de datos primitivos:
Tipo
Tamaño en bytes
Rango de Valores
int
4
-2,147,483,648 a 2,247,483,642
short
2
-32,768 a 32,767
long
8
-9,223,372,036,854,775,808 a 9,223,372,036,854,775,808
byte
1
-128 a 127
float
4
-+3.40282347E+38F (6-7 dígitos decimales)
double
8
-+1.797 ….. +308 (15 dígitos)
char
2
65,536 caracteres (unicode)
boolean
1
true, false
Los tipos primitivos de Java tienen algunas características importantes que se resumen a continuación:
1. El tipo boolean no es un numérico: sólo admite true o false. No se identifica con el igual o diferente de
cero, como en C/C++.
2. El tipo char contiene caracteres en código UNICODE (incluye el código ASCII).
3. byte, short, int y long son enteros que positivos o negativos. En Java no hay enteros unsigned.
4. Los tipos float y double son valores de punto flotante con 6-7 y 15 cifras decimales equivalentes,
respectivamente.
5. Existen extensiones de Java 1.5 para aprovechar la arquitectura de los procesadores Intel, que
permiten realizar operaciones de punto flotante con una precisión extendida de 80 bits.
3.8 Definición e inicialización de variables simples
Una variable se define especificando su tipo y nombre. Estas variables pueden ser de tipos primitivos o
referencias a objetos. Las variables de tipo referencia se inicializan a null, para que tengan un valor es
necesario que crear un objeto con el operador new. Este operador reserva en la memoria espacio para el
objeto incluyendo sus variables y métodos.
La sintaxis para definir una variable es:
ejemplo:
<tipo> < nombre_variable>;
int alumnos;
La inicialización de una variable al momento de declararla es opcional, la sintaxis es la siguiente:
ejemplos
<tipo> < nombre_variable>=<valor>;
float dolar=11.30;
Ejemplo de declaración e inicialización de variables
class DeclaraVariables{
public static void main(String[] args)
{ int entero=0;
char letra='a';
String cadena=null;
double doble=0;
boolean logica=true;
System.out.println("Entero= "+entero);
System.out.println("La variable char contiene al iniciar " + letra);
System.out.println("La variable logica tiene "+ logica);
System.out.println("La variable doble tiene "+ doble);
System.out.println("La referencia a un objeto es " +cadena);
}
}
Ing. Alma Leticia Palacios Guerrero
Pág. 12
Introducción a la Programación en Java
Ejemplo de declaración e inicialización de Literales
class CreaLiterales{
public static void main(String[] args)
{ char letra1='a';
char letra2='\u0057';
char letra3=(char)87;
char letra4='\r';
}
}
System.out.println("Letra1=" + letra1);
System.out.println("Letra2=" + letra2);
System.out.println("Letra3=" + letra3);
System.out.println("Letra4=" + letra4);
3.8.1 Declaración e inicialización de arreglos
Un arreglo es un conjunto de variables del mismo tipo con el mismo nombre, identificadas por un índice.
Las variables ocupan posiciones de memoria consecutivas.
Pasos para declarar un arreglo
1) Declaración. Especificar el tipo de dato que guardara el arreglo.
2) Alojar en memoria. El operador new se encarga de hacer la petición de memoria de tamaño
suficiente para alojar el arreglo.
La sintaxis para declarar un arreglo es:
Ejemplo:
<tipo> <nombre><[tamaño]>;
int dias[];
En el ejemplo anterior el arreglo dias aún no ha sido alojado en memoria. Para eso es necesario definirlo
con el operador new.
Definición:
dias= new int[20];
Ahora el arreglo dias esta formado por un conjunto de 20 enteros consecutivos.
La declaración y definición de un arreglo se puede llevar a cabo en un sólo paso:
int dias[]=new int[20];
Ejemplo de Declaración e inicialización de Arreglos Unidimensionales
class CreaArreglos {
public static void main(String [] Args)
{ int vector[];
vector=new int[5];
int arreglo1 []= new int[5]; // Se inicializa con ceros
int arreglo2 [] ={5,67,40,84,686};
for (int i=0;i<5;i++)
for (int i=0;i<5;i++)
for (int i=0;i<5;i++)
}
System.out.println("Vector["+ i + "]= "+ vector[i]);
System.out.println("Arreglo1["+i+"]= " + arreglo1[i]);
System.out.println("Arreglo2["+i+"]= " + arreglo2[i]);
}
Ing. Alma Leticia Palacios Guerrero
Pág. 13
Introducción a la Programación en Java
Ejemplo de Declaración e inicialización de Arreglos Bidimensionales
class CreaMatriz{
public static void main(String args[]){
int i, j, ren=3, col=4;
int matriz1[][]= new int[ren][col];
int matriz2[][]={{2,4,6,8},{10,12,14,16},{18,20,22,24}};
System.out.println("Matriz 1");
for (i=0;i<ren;i++)
for (j=0;j<col;j++){
System.out.println("Elemento("+i+","+j+")= "+matriz1[i][j]);
}
}
System.out.println("Matriz 2");
for (i=0;i<ren;i++)
for (j=0;j<col;j++)
System.out.println("Elemento("+i+","+j+")= "+ matriz2[i][j]);
}
3.9 Operadores de Java
Java tiene una gran variedad de operadores, casi idénticos a los de C/C++.
3.9.1 Operadores aritméticos
Se dice que son operadores binarios porque requieren de dos operandos. Realizan las operaciones
aritméticas:
Operación
Símbolo
suma
+
resta
multiplicación
*
división
/
división módular
%
3.9.2 Operadores de asignación
El operador de asignación es el símbolo igual (=). La forma general de asignación con este operador es:
variable = valor o expresión;
Ejemplos: a=3;
x=y+z;
3.9.3 Operadores acumulativos
Los operadores acumulativos realizan la operación considerando como primer operador el valor a la
izquierda de la expresión y como segundo operador el valor que se escriba a la derecha. El resultado se
guarda en la variable de la izquierda; es decir el operador de la izquierda tiene una doble función: es el
primero operando y es la variable donde se guarda el resultado.
Operador
Ejemplo
+=
x+=y
equivale a x=x+y;
-=
x-=y
equivale a x=x-y;
*=
x*=y
equivale a x=x*y;
/=
x/=y
equivale a x=x/y;
%=
x%=y
equivale a x=x%y;
Si x=3; y y=2 al ejecutar x+=y el valor final de x sería 5.
Ing. Alma Leticia Palacios Guerrero
Pág. 14
Introducción a la Programación en Java
3.9.4 Operadores Unarios ++ y -Los operadores se pueden utilizar de dos formas:
1. Precediendo a la variable. Primero se incrementa la variable y luego se utiliza en la expresión
en la que aparece.
2. Siguiendo a la variable . En este caso primero se utiliza la variable en la expresión y luego se
incrementa.
Ejemplo de operadores aritméticos, unarios y acumulativos
public class Operadores {
public static void main(String[] args) {
int a=5,b=10;
int j = 1;
int c= a + b;
System.out.println("Operadores Aritmeticos");
System.out.println(a + "+" +b + " = " + c);
c= a - b;
System.out.println(a + "-" +b + " = " + c);
c= a * b;
System.out.println(a + "*" +b + " = " + c);
c= a / b;
System.out.println(a + "/" +b + " = " + c);
c=b % a;
System.out.println(b + " modulo " + a + " = " + c);
b+=3;
c=b % a;
System.out.println(b + " modulo " + a + " = " + c);
System.out.println("Operadores Unarios");
System.out.println("Valor inicial de a " + a);
System.out.println("Con +a= " + ++a);
System.out.println("Valor inicial de b " + b);
System.out.println("Con b-- = " + b--);
}
}
3.9.5 Operador condicional ?
Este operador heredado de C/C++, permite evaluar condiciones sencillas. Su sintaxis es:
Condición ? acción1 : acción2;
donde se evalúa Condición si la condición se cumple se ejecuta la acción1 y si no se cumple entonces
se ejecuta la acción2. Es el único operador ternario de Java. Como todo operador que devuelve un valor,
puede ser utilizado en una expresión. Por ejemplo en las líneas:
x=1 ; y=5;
z = (x<y)? 3: 8;
z tendría el valor 8 porque la condición no se cumple.
Ejemplo de Operador Ternario
public class OperadorTernario{
public static void main(String Args[]){
int a=16,b=10, x=0;
x=(a>b)? 3:5;
System.out.println("X= " +x);
}
}
Ing. Alma Leticia Palacios Guerrero
Pág. 15
Introducción a la Programación en Java
3.9.6 Operadores relacionales
Los operadores relacionales son >,<,<=,<=,!=,==.El resultado de estos operadores es siempre un valor
booleano.
Operación
Símbolo
>
Mayor que
<
Menor que
<=
Menor o igual que
>
Mayor que
>=
Mayor o igual que
!=
Diferente
==
Igual
3.9.7 Operadores lógicos
Operador
&&
||
!
Nombre
And
Or
Not
Sintaxis
op1 && op2
op1 || op2
!op
Resultado
true si op1 y op2 son true.
true si op1 u op2 son true.
true si op es false.
false si op es true.
3.9.8 Operador de concatenación de cadenas (+)
El operador más (+) se utiliza también para concatenar cadenas de caracteres. Por ejemplo:
System.out.println("El total asciende a "+result + " unidades");
3.9.9 Jerarquía de los operadores
El orden en que se realizan las operaciones muchas veces determina el resultado de una expresión. La
siguiente lista muestra el orden en que se ejecutan los distintos operadores en un instrucciones:
1
2
3
4
5
6
7
8
multiplicativos
aditivos
relacionales
igualdad
AND
OR
condicional
asignación
*/%
+< > <= >=
== !=
&&
||
?:
= += -= *= /= %= &= ^=
|=
En Java, todos los operadores binarios, excepto los operadores de asignación, se evalúan de izquierda a
derecha. Los operadores de asignación se evalúan de derecha a izquierda, lo que significa que el valor
de la derecha se copia sobre la variable de la izquierda.
Ing. Alma Leticia Palacios Guerrero
Pág. 16
Introducción a la Programación en Java
3.10 Entrada de datos String desde teclado
La mejor forma de leer desde el teclado es usar la clase BufferedReader, la cual soporta un flujo de
entrada desde un buffer de memoria, pero no se puede construir un BufferedReader directamente de
System.in. Primero debe convertirse a un flujo de caracteres a través de la clase InputStreamReader. El
código sería el siguiente:
import java.io.*;
public class LeeTeclado {
public static void main(String[] args) {
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String nombre=new String();
System.out.println("Como te llamas");
try{
}
nombre = lector.readLine();
catch (IOException excep) {
System.out.println("Error de IO");
}
System.out.println("Hola "+ nombre );
}
}
En Java al igual que en otros lenguajes de programación, la lectura de un flujo puede generar un error. A
estos errores en Java se les conoce como excepciones. Las excepciones pueden ser tratadas de varias
formas, una de ellas es con el bloque try-catch, el bloque try contiene el bloque que pudiera generar la
excepción, el bloque catch contiene las instrucciones a seguir. Si no se genera ninguna excepción
entonces la ejecución continua en la línea que siga al bloque catch.
3.11 Entrada de datos numérica
public class LeeNumeros {
public static void main(String[] args) {
}
}
}
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String auxiliar=new String();
int e=0;
System.out.println("Cuantos años tienes?");
try{
auxiliar = lector.readLine();
Integer edad=new Integer(auxiliar);
e=edad.intValue();
}
catch (IOException excep) {
System.out.println("Error");
System.out.println("Hola "+ e*12);
El procedimiento de lectura es exactamente igual al de lectura de cadenas, lo que cambia es que
después de leer la cadena, esta se usa como argumento para construir un objeto entero Entero, en la
siguiente línea el método intValue extrae del objeto Integer el valor int que el usuario escribió y es
asignado a una variable int para su posterior uso.
Ing. Alma Leticia Palacios Guerrero
Pág. 17
Introducción a la Programación en Java
3.12 Estructuras de Control.
En la mayor parte de los lenguajes de programación, las de estructuras son similares en cuanto al
concepto, aunque la sintaxis puede cambiar de un lenguaje a otro. La sintaxis de Java similar a la de C y
C++, lo que significa que para un programador de C y C++ la sintaxis de Java no tiene dificultad.
Instrucción: Una instrucción es una expresión que acaba en punto y coma (;). Se permite incluir varias
instrucciones en una línea, aunque lo habitual es utilizar una línea para cada instrucción. Por ejemplo:
i =0;j =5;x =i +j;// Línea compuesta de tres instruccioness
3.12.1 Condición simple
If: Esta estructura permite ejecutar un conjunto de instrucciones en función del valor que tenga la
expresión de comparación (se ejecuta si la expresión de comparación tiene valor true). Tiene la forma
siguiente:
if (Condición){
instrucciones;
}
Las llaves no son necesarias si sólo hay una instrucciones dentro del if.
La estructura if tiene una parte opcional que se ejecutará cuando la condición no se cumple (false).
if (Condición{
instrucciones1;
} else {
instrucciones2;
}
3.12.1.1 Ejemplo del uso de la Estructura If
import java.io.*;
import java.util.Random;
public class EstructuraIf{
public static void main(String[] args) {
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String auxiliar=new String();
Random azar=new Random();
int aleatorio=azar.nextInt(1000);
int usuario=0;
System.out.println("Escribe un numero");
try{
}
}
auxiliar = lector.readLine();
Integer objetoEntero=new Integer(auxiliar);
usuario=objetoEntero.intValue();
}
catch (IOException excep) {
System.out.println("Error");
}
if (aleatorio>usuario)
System.out.println(aleatorio + " es mayor que " + usuario);
else
System.out.println(usuario + " es mayor que " + aleatorio);
Ing. Alma Leticia Palacios Guerrero
Pág. 18
Introducción a la Programación en Java
3.12.1.1 Ejemplo de If Anidados
import java.util.Random;
public class EstructuraIfAnidado{
public static void main(String[] args) {
Random azar=new Random();
int a=azar.nextInt(10);
int b=azar.nextInt(10);
int c=azar.nextInt(10);
System.out.println("Los lados del triangulo son a= " +a + " b= "+b+" c= " + c);
if (a==b&&b==c)
System.out.println("Es un Triangulo Equilatero");
else
if(a!=b && b!=c)
System.out.println("Es un Triangulo Escaleno");
else
System.out.println("Es un Triangulo Isosceles");
}
}
3.12.1 Condición Múltiple Switch-Case
Switch case es una alternativa a un conjunto de if-else anidados cuando se evalúa la misma condición
con distintos valores. Su forma general es la siguiente:
switch (expresión) {
case valor1: instrucciones1; break;
case valor2: instrucciones 2; break;
case valor3: instrucciones 3; break;
case valor4: instrucciones 4; break;
default: instrucciones 7;
}
No se pueden establecer rangos o condiciones sino que se debe comparar con valores concretos.
Si ningún caso se cumple entonces se ejecuta el case default, el cual es opcional.
3.12.1.1 Ejemplo del uso de la Estructura Switch-Case
import java.io.*;
public class EstructuraSwitchCase{
public static void main(String args[]){
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String auxiliar=new String();
int opc=0;
System.out.println("1) Saludo ");
System.out.println("2) Numeros");
System.out.println("3) Salida");
System.out.println("Opcion ");
try{ auxiliar = lector.readLine();
Integer objetoEntero=new Integer(auxiliar);
opc=objetoEntero.intValue();
}
catch (IOException excep) { System.out.println("Error ");
}
switch( opc){ case 1: System.out.println("Bajo Construccion");
break;
case 2: System.out.println("Bajo Construccion");
break;
case 3: System.out.println(" Adios ");
break;
default: System.out.println(" Opcion Invalida");
}
}
}
Ing. Alma Leticia Palacios Guerrero
Pág. 19
Introducción a la Programación en Java
3.13 Estructuras Iterativas
3.13.1 Ciclo while
En el ciclo while la condición se evalúa siempre antes de ejecutar las instrucciones. Si la condición se
cumple se ejecuta el bloque; si la condición es falsa el ciclo termina. En este ciclo puede ocurrir que la
condición de entrada no se cumpla y las instrucciones no se ejecuten ni una sola vez; debido a esto al
ciclo while se le conoce también como ciclo por centinela.
while (condición) {
instruccion1;
instrucción2;
instrucción3;
...
instrucciónN
}
3.13.1.1 Ejemplo de la Estructura Iterativa while
El siguiente programa genera la serie ULAM, esta serie sostiene que a partir de cualquier número entero
positivo se puede obtener el número 1 de acuerdo a los siguientes criterios:
- Si el número es par se divide entre 2.
- Si el número es impar se multiplica por 3 y se le suma 1.
import java.io.*;
public class EstructuraWhile{
public static void main(String[] args) {
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String auxiliar=new String();
int numero=1;
System.out.println("Escribe un numero");
try{ auxiliar = lector.readLine();
Integer objetoEntero=new Integer(auxiliar);
numero=objetoEntero.intValue();
}
catch (IOException excep) {
System.out.println("Error");
}
}
}
while (numero>1)
{
if ( numero%2==0)
numero/=2;
else
numero=numero*3+1;
System.out.println(numero);
}
Ing. Alma Leticia Palacios Guerrero
Pág. 20
Introducción a la Programación en Java
3.13.2 Ciclo for
Al igual que for, evalúa la condicion antes de cada iteración si esta se cumple ejecuta las instrucciones
en caso contrario el ciclo termina. La forma general del Ciclo for es la siguiente:
for (inicialización; expresión; cambio) {
instrucciones;
}
donde:
inicialización: el valor inicial que se le da a la variable de control. Puede haber mas de una variable de
control.
expresión: Es una condición que determina el final del ciclo, puede estar formada por más de una
expresión unidas con operadores lógicos.
cambio: Es la variación positiva o negativa que tendrán la(s) variable(s) de control.
3.13.2.1 Ejemplo de la Estructura Iterativa for
El siguiente ejemplo calcula y muestra el factorial de un número entero proporcionado por el
usuario.
import java.io.*;
public class EstructuraFor{
public static void main(String[] args) {
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String auxiliar=new String();
int numero=1;
System.out.println("Escribe un numero");
}
for
}
try{ auxiliar = lector.readLine();
Integer objetoEntero=new Integer(auxiliar);
numero=objetoEntero.intValue();
}
catch (IOException excep) {
System.out.println("Error");
long factorial=1;
(int i=numero; i>1; i--)
factorial*=i;
System.out.println("El factorial de "+ numero + " es " + factorial);
}
Ing. Alma Leticia Palacios Guerrero
Pág. 21
Introducción a la Programación en Java
3.13.3 Ciclo do-while
Es similar al Ciclo while pero con la particularidad de que la evaluación de la condición se hace al final del
Ciclo, por lo que esta garantizado que las instrucciones se ejecutan al menos la primera vez. do-while
ejecuta las instrucciones luego se evalúa la condición: si resulta verdadera se vuelven a ejecutar las
instrucciones; si la condición es falsa entonces finaliza el ciclo. Este ciclos se utiliza con frecuencia para
la implementación de un menú.
do {
instrucción1;
instrucción2;
...
instrucciónN;
} while (Expresión);
3.13.3.1 Ejemplo de la Estructura Iterativa do-while
import java.io.*;
import java.util.Random;
public class EstructuraDoWhile{
public static void main(String[] args) {
InputStreamReader teclado = new InputStreamReader(System.in);
BufferedReader lector = new BufferedReader(teclado);
String auxiliar=new String();
Random azar=new Random();
int maquina=azar.nextInt(1000);
int usuario=1, intentos=0;
do{
System.out.println("Escribe un numero");
try{ auxiliar = lector.readLine();
Integer objetoEntero=new Integer(auxiliar);
usuario=objetoEntero.intValue();
}
catch (IOException excep) {
System.out.println("Error");
}
intentos++;
if (usuario!=maquina)
if( usuario> maquina)
System.out.println("El numero de la maquina es menor");
else
System.out.println("El numero de la maquina es mayorr");
}while(usuario!=maquina);
}
}
System.out.println("Adivinaste en " + intentos + " intentos");
Ing. Alma Leticia Palacios Guerrero
Pág. 22
Introducción a la Programación en Java
3.14 Ejercicios
1) Suponga que existe un triángulo rectángulo con lados a,b, y c. Genere dos valores flotantes
aleatorios para los lados a y b y utilizando el teorema de Pitágoras calcule y muestre la
hipotenusa (c). La fórmula es c=
raíz cuadrada.
a 2 + b 2 . Consulte la ayuda del método sqrt para calcular la
2) Generar una tabla de conversion de pies a metros en un rango de 1 a 30 pies. Nota: Un pie son
.3040 m.
3) Declare una matriz de 4 renglones por 4 columnas, asignando los siguientes valores que usted
desee al momento de definirla. Hacer un método que realice las siguientes actividades.
a) Encontrar y mostrar la suma de todos los elementos de la matriz.
b) Mostrar la diagonal de la matriz y su suma.
4) Hacer un programa que obtenga la transpuesta de una matriz. Mostrar las matrices original y
transpuesta.
5) Generar los primeros n números de la serie de Fibonacci: 0,1,1,2,3,5,8,13. Nota: n será
proporcionado por el usuario.
Ing. Alma Leticia Palacios Guerrero
Pág. 23