Sunteți pe pagina 1din 20

COMPUTACION I

1
UNIDAD 2. PRINCIPIOS DE LA ORIENTACION A OBJETOS


Resumen
Se estudiara el paradigma de la orientacin a objetos y como se emplea en Java.

2.1. DEFINICION DE OBJ ETO.

2.1.1. Un nuevo paradigma

OO es un nuevo paradigma de diseo y programacin
OO se basa en modelar objetos del mundo real
OO crea programas reusables
Los objetos contienen en si mismo informacin y comportamiento.

Que es un objeto?
Definicin filosfica: Es una entidad que se puede reconocer.
Para la tecnologa de objetos : Es una abstraccin de un objeto del mundo real.
En trminos de negocios: Es una entidad relevante al dominio del negocio.
En trminos de software: Es una estructura que asocia datos y funciones.

Algunos ejemplos de objetos en POO son: Cliente, Factura, Contrato, Pelcula. Un Cliente
tiene un nombre, direccin, crdito. Un Cliente podra alquilar una pelcula, pagar una
factura, devolver una pelcula.

Los objetos realizan operaciones.
Un objeto es til si tiene alguna funcin o comportamiento en el sistema.
Cada comportamiento se denomina operacin.

Objeto: Mi lapicero azul
Operacin: Escribir
Objeto: El cajero automtico P5
Operacin: Entregar dinero.

Los objetos tiene valores.
Los objetos conocen cual es su estado actual.
Cada conocimiento del objeto se denomina atributo.

Objeto: Mi lapicero azul
Atributo: Cantidad de tinta
Objeto: El cajero automtico P5
Atributo: Disponible en soles.

2.2.2 Los objetos son una abstraccin
Todo depende del contexto.
Cuando se modela un objeto, solo se requiere modelar las operaciones y atributos que son
relevantes para el problema

Objeto: Mi lapicero azul
Operacin: Apuntar una pizarra.
Atributos: Longitud, Marca.

COMPUTACION I

2
2.2. Encapsulamiento
El encapsulamiento oculta como las cosas funcionan dentro de un objeto
Solo nos comunicamos con el objeto a travs sus mtodos
Los mtodos son una interfaz que permite ignorar como estn implementados.
No es posible evadir el encapsulamiento en OO

El cajero automtico P5 es un objeto que entrega dinero.
El cajero encapsula todas las operaciones a los tarjetahabientes.
Evadir este encapsulamiento es un robo al cajero.

Ejercicio
Complete con operaciones y atributos lo siguiente:
Objeto Operaciones Atributos
Cajero automtico P5
Universidad
Computadora
Auto de carreras
DVD
Satlite

2.3. Relaciones entre objetos
Mensajes entre objetos.
Los objetos se comunican unos con otros enviando mensajes.
El trasmisor del mensaje pide que el receptor realice una operacin.
El receptor ejecuta el mtodo correspondiente.
En programacin estructurada se invocan funciones o procedimientos.
En OO se enva un mensaje a un objeto antes que invocarse un procedimiento.
Los mtodos presentan polimorfismo.



Cliente
o
Transmisor


Mensaje
getEdad()
Persona
getEdad
getNombre
getDireccion
setEdad
setNombre
setDireccion

Edad
Nombre
Direccion



2.3.1 Asociacin entre objetos

Para que un objeto enve un mensaje a otro, el receptor debe ser visible para el transmisor.
Esta visibilidad se da a travs de enlaces.

Un objeto enva mensajes a otro invocando sus mtodos.


COMPUTACION I

3
Radar
en Tierra

Nueva posicin Cambio de
orbita
Monitorear

Satlite


Ejemplos:
El radar en tierra monitorea el satlite. El satlite es monitoreado por el radar en tierra.
Un cliente tiene una cuenta de ahorros. La cuenta de ahorros pertenece a un cliente.

2.3.2 Composicin de objetos.
Los objetos estn compuestos de otros objetos.
Los objetos son partes de otros objetos.
Esta relacin entre objetos se conoce como Agregacin

El Banco de la Nacin es un
objeto
El cajero automtico P5 es
un objeto.
El cajero es del Banco de la
Nacin.

El cajero automtico P5 esta
compuesto por objetos
como:
El teclado
El dispensador de billetes
El lector de la tarjeta


2.4. Clases
Una clase es una molde para crear objetos.
Para definir una clase se tiene que indicar las operaciones y atributos
Los objetos son instancias de la clase.
Cuando se cree un cajero automtico P3 no se requiere indicar sus operaciones y atributos.
Solo se requiere indicar a que clase pertenece.

Clase
Atributos
Mtodos
Cliente
int edad
String nombre
String direccin
cambiarDireccion()
Pelcula
String titulo
double precio
String categoria
cambiarPrecio()

Identificacin de clases
Reconocer una estructura y comportamiento comunes entre varios objetos.

Objeto Operaciones Atributos

Lapicero rojo
Escribir
Recargar
Cantidad de tinta
Color de tinta

COMPUTACION I

4

Pluma y tinta
Escribir
Recargar
Cantidad de tinta
Color de tinta

Ejercicio
A que clase pertenecen estos dos objetos?

Clases y Objetos.
Las clases son definiciones estticas que nos permite entender todos los objetos de esa clase.
Los objetos son entidades dinmicas que existen en el mundo real y en simulaciones del
mundo real.

2.5. Herencia
Entre diferentes clases pueden haber similitudes
La herencia es una relacin entre clases donde una es padre de otra.
Las propiedades comunes definen la superclase. Clase padre.
Las subclases heredan estas propiedades. Clase hijo.
Un objeto hijo es un-tipo-de una superclase.
Un Helicptero es un tipo de Nave Area.


Nave Area


Jumbo

Helicptero

Globo


Dirigible


Ejercicio
Indique que propiedades tiene la clase Nave Area.

2.6. Polimorfismo
Significa que la misma operacin se realiza en las clases de diferente forma.
Estas operaciones tienen el mismo significado, comportamiento.

Internamente cada operacin se realiza de diferente forma.


COMPUTACION I

5

Abordar pasajeros

Barco
Tren

Helicptero

Ejemplos
Enviar calcularIntereses a objetos como: Cuenta de Ahorros, Cuenta CTS, Cuenta Corriente.
En java se representa como: cuenta.calcularIntereses();

Ejercicio
Determine las clases, mtodos, atributos y asociaciones del siguiente problema. Puede aplicar
herencia o polimorfismo?

Tacora Films esta en el negocio de alquiler de pelculas a sus clientes. Y ahora esta
automatizando el proceso de alquiler. El cliente escoge las pelculas en la tienda y las lleva a
la caja para proceder con el alquiler. El empleado de la tienda solicita la TacoraCard al
cliente para identificarlo y escanea el cdigo de barras de cada pelcula que esta alquilando.

Los clientes tienen que ser socios de Tacora Film Club para poder alquilar pelculas. Al
suscribirse al club entregan datos como nombre, direccin, telfono. TacoraCard tiene un
nico numero impreso que identifica al cliente.

Cada alquiler tiene un numero nico para identificarlo y en el acuerdo se indica la fecha de
inicio del alquiler y la lista de pelculas que se estn alquilando. No se puede alquilar mas de
10 pelculas. No se sabe cuando exactamente el cliente devolver la pelcula.

El gerente de Tacora esta considerando emplear el mismo programa para alquilar otros
artculos como libros, reproductores de VHS y de DVD, CDs de juegos.

Cada articulo tiene un precio de alquiler, numero de das que puede ser alquilado, el titulo de
la pelcula, una descripcin breve, el tipo de pelcula (Familiar, Accin, Comedia...)
2.7. CLASES EN J AVA
Una clase es un molde para crear mltiples objetos que encapsula datos y comportamiento.
2.7.1. Paquetes
Un paquete es un contenedor (agrupador) de clases que estan relacionadas lgicamente.
Un paquete tiene sus clases en un mismo directorio
Varias clases pueden tener el mismo nombre pero en diferente paquete.

COMPUTACION I

6

Para el problema de los
alquileres se encuentran las
clases:
Clase Pelicula
Clase Contrato
Clase Cliente
Paquete:
alquiler
Clases:
alquiler.Pelcula
alquiler.Contrato
alquiler.Cliente
Directorio:
C:/alquiler
Archivos en C:/alquiler
Pelcula.java
Contrato.java
Cliente.java

2.7.2. Modificadores de acceso
Java controla el acceso a las variables y mtodos a travs de modificadores de acceso como:
private, public y protected
Un elemento publico puede invocarse en cualquier clase.
Un elemento sin modificador solo se puede invocar desde la misma clase.
Un elemento protegido solo se invocar en clases heredadas
Un elemento privado no puede ser invocado por otra clase.

Paquete alquiler Paquete almacen


NO
private
NO



SOLO
SI
HEREDA
protected
SOLO
SI
HEREDA



SI
public
SI




SI

NO






2.7.3. Creacin de objetos.
1.Cada objeto es una instancia de alguna clase.

Pelicula
private String titulo;
private String tipo;
Public void
mostrarDetalles()

El Padrino
Drama

Odisea 2001
Ciencia Ficcion

COMPUTACION I

7
public void
obtenerTitulo()



2.Los objetos se crean con el operador new.

Pelcula pelicula1 = new Pelcula();
Pelcula pelicula2 = new Pelcula();

3.El operador new realiza las siguientes acciones:
- Separa memoria para el nuevo objeto
- Invoca el mtodo de inicio de la clase llamado constructor.
- Retorna la referencia a un nuevo objeto.



Pelicula pelicula1 = new





Pelicula();

pelicula1


2.7.4. La referencia null

- Los objetos inician en null
- Se puede comparar un
objeto con null
- Se puede liberar la referencia con
null.

Pelicula pelicula1 = null;
if (pelicula1 == null)
pelicula1 = new Pelicula();
pelicula1 = null;

2.7.5. Asignando referencias
Se puede asignar una variable referencia a otra resultado en dos referencias al mismo objeto.

Pelicula pelicula1 = new Pelicula("Betty Blue");
Pelcula pelicula2 = pelicula1;

6. Las variables de instancia se declaran en la clase. Estos son atributos de la clase.

public class Pelicula {
public String titulo;
public String tipo;
}

7. Las variables publicas de instancia se acceden con el operador punto.

Pelicula pelicula1 = new Pelicula();
pelicula1.titulo = "Kramer vs Kramer";

Vivir en el
futuro

COMPUTACION I

8
if (pelicula1.titulo.equals("El planeta de los simios")
pelicula1.tipo = "Ciencia Ficcion";

2.8. Mtodos
Un mtodo es equivalente a una funcin o subrutina de otros lenguajes.
Los mtodos solo se definen dentro de una clase.

modificador tipoDeRetorno nombreMetodo (ListaDeArgumentos) {
// desarrollo del mtodo;
}

2.9.1. Argumentos
En la definicin del mtodo se indica el tipo y el nombre de los argumentos del mtodo.

public void setTipo (String nuevoTipo) {
tipo = nuevoTipo;
}

Si el mtodo tiene varios argumentos, estos se separan por comas.
public void setDatos (String nuevoTitulo, String nuevoTipo) {
tipo = nuevoTipo;
titulo = nuevoTitulo;
}

Si el mtodo no tiene argumentos, se deja solo los parntesis
public void mostrarDetalles() {
System.out.println("El titulo es "+titulo);
System.out.println("El tipo es "+tipo);
}

2.9.2. Valores de retorno.
Se usa la sentencia return para salir del mtodo retornando un valor .
No se requiere return si el tipo de retorno es void.

public class pelicula {
private String tipo;
//...
public String obtenerTipo () {
return tipo;
}
}
2.9.3. Recursividad
Un mtodo recursivo es aquel que directa o indirectamente se llama a si mismo.
Como ejemplo til se puede presentar el clculo de factorial y sumatorias
Factorial de 0 = 1
Factorial de N = N * Factorial de N - 1
COMPUTACION I

9

Sumatoria de 0 = 0
Sumatoria de N = N + Sumatoria de N - 1

Un mtodo recursivo debe tener al menos un caso no recursivo y otros casos recursivos que
se aproximen al caso no recursivo para evitar la recursion infinita.

Recursion.java
public class Recursion {
public static void main (String[] args) {
System.out.println( factorial(5) );
System.out.println( sumatoria(5) );
}
public static int factorial (int numero) {
if (numero == 0)
return 1;
if (numero > 0 )
return ( numero * factorial (numero 1) );
}
public static int sumatoria (int numero) {
if (numero == 0)
return 0;
if (numero > 0 )
return ( numero + sumatoria (numero 1) );
}
}

2.9.4. Invocando mtodos
Se utiliza el operador punto para invocar el mtodo de una clase, si el mtodo es de la misma
clase, no se requiere el calificador de la clase.
Laboratorio
Pelicula.java
public class Pelicula {
private String titulo,tipo;
//...
public String getTipo () {
return tipo;
}
public String setTipo (String nuevoTipo) {
tipo = nuevoTipo;
}
}
PruebaPeliculas.java
public class PruebaPeliculas {
public static void main (String[] args) {
Pelicula pelicula1 = new Pelicula();
pelicula1.setTipo("Comedia");
if (pelicula1.getTipo().equals("Drama")) {
System.out.println("La pelicula es un drama");
COMPUTACION I

10
}
else {
System.out.println("La pelicula no es un drama");
}
}
}
2.10. Encapsulamiento
1. Las variables de instancia de una clase deberan ser declaradas como privadas
Solo un mtodo debera acceder a las variables privadas.
No se debe acceder a las variables de instancia directamente, sino a travs de un mtodo.

Pelicula pelicula1 = new Pelicula();
if (pelicula1.titulo.equals("Los doce del patibulo")) {
pelicula1.setTipo("Accion");
}


2. Cdigo de una clase.
Pelicula.java
public class Pelicula {
private String titulo;
private String tipo;

//metodos settitulo,settipo,gettipo y gettipo, tostring

public void setTitulo (String nuevoTitulo) {
titulo = nuevoTitulo;
}

public void setTipo (String nuevoTipo) {
tipo = nuevoTipo;
}
public String getTitulo () {
return titulo;
}

public String getTipo () {
return tipo;
}

public String toString () {
return "titulo "+titulo+" tipo "+tipo;
}
}




COMPUTACION I

11
2.11. Paso de variables a mtodos.

1. Cuando el argumento es una primitiva, se genera una copia de la variable para el mtodo.
Laboratorio
TestPrimitivas.java
public class TestPrimitivas {
public static void main (String[] args)
{
int numero = 150;
unMetodo(numero);
System.out.println(numero);
}

private static void unMetodo(int argumento) {
if (argumento < 0 || argumento > 100) {
argumento = 0;
System.out.println(argumento);
}
}
}

Que valores muestra el programa anterior?

























COMPUTACION I

12
Tema TRABAJANDO CON CLASES


Resumen
Se realizara un estudio sobre caractersticas avanzadas en la definicin de clases.

3.1. DEFINICIONES INICIALES.

El encapsulamiento se basa en los mtodos de instancia.
La sobrecarga de mtodos nos brinda una interfase mas legible.
Los constructores aseguran una consistente creacin de objetos
El Garbage Collector libera espacio en memoria.

3.1.1. Sobrecarga de mtodos.
Algunos mtodos en una clase pueden tener el mismo nombre.
Estos mtodos deben contar con diferentes argumentos.
El compilador decide que mtodo invocar comparando los argumentos.
Se generara un error si los mtodos solo varian en el tipo de retorno.

public class Pelicula {
private float precio;
public void setPrecio() {
precio = 3.50;
}
public void setPrecio(float nuevoPrecio) {
precio = nuevoPrecio;
}
}

3.1.2. Iniciacin de variables de instancia
Las variables de instancia se pueden iniciar en la declaracin.
Esta iniciacin ocurre cuando se crea un objeto.

public class Pelicula {
private String titulo; // implicito
private String tipo = "Drama"; // explicito
private int numeroDeOscares; // implicito
}

Las primitivas se inician implcitamente como:
char
byte, short, int, long
boolean
float, double
Referencia a Objeto
'0'
0
false
0.0
null

En forma explicita se puede indicar un valor inicial.
private String tipo = "Drama";

Un constructor provee una iniciacin de variables de instancia mas compleja.

COMPUTACION I

13
3.1.3. Constructores
Para una adecuada iniciacin de variables de instancia, la clase debe tener un constructor.
Un constructor se invoca automticamente cuando se crea un objeto.
Se declaran de forma pblica.
Tiene el mismo nombre que la clase.
No retorna ningn valor.
Si no se codifica un constructor, el compilador crea uno por defecto sin argumentos que solo inicia
las variables de instancia.

Laboratorio
Pelicula.java //crea la clase pelicula
public class Pelicula {
private String titulo;
private String tipo = "Drama";

public Pelicula() {
titulo = "Pelicula sin definir.";
}

public Pelicula(String nuevoTitulo) {
titulo = nuevoTitulo;
}

public Pelicula(String nuevoTitulo, String nuevoTipo) {
titulo = nuevoTitulo;
tipo = nuevoTipo;
}

public String getTitulo() {
return titulo;
}

public String getTipo() {
return tipo;
}

}
TestConstructores.java // aqui llama llama a la clases pelicula
public class TestConstructores {
public static void main (String[] args) {
Pelicula pelicula1 = new Pelicula();
Pelicula pelicula2 = new Pelicula("La lista de
Schindler.");
Pelicula pelicula3 = new Pelicula("El
dormilon.","Comedia");

System.out.println(pelicula1.getTitulo()+pelicula1.getTipo());

System.out.println(pelicula2.getTitulo()+pelicula2.getTipo());

System.out.println(pelicula3.getTitulo()+pelicula3.getTipo());
}
}
COMPUTACION I

14

3.1.4. La referencia this
Los mtodos de instancia reciben el argumento this implcitamente que se refiere al mismo objeto.

public class Pelicula {
private String titulo;
public void setTitulo(String titulo) {
this.titulo = titulo;
}
}

Se puede compartir cdigo entre constructores usando la referencia this. Un constructor invoca a otro
pasandole los argumento que requiere.

Laboratorio
Pelicula.java
public class Pelicula {
private String titulo;
private String tipo;

public Pelicula()
{
this("Pelicula sin definir");
}
public Pelicula (String titulo) {
this.titulo = titulo;
}
public String getTitulo() {
return titulo;
}
}
TestThis.java
public class TestThis {
public static void main (String[] args) {
Pelicula pelicula1 = new Pelicula();
Pelicula pelicula2 = new Pelicula("Todo sobre mi madre");
System.out.println(pelicula1.getTitulo());
System.out.println(pelicula2.getTitulo());
}
}
3.1.5. Variables de clase
Las variables de clase comparte un nico valor entre todos las instancias de la clase.
Se declaran con el calificador static.

public Class Pelicula {
// iniciacin por defecto
private static double precioMinimo;
private String titulo, tipo;
}

Las variables de clase se pueden iniciar en la declaracin.
La iniciacin ocurre cuando se carga la clase en memoria.
Para una iniciacin compleja se usara un bloque static

COMPUTACION I

15
public Class Pelicula {
// iniciacin explicita
private static double precioMinimo = 3.29;
}

Ejemplo
Pelicula.java
import java.util.*;
public class Pelicula {
private static int numeroDias = 3;
// iniciacin compleja
private static double precioMinimo;
static {
Date hoy = new Date();
if (hoy.getDay() == 0) //si es Domingo
precioMinimo = 5.10;
else
precioMinimo = 3.29;
}
public int getNumeroDias() {
return numeroDias;
}
public double getPrecioMinimo() {
return precioMinimo;
}
}
TestStatic.java
public class TestStatic {
public static void main (String[] args) {
Pelicula pelicula = new Pelicula();
System.out.println(pelicula.getNumeroDias());
System.out.println(pelicula.getPrecioMinimo());
}
}

3.1.6. Mtodos de clase.
Estos mtodos son compartidos por todas las instancias.
Se usan estos mtodos principalmente en manipular variables de instancia.
Se les declara con el calificador static
Se invoca a este mtodo de clase con el nombre de la clase o con el nombre de una instancia.

Laboratorio
Pelicula.java
public class Pelicula {
private static float precio = 3.50f;
private String titulo;

public Pelicula(String titulo) {
this.titulo = titulo;
}
public String getTitulo() {
return titulo;
}

public static void setPrecio(float nuevoPrecio) {
precio = nuevoPrecio;
}
public static float getPrecio() {
return precio;
}
COMPUTACION I

16
}
TestStatic2.java
public class TestStatic2 {
public static void main (String[] args) {
Pelicula.setPrecio(3.98f);
Pelicula oscar = new Pelicula("Ben Hur");
System.out.println(oscar.getPrecio());
oscar.setPrecio(4.98f);
System.out.println(Pelicula.getPrecio());

}
}































COMPUTACION I

17
Tema 4. CADENAS.
4.4.1. Definicin.
Una cadena es una secuencia de caracteres
La librera String (o clase String) se usa para definir todas las cadenas en Java.
Las cadenas se delimitan con comillas dobles.

//
System.out.println("Hola Mundo.");
String camara = "Camara";
String luces = camara +" Accion";
String vacio = "";
//

4.4.2. Construccion de cadenas.
Tambin se puede usar la siguiente sintaxis para construir cadenas.

// con una constante
String nombreEmpleado = new String("R. Daneel Olivaw");
// con una cadena vacia
String inicio = new String();
// copiando una cadena
String copiaEmpleado = new String(nombreEmpleado);
// con un arreglo de char
char vocales [] = {'a','e','i','o','u'};
String cadenaVocales = new String(vocales);

4.4.3. Concatenacion.
Para concatenar cadenas puede usar lo siguiente:

// Usando el operador +
System.out.println(" Nombre = " + nombreEmpleado );
// Puede concatenar primitivas y cadenas.
int edad = 22;
System.out.println(" Edad = " + edad );
// Mediante la funcin concat()
String nombre = "Elijah ";
String apellidos = "Baley ";
String nombreCompleto = nombre.concat(apellidos);


4.5. OPERACIONES CON CADENAS.

4.5.1. Longitud de una cadena.

String nombre = "Hari Seldon";
int longitud = nombre.length();
> 11

COMPUTACION I

18

4.5.2. Ubicar un carcter mediante un indice

String nombre = "Gladia Delmarre";
char c = nombre.charAt(0);
> G

4.5.3. Extraer una subcadena

// 0123456789012345
String nombre = "Blissenobiarella";
// 1234567890123456
String subCadena = nombre.substring(2,6);
> isse

4.5.4. Convertir a maysculas o minsculas.

String titulo = "Segunda Fundacion";
String mayusculas = titulo.toUpperCase();
String minusculas = titulo.toLowerCase();
> SEGUNDA FUNDACION
> segunda fundacion

4.5.5. Eliminar espacios del inicio y el final de la cadena.

String autor = " Isaac Asimov ";
String resaltar = "*"+autor.trim()+"*";
> *Isaac Asimov*

4.5.6. Ubicar una subcadena desde una ubicacin.

// 0123456789012
String alcalde = "Salvor Hardin";
int ubicacion1 = alcalde.indexOf("vor");
int ubicacion2 = alcalde.indexOf("r",7);
int ubicacion3 = alcalde.indexOf("h");
> 3
> 9
> 0

4.5.7. Comparando dos cadenas.

String password = "FGHPUW";
if password.equals("fgHPUw")
System.out.println("Correcto!");
Else
System.out.println("Error!");
> Error!

String password = "FGHPUW";
if password.equalsIgnoreCase("fgHPUw")
COMPUTACION I

19
System.out.println("Correcto!");
else
System.out.println("Error!");
> Correcto!

4.5.8. Comparando regiones de una cadena.

String url = "http://www.uni.edu.pe";
if (url.endsWith(".pe"))
System.out.println("Pagina Nacional");
else
System.out.println("Pagina Extranjera");

String parametro = "ip = 192.100.51.2";
if (parametro.startsWith("ip"))
System.out.println("La direccion "+parametro);
else
System.out.println("El parmetro no es una ip");

4.5.9. Obtener cadenas desde las primitivas.
Se utilizan funciones de la librera String

String seven = String.valueOf(7);
String unoPuntoUno = String.valueOf(1.1);
float pi = 3.141592;
String piString = String.valueOf(pi);
//

4.5.10. Obtener primitivas desde las cadenas.
Para esto se utilizan funciones de las libreras Integer y Float.

//
String alfa = "1977";
int alfaInteger = Integer.parseInt(alfa);
//
String beta = "19.77";
float betaFloat = Float.parseFloat(beta);

4.5.11. EJERCICIOS

// Bloque 1
String s = new String("Viernes");
if (s=="Viernes")
System.out.println("Respuesta A");
if (s.equals("Viernes"))
System.out.println("Respuesta B");
> ?
// Bloque 2
int num1 = 1234567;
System.out.println(String.valueOf(num1).charAt(3));
> ?
// Bloque 3
String s1 = "Lunes";
String s2 = "Martes";
System.out.println(s1.concat(s2).substring(4,8));
COMPUTACION I

20
> ?
// Bloque 4
// s3 inicia con 2 espacios y tambien termina con 2.
String s3 = " Lunes ";
System.out.println(s3.indexOf("es"));
System.out.println(s3.trim().indexOf("es"));
4.6. ARREGLOS DE CADENAS
4.6.1. Definicion
Un arreglo de cadenas tambin sigue los pasos de creacin de arreglos.

Declaracion String [] categoras;
Creacin categorias = new String[3];
Iniciacin. categorias[0] = "Drama";

// Creando una arreglo de cadenas vacias.
String [] arreglo = new String [4];
for ( int i = 0; i < arreglo.length; i++ ) {
arreglo[i] = new String();
}

// Creando e iniciando un arreglo.
String [] categorias = {"Drama", "Comedia", "Accion"};

// Accesando los elementos del arreglo
String [] categorias = {"Drama", "Comedia", "Accion"};
System.out.println(" Comedia = "+ categoras[1].length() );

4.6.2. Ejercicios

//
String [] categorias = {"Drama", "Comedia", "Accion", "Infantil"};
int indice = categoras.length 2;
System.out.println(categoras[indice].length() );
//
String [] categorias = {"Drama", "Comedia", "Accion", "Infantil"};
int indice = categoras.length 2;
System.out.println(categoras[indice].length() );

4.7. MAIN
main() cuenta con un nico parmetro que es un arreglo de cadenas.
Este arreglo de cadenas son los parmetros de la linea de comandos.

C:\> java Eco Hola Mundo
// Eco.java
package ejercicios;
public class Eco {
public static void main (String [] args) {
if (args.length != 2)
System.out.println("Uso: java Eco Arg1 Arg2");
else
System.out.println(args[0] + " " + args[1]);
}
}

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