Flujograma
Inicio Saberes Previos
Principios y fundamentos
Fundamentos POO
Objetivos de la sesion
Objetivos:
Conocer los principios, fundamentos y conceptualizar la programacin orientada a objetos (POO) manejando la clase String Abstraer el concepto de clase del mundo real y su aplicacin en la programacin orientada a objetos (POO) Alinear el concepto de la Clase String con el lenguaje de programacin Java.
Introduccin
Dentro
de un objeto de la clases String o StringBuffer, Java crea un array de caracteres de una forma similar a como lo hace el lenguaje C++. A este array se accede a travs de las funciones miembro de la clase.
Creacin de un String
Los
strings u objetos de la clase String se pueden crear explcitamente o implcitamente. Para crear un String implcitamente basta poner una cadena de caracteres entre comillas dobles. Por ejemplo: System.out.println("El primer programa"); Java crea un objeto de la clase String automticamente.
Creacin de un string
Para
escribir,
Creacin de un string
Para
crear un string nulo se puede hacer de estas dos formas String str=""; String str=new String(); Un string nulo es aqul que no contiene caracteres, pero es un objeto de la clase String..
Creacin de un string
Sin embargo, String str; est declarando un objeto str de la clase String, pero an no se ha creado ningn objeto de esta clase
Informacin de un string
podemos
obtener informacin relevante acerca del objeto String a travs de las funciones miembro. Para obtener el nmero de caracteres que guarda un string se llama a la funcin miembro length.
String str="El primer programa"; int longitud=str.length(); System.out.println("longitud cadena: "+longitud)
Informacin de un string
Una
vez creado un objeto de la clase String podemos obtener informacin relevante acerca del objeto a travs de las funciones miembro. Para obtener el nmero de caracteres que guarda un string se llama a la funcin miembro length. String str="El primer programa"; int longitud=str.length();
Informacin de un string
Podemos
conocer si un string comienza con un determinado prefijo, llamando al mtodo startsWith, que devuelve true o false, segn que el string comience o no por dicho prefijo String str="El primer programa"; boolean resultado=str.startsWith("El"); En este ejemplo la variable resultado tomar el valor true.
Informacin de un string
Ejemplo
de codigo: String str="El primer programa"; boolean resultado=str.startsWith("El"); if(resultado){System.out.println("si comineza");} else {System.out.println("no comienza");}
Informacin de un string
De
modo similar, podemos saber si un string finaliza con un conjunto dado de caracteres, mediante la funcin miembro endsWith. String str="El primer programa";
boolean resultado=str.endsWith("programa"); if(resultado){System.out.println("si finaliza");} else{System.out.println(no finaliza");}
Informacin de un string
Si
se quiere obtener la posicin de la primera ocurrencia de la letra p, se usa la funcin indexOf. String str="El primer programa"; int pos=str.indexOf('p'); System.out.println("Posicion de p"+pos);
Informacin de un string
Para
obtener las sucesivas posiciones de la letra p, se llama a otra versin de la misma funcin pos=str.indexOf('p', pos+1); El segundo argumento le dice a la funcin indexOf que empiece a buscar la primera ocurrencia de la letra p a partir de la posicin pos+1.
Informacin de un string
Codigo:
String str="El primer programa"; int pos=str.indexOf('p'); System.out.println("Posicion de p: "+pos); pos=str.indexOf('p', pos+1); System.out.println("Posicion de p: "+pos);
Informacin de un string
Otra
versin de indexOf busca la primera ocurrencia de un substring dentro del string. String str="El primer programa"; int pos=str.indexOf("pro");
Informacin de un string
Codigo:
comparacin de un string
As
pues, el mtodo equals compara un string con un objeto cualquiera que puede ser otro string, y devuelve true cuando dos strings son iguales o false si son distintos. String str="El lenguaje Java";
boolean resultado=str.equals("El lenguaje Java");
comparacin de un string
String str1="El lenguaje Java"; String str2=new String("El lenguaje Java"); if(str1==str2){ System.out.println("Los mismos objetos) }else{ System.out.println("Distintos objetos"); }
comparacin de un string
Codigo: String str1="El lenguaje Java"; String str2=new String("El lenguaje Java"); String str3="El Lenguaje Java";
if(str1==str2){ System.out.println("Los mismos objetos"); } else{System.out.println("Distintos objetos"); }
comparacin de un string
if(str1.equals(str2)){System.out.println("son la misma cadena");} else{System.out.println("son cadenas diferentes");} if(str1.equals(str3)){System.out.println("son la misma cadena");} else{System.out.println("son cadenas diferentes");} if(str1.equalsIgnoreCase(str3)){System.out.println("son la misma cadena");} else{System.out.println("son cadenas diferentes");}
comparacin de un string
La funcin miembro compareTo devuelve un entero menor que cero si el objeto string es menor (en orden alfabtico) que el string dado, cero si son iguales, y mayor que cero si el objeto string es mayor que el string dado.
comparacin de un string
Codigo:
int resultado; String str1="El lenguaje Java"; String str2=new String("El lenguaje Java"); String str3="El Lenguaje Java"; resultado=str1.compareTo(str2); if(resultado==0){System.out.println("son la misma cadena");} else{System.out.println("son cadenas diferentes");} System.out.println("Valor de Resultado: "+resultado);
comparacin de un string
Codigo:
//opcion 2 resultado=str1.compareTo(str3); if(resultado==0){System.out.println("son la misma cadena");} else{System.out.println("son cadenas diferentes");} System.out.println("Valor de Resultado: "+resultado);
Caso de aplicacion
Problema:
Se desea calcular el sueldo del personal que labora en la empresa sabiendo que el sueldo bsico y los descuentos varan segn se indica:
Cargo Gerente Jefe Analista Contador SueldoBasico 8000 5000 3000 4000 Dcto 4% 3% 2% 3% Horas Extras ----------3% mas Hora Nor. 2% mas Hora Nor.
Esta informacin es por mes y el sueldo se calcula segn el cargo y las horas trabajadas en la semana.
Proceso: si (cargo==Gerente){ sueHor= 8000/(30*8); sueldoBru = sueHor*numHor; descto = sueldoBru *0.04; sueldo=sueldoBru descto;} si (cargo==Jefe){ sueHor= 5000/(30*8); sueldoBru = sueHor*numHor; descto = sueldoBru *0.03; sueldo=sueldoBru descto;}
Fin de la Exposicin
Muchas Gracias