Sie sind auf Seite 1von 37

Unidad III Programacin Orientada a Objetos en Java

Programacin Orientada a Objetos


Programacin I - 0416202

Programacin Orientada a Objetos

Contenido
Esta leccin abarca los siguientes temas con respecto a Java:
Salida estndar
Entrada estndar
Entrada a travs de Scanner
Conversin de tipo de datos
Bloques y mbito
Sentencia condicional if-else
Sentencia condicional switch
Operador ternario ?:
Ciclo while
Ciclo do-while
Ciclo for
Ciclo for-each

Programacin Orientada a Objetos

Salida Estndar
La salida estndar de Java permite mostrar por pantalla los
resultados de las diversas operaciones que se realizan en
un programa.
La salida estndar es manejada a travs de la clase System,
que se encuentra en el paquete de clases java.lang
El objeto System.out permite mostrar mensajes y
resultados en la consola del sistema. Los mtodos usados
son:
Mtodo

Descripcin

System.out.print (String);

Muestra el texto en la consola

System.out.println (String);

Muestra el texto en la consola


Y seguidamente efecta un salto de
lnea.

Programacin Orientada a Objetos

Salida Estndar

Programacin Orientada a Objetos

Entrada Estndar
La entrada estndar es manejada por la clase System,
especficamente por el objeto System.in que permite leer
de la consola de entrada teclado. Los mtodos usados
son:
Mtodo

Descripcin

int System.in.read ();

Lee el siguiente byte (char) de la


entrada estndar

int System.in.read (byte [] b);

Lee un conjunto de bytes de la


entrada estndar y lo almacena en
el vector b

Java a diferencia de Lenguaje C no usa caracteres de


control para la lectura de datos.

Programacin Orientada a Objetos

Entrada Estndar

Programacin Orientada a Objetos

Entrada Estndar
Para leer cadenas se debe utilizar unas clases de apoyo
para almacenar y procesar la secuencia de caracteres que
son introducidos por el teclado y son capturados por
System.in.read.

Para leer datos numricos, la forma frecuentemente


utilizada, es tomar la entrada en forma de cadena y usar
algunos mtodos que permitan su transformacin.
Las clases y mtodos usados son:

Programacin Orientada a Objetos

Entrada Estndar

Para leer una lnea


completa de texto
se debe declarar
un objeto lector
de tipo
BufferedReader

Clase BufferedReader
readLine()

Clase InputStreamReader
int read()
read(char[])

System.in

bytes (InputStream)

read()
read(byte[])

Programacin Orientada a Objetos

Entrada Estndar

Programacin Orientada a Objetos

Entrada Estndar

Programacin Orientada a Objetos

Entrada Estndar
Tambin se puede hacer sin la presencia de un buffer:

Programacin Orientada a Objetos

Entrada a travs de Scanner


El ingreso del teclado mediante el uso de un escner
requiere la siguiente sentencia de importacin:
java.util.Scanner
Para inicializar un Scanner, se utiliza:

Scanner input = new Scanner(System.in);


El Scanner facilita la lectura del ingreso del usuario, dado
que ya contiene los mtodos que realizan esta misma
tarea.
El mtodo next() de Scanner lee el dato del usuario como
un String y devuelve ese String. La lnea de cdigo sera:
String nombre = input.next();

Programacin Orientada a Objetos

Entrada a travs de Scanner


Para ingresar diferentes tipos de datos a travs del teclado,
Scanner cuenta con los siguientes mtodos (ver
documentacin para conocer los dems mtodos):
Mtodo

Descripcin

int nextInt ();

Esta funcin es similar a next() y lee el


ingreso del usuario y devuelve su valor
entero.

boolean hashNext ();

Devuelve verdadero si el escner tiene otro


ingreso y falso, si ocurre lo contrario.

double nextDouble ();

Lee el ingreso del usuario y devuelve su


valor como Double.

void Close ();

Cierra el escner.

Programacin Orientada a Objetos

Entrada a travs de Scanner

Programacin Orientada a Objetos

Conversin de tipo de datos


Para convertir una cadena de texto a un tipo de dato
numrico, se pueden utilizar los siguientes mtodos:

Mtodo

Descripcin

byte Byte.parseByte(String)

Convierte una cadena en un nmero entero de


un byte

short Short.parseShort(String)

Convierte una cadena en un nmero entero


corto

int Integer.parseInt(String)

Convierte una cadena en un nmero entero

long Long.parseLong(String)

Convierte una cadena en un nmero entero largo

float Float.parseFloat(String)

Convierte una cadena en un nmero real simple

double Double.parseDouble(String)

Convierte una cadena en un nmero real doble

boolean Boolean.parseBoolean(String)

Convierte una cadena en un valor lgico

Programacin Orientada a Objetos

Conversin de tipo de datos


De Nmero a Carcter
var_char = Character.forDigit(var_num, base);
De Carcter a Nmero
var_num = Character.digit(var_char, base);
De Carcter a Cadena El char a convertir debe ser
un objeto de la clase Character.
Character objeto = new Character(letra);
var_String = objeto.toString();

Programacin Orientada a Objetos

Conversin de tipo de datos


De Nmero a Cadena El dato al que convertimos
debe ser un objeto
clase_num objeto = new clase_num(valor);
var_String = String.valueOf(var_num);

De Cadena a Nmero El dato al que convertimos


debe ser un objeto
clase_num objeto = new clase_num(var_String);
var_num = objeto.tipoValue();

Programacin Orientada a Objetos

Conversin de tipo de datos


Entre Nmeros El dato a convertir debe ser un
objeto de una clase numrica
clase_num objeto = new clase_num(valor);
var_tipo = objeto.tipoValue();

float F = new Float (3.1416);


int i = F.intValue();
long l = F.floatValue();
double d = F.doubleValue();

Programacin Orientada a Objetos

Conversin de tipo de datos

Programacin Orientada a Objetos

Conversin de tipo de datos


Casting Conversiones explcitas:
Al hacer conversiones implcitas, la informacin se
pierde, por tanto el programador debe verificar la
asignacin realizando un Casting.

La asignacin entre un long y un int requiere de un


explcito casting.
long valorLargo= 99L;
int valorInt = valorLargo; //Error
int valorInt = (int) valorLargo; //OK

Programacin Orientada a Objetos

Conversin de tipo de datos


Asignaciones incompatibles:
long valorLargo= 6; //OK
int valorInt = 99L; //Error
double z = 12.414F; //OK
float x= 12.414; //Error 12.414 es double

Programacin Orientada a Objetos

Conversin de tipo de datos


Tambin existen ms mtodos:
Prueba crear un objeto de alguna de stas clases para que te
sorprendas de todas las cosas que puedes hacer con ellas.
Por ejemplo:
String objeto; //Declaracin de un objeto de la clase String
objeto.

//Aqu debes ver todos los atributos y mtodos


que le proporcion la clase String al objeto

Entre los mtodos de la clase String mas usados se encuentran:


compareTo()
toLowerCase()
length()
toString()
replace()
toUpperCase()
split()
valueOf()
subString()
Entre otros

Programacin Orientada a Objetos

Bloques y mbito
En Java, el cdigo fuente est dividido en partes separadas
por signos de llave de apertura y de cierre { y }.
Todo lo que est dentro de las llaves es considerado un
bloque. Sin llaves el compilador tendra problemas para
determinar donde termina una seccin de cdigo y dnde
empieza la siguiente.
El mbito afecta el tiempo de vida de las variables, lo que

quiere decir, que la variable solo se usa en esa parte


determinada del programa.

Programacin Orientada a Objetos

Sentencia Condicional if-else


Se utiliza para evaluar una condicin lgica lgica y llevar a
cabo una de dos posibles acciones, dependiendo del
resultado de la condicin (de que sea cierta o falsa).
Sintaxis:
if (condicion)
//cdigo a ejecutar si condicin es true
[ else
//cdigo a ejecutar si decisin es false ]

Si hay mas de una instruccin a ejecutar, stas deben


ejecutarse entre llaves { }.

Programacin Orientada a Objetos

Sentencia Condicional if-else


Para generar una sentencia if-else, recuerde las siguientes
reglas:
Una sentencia if-else necesita una condicin o mtodo que
se prueba como verdadero/falso. Por ejemplo:
If (x==5)
If (y >= 17)
If (s1.equals(s2))

Programacin Orientada a Objetos

Sentencia Condicional if-else


Tambin pueden ejecutarse toma de decisiones anidadas.
Sintaxis:
if (condicion1)
Instrucciones a ejecutar si se cumple la condicion1;
else if (condicion2)
Instrucciones a ejecutar si se cumple la condicion2;
else if (condicion3)
Instrucciones a ejecutar si se cumple la condicion3;
else Instrucciones a ejecutar si no se cumple ninguna
de las condiciones anteriores

La sentencia else if opcional, se puede probar as:


else if (y==7)
else if (z != 2)
La sentencia else opcional tendr en cuenta cualquier otra
posibilidad.

Programacin Orientada a Objetos

Sentencia Condicional if-else

Programacin Orientada a Objetos

Sentencia Condicional switch


Una sentencia switch constituye otra manera de cambiar el
flujo del programa dependiendo del valor de entrada.
Una sentencia switch usa 3 palabras clave: switch, case y
valor predeterminado.
switch: especifica qu variable probar para ver el
valor.
case: compara el valor de la variable switch.
default: cuando la entrada no coincide con ninguno
de los casos, el compilador elije la accin
predeterminada (como else en una lista de
sentencias if).

Programacin Orientada a Objetos

Sentencia Condicional switch


Sintaxis:
switch (variable int, char boolean)
{
case valor1: instruccin;
break;
case valor2: instruccin;
break;
default:
}

Programacin Orientada a Objetos

Sentencia Condicional switch


Aspectos importantes a considerar al usar las sentencias
switch:
Despus de cada caso, incluir la pausa de la palabra
clave. Si no se incluye la pausa, el cdigo "fracasar"
y ejecutar cada caso hasta encontrar una pausa.
La sentencia switch evaluar nicamente tipos de
datos enteros como int, byte, short, char y long. No
puede intercambiar los tipos de datos float y double
o las clases como String.
Para usar switch con Strings, incluya opciones de
enteros para los Strings (por ej. "domingo" = 1;
"lunes" = 2; etc.) e intercmbielos.

Programacin Orientada a Objetos

Sentencia Condicional switch

Programacin Orientada a Objetos

Operador Ternario ?:
El operador ternario (?:) en Java se usa para crear una
versin abreviada de una sentencia if-else.
En el siguiente ejemplo, se observan tres parmetros que
utiliza este operador.
int x = c > 9 ? 6 : 7; //Si c es mayor que 9, x es 6; sino x es 7
El primero es la prueba booleana (c>9).
El segundo (6) es el valor a devolver si la prueba es
verdadera.
El tercero (7) es el valor a devolver si la prueba es
falsa. Con frecuencia se utiliza como parte de una
tarea.

Programacin Orientada a Objetos

Ciclo while
Un grupo de instrucciones se ejecutan en forma repetida,
mientras que se satisface alguna condicin (que sea cierta
diferente de 0). La comprobacin de la primera ejecucin
se realiza al comienzo, es decir, si esta condicin no se
cumple puede darse el caso que no se ejecuten las
instrucciones dentro del ciclo ni una sola vez. Una vez
ejecutadas las instrucciones, regresar al comienzo y se
repetir el proceso de evaluar/ejecutar. Este proceso slo
finalizar cuando la evaluacin de la condicin resulte false.
Sintaxis:
while (condicion)
while (condicion)
{ /* Instrucciones a repetir mientras
Instruccin;
la condicin sea verdadera */
}

Programacin Orientada a Objetos

Ciclo do-while
Un grupo de instrucciones se ejecutan en forma repetida,
mientras el valor de la condicin es cierto, es decir,
diferente de 0. La comprobacin de la condicin se efecta
al final del ciclo, esto indica que siempre se ejecutarn las
instrucciones dentro del ciclo por lo menos una vez.
Sintaxis:
do
Instruccin;
while (condicion);

do {
/* Instrucciones a repetir mientras
la condicin sea verdadera */
} while (condicion);

Programacin Orientada a Objetos

Ciclo for
Esta instruccin incluye una expresion1 que especfica el
valor inicial de un ndice, otra expresion2 que representa la
condicin, que indica cuando se contina o no el bucle; y
una tercera expresion3 que permite que el ndice se
modifique al final de cada pasada.
Sintaxis:
for (expresion1; expresion2; expresion3) {
/* Instrucciones a repetir mientras se cumpla la condicin */
}
Ejemplo:

for (int i=0, j=0; i+j<20; i++, j--) {


System.out.println(i= + i);
System.out.println(j= + j);
}

Programacin Orientada a Objetos

Ciclo for-each
En las ltimas versiones de Java se introdujo una nueva
forma de uso del for, a la que se denomina for extendido.
Esta forma de uso del for, que ya exista en otros lenguajes
for each, facilita el recorrido de objetos existentes en una
coleccin sin necesidad de definir el nmero de elementos
a recorrer.
Sintaxis:
for (Tipo nombreVariableTemporal : nombreDeLaColeccion) {
/* Instrucciones a repetir mientras se cumpla la condicin */
}

Ejemplo:

String arreglo[] = {Maria,Luis,Jose,Ana};


for (String nombre: arreglo)
System.out.println(nombre);

Das könnte Ihnen auch gefallen