Blogia
Ronny Estredo

UNEFA

Sesión 3. JAVA.

Sesión 3. JAVA.

Las Cadenas en Java.

Hasta ahora hemos visto tipos de datos numéricos en nuestros ejercicios, sin embargo, frecuentemente se hace necesario utilizar datos alfanúmericos o cadenas.  Java maneja las cadenas muy diferente a otros lenguajes.

En Java las cadenas son objetos de las clases predefinida String o StringBuffer, que están incluidas en el paquete java.lang.*. (El paquete de lenguaje Java, también conocido como java.lang, contiene las clases que son el corazón del lenguaje Java.)

Siempre que aparecen conjuntos de caracteres entre comillas dobles, el compilador de Java crea automáticamente un objeto String.
Los caracteres de las cadenas tienen un índice que indica su posición. El primer carácter de una cadena tiene el índice 0, el segundo el 1, el tercero el 2 y así sucesivamente. Esto puede sonar familiar a los programadores de C/C++

Como se declara?

String variableCad = new String("Valor Cadena");

También se puede escribir, alternativamente

    String str="Valor Cadena";

Para crear un string nulo se puede hacer de estas dos formas

    String str="";
    String str=new String();

Un string nulo es aquél que no contiene caracteres, pero es un objeto de la clase String. Sin embargo,

    String str;

está declarando un objeto str de la clase String, pero aún no se ha creado ningún objeto de esta clase.
Observamos que al declarar ademas podemos asignar  una  valor fijo o inicial (no obligatorio).

Aquí hay 5 Operaciones básicas, comunes a String y StringBuffer:

length()    Devuelve el número de caracteres de la cadena.
charAt(n)    Donde n  es un número que indica la posición dentro de la cadena
substring(inicio,fin)    Devuelve una subcadena desde una posicion inicial hasta una posición final
toLowerCase()    Devuelve una conversion en minúsculas de la cadena
toUpperCase()    Devuelve una conversion en mayúsculas de la cadena

Ejemplificación de casos  aplicados a cadenas.

Cómo se obtiene información acerca del string

Una vez creado un objeto de la clase String podemos obtener información relevante acerca del objeto a través de las funciones miembro.

Para obtener la longitud, número de caracteres que guarda un string se llama a la función miembro length.

    String str="El primer programa";
    int longitud=str.length();
Podemos conocer si un string comienza con un determinado prefijo, llamando al método startsWith, que devuelve true o false, según 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.
De modo similar, podemos saber si un string finaliza con un conjunto dado de caracteres, mediante la función miembro endsWith.

    String str="El primer programa";
    boolean resultado=str.endsWith("programa");
Si se quiere obtener la posición de la primera ocurrencia de la letra p, se usa la función indexOf.

    String str="El primer programa";
    int pos=str.indexOf(’p’);
Para obtener las sucesivas posiciones de la letra p, se llama a otra versión de la misma función

    pos=str.indexOf(’p’, pos+1);
El segundo argumento le dice a la función indexOf que empiece a buscar la primera ocurrencia de la letra p a partir de la posición pos+1.

Otra versión de indexOf busca la primera ocurrencia de un substring dentro del string.

    String str="El primer programa";
    int pos=str.indexOf("pro");
Vemos que una clase puede definir varias funciones miembro con el mismo nombre pero que tienen distinto número de parámetros o de distinto tipo.

La comparación de strings nos da la oportunidad de distinguir entre el operador lógico == y la función miembro equals de la clase String. En el siguiente código

        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");
    }
    if(str1.equals(str2)){
        System.out.println("El mismo contenido");
    }else{
        System.out.println("Distinto contenido");
    }        

Esta porción de código devolverá que str1 y str2 son dstintos objetos pero con el mismo contenido. str1 y str2 ocupan posiciones distintas en memoria pero guradan los mismos datos.

Cambiemos la segunda sentencia y escribamos

        String str1="El lenguaje Java";
        String str2=str1;
    System.out.prinln("Son el mimso objeto "+(str1==str2);

Los objetos str1 y str2 guardan la misma referencia al objeto de la clase String creado. La expresión (str1==str2) devolverá true.

Asñi pues, el método 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");

La variable resultado tomará el valor true.
        
Ejercicio  práctica.

Programa que lee el nombre de un empleado, los días que trabajó y el sueldo diario.  Calcula

Su sueldo básico.
Deducción de SSO 4% del Sueldo Básico.
Deducción de LPH 1% del Sueldo Básico.
Deducción de PF 0.5% del Sueldo Básico.
Total de Deducciones.
Y Calcula un Bono del 30% sobre el Sueldo Básico.

(La finalidad es  

import java.util.Scanner;
public class ronny {

    public static void main(String[] args) {
        Scanner teclado=new Scanner(System.in);
        String nombreEmp = new String();
        int sb,dt,sd;
        float sso,lph,pf,td,bono;

           System.out.println("PRUEBA DE DATOSS EN JAVA por " + nombreEmp);
        System.out.print("Ingrese Ingrese el nombre del empleado:");
        nombreEmp=teclado.next();
        System.out.print("Ingrese la cantidad de dias trabajados por el empleado:");
        dt=teclado.nextInt();

        System.out.print("Ingrese la lo ganado diario por el empleado:");
        sd=teclado.nextInt();
        sb=sd*dt;
        sso=sb*4/100;
        lph=sb*1/100;
        pf=sb*0.5f/100;
        td=sso+lph+pf;
        bono=sb*30/100;
        System.out.println("Recibo de Pago del Empleado: " + nombreEmp.toUpperCase());
        System.out.println("El sueldo básico a pagar es :" +sb);
        System.out.println("la deduccion de seguro es  :" +sso);
        System.out.println("la deduccion de ley politica es  :" +lph);
        System.out.println("la deduccion de paro forsozo es  :" +pf);
        System.out.println("__________________________________________" );
        System.out.println("EL TOTAL DE DEDUCCIONES A PAGAR ES :" +td);
        System.out.println("__________________________________________" );
        System.out.println("tiene un Bono de 30% correspondiente a Bs.:" +bono);
    }
}



La finalidad del ejercicio es integrar diferentes tipos de datos, hacer cálculos aritméticos entre ellos  y poner a prueba los métodos de la clase string

¿Y esta publicidad? Puedes eliminarla si quieres

Sesión 2. JAVA.

Sesión 2. JAVA.
Como Leer un valor o dato en java desde consola.

En este caso, debemos  utilizar  la clase Scanner que se encuentra en el paquete java.util de la siguiente manera:                                   import java.util.Scanner;

las clases se importan al inicio del código.

Posteriormente, antes de declarar las variables en la función main, se debe hacer una instancia de clase,  es decir,  crear un objeto de lectura a partir de la clase que importamos.
Scanner teclado=new Scanner(System.in);

Ahora que todo está declarado,  podemos leer datos. Observe en los ejemplos:

System.out.print("Ingrese un valor entero: ");
variableentero=teclado.nextInt();
System.out.print("Ingrese un valor real: ");
costoHora=teclado.nextFloat();

Estructura Condicional (If): Se utiliza para crear condiciones o toma de decisiones programadas..
Sintaxis:

If   {

        }
else  {

          }

Nota: No es obligatorio usar un else en una condición.

Operadores Relacionales:
>  (mayor)    
<  (menor)
>= (mayor o igual)
<= (menor o igual)
== (igual)
!= (distinto)

lógicos (&&, ||)

Operadores Matemáticos:
+ (más)
- (menos)
* (producto)
/ (división)
% (módulo o resto de una división entera.)  Ej.:  x=13%5;  {se guarda 3}


Estructura While: Repite un bloque de instrucciones mientras se cumpla la condición

Sintaxis:

While    {

                }    Estructura For Repite un bloque de instrucciones desde un valor inicial hasta un valor final usando contador.

Sintaxis:
 For (variable=valor inicial;;variable++)   {

       }

Sesión 1. Java.

Sesión 1.  JAVA.

Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. Con respecto a la memoria, su gestión no es un problema ya que ésta es gestionada por el propio lenguaje y no por el programador.

Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.

Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es).

2 Cosas que debemos saber:

 Todo programa en Java requiere como mínimo una clase, por consiguiente lo primero que se escribe en el código es:
    public class Clase1 {

}
    
El nombre de la clase lo determina el usuario.

 Todo programa en Java debe definir la función main. Esta función la debemos codificar dentro de la clase:  en este caso, "Clase1".

Procedemos a tipear lo siguiente:

    public class Clase1 {

    public static void main(String[] parametro) {

    }
    
}    


Ahora si queremos ver que nuestro programa diga algo como "Hola Mundo UNEFA"  escribimos

    public class Clase1 {

    public static void main(String[] parametro) {

        System.out.println("Hola Mundo UNEFA");
    }
    
}    

Podemos Observar ya en este ejemplo que  System.out.println  es la instrucción  que permite imprimir un valor y saltar una línea.  Eso quiere decir que también existe que  System.out.print.

 Observaciones:
 Toda Instrucción en Java debe terminar en ;

 El nombre de la clase no puede tener espacios en blanco, comienza con una letra mayúscula y en caso de estar constituida por dos o más palabras el primer caracter va en mayúsculas, no puede empezar con un número, pero si puede llevar números a partir del segundo caracter.


 La función main tiene una llave de apertura y una llave de cierre (similar a la clase). La función main debe estar contenida en la clase.

 En Java las palabras claves deben ir obligatoriamente en minúsculas, sino se produce un error sintáctico.

 se propone que el nombre de las variables comience con minúsculas (un nombre de variable no puede tener espacios en blanco, empezar con un número, ni tampoco utilizar caracteres especiales). Debemos buscar siempre nombres de variables que nos indiquen que almacenan (no es conveniente llamar a nombres de variables con letras individuales)

 Si voy a declarar variables, es necesario hacerlo al inicio  de la funcion. Su forma es sencilla: se coloca  el tipo seguido de espacio y la variable finalizando con ;  

Por ejemplo:
int edad;
float costo;
float sueldo;

También existen byte, short, long, char, boolean.

¿Y esta publicidad? Puedes eliminarla si quieres

Bienvenidos Grupo Lenguaje de Programación III UNEFA

Bienvenidos Grupo Lenguaje de Programación III UNEFA

 

 

 

Bienvenidos  Alumnos inscritos en la Materia "Lenguaje de Programación III".

 

El Tema o Categoría UNEFA  tiene como propósito, presentar contenido teórico referente  a la materia, así como también, ser un soporte de información necesario para guiar el proceso de Enseñanza - Aprendizaje durante el curso.

 

Espero sea del agrado de Todos y que disfruten esta experiencia...

 

 

Ronny. Estredo.

Profesor.

¿Y esta publicidad? Puedes eliminarla si quieres