Variables en Java Generalidades Java Caractersticas del lenguaje
Variables en Java
Generalidades Java Características del lenguaje de Java. 1. Lenguaje simple. 2. Orientado a Objetos. 3. Distribuido. 4. Seguro. 5. Indiferente a la arquitectura. 6. Portable. 7. Interpretado y compilado a la vez. 8. Multihilo. 9. Dinámico. 10. Produce Applets 11. Alto rendimiento.
Generalidades Java
Generalidades Java
Generalidades Java
Java lenguaje tipado. Java es un lenguaje tipado y nos obliga a declarar nuestras variables antes de poder hacer uso de ellas, con esta declaración le indicamos al compilador el espacio en memoria que debe de reservar para almacenar la información. String nombre; nombre = «Pepito»
Java nombre de las variables El nombre debe ser único en el contexto del programa. Además debe seguir las siguientes reglas: • No puede ser una palabra reservada del lenguaje o un literal booleano (true o false). • Puede contener cualquier carácter Unicode, pero no puede comenzar con un número. • No debe contener los símbolos que se utilicen como operadores ( + , - , ? , etc ). • Por convención, los nombres de variables comienzan con una letra en minúscula. Si un nombre consiste en más de una palabra, se escribirá sin espacios entre ellas y cada palabra (salvo la primera) comenzará con una letra mayúscula (por ejemplo : esta. Bien. Este. Nombre )
Java variables primitivas Tipos de datos primitivos Tipo Tamaño y formato enteros Rango byte 8 bits - complemento a 2 -2^7 al 2^7 short 16 bits - complemento a 2 -2^15 al 2^15 int 32 bits - complemento a 2 -2^31 al 2^31 -1} long 64 bits - complemento a 2 -2^63 al 2^63 números reales float 32 bits - IEEE 754 double 64 bits - IEEE 754 otros char 16 bits - caracteres UNICODE 'u 0000' al 'uffff' boolean 1 bit true o false
Java captura de datos Imprimir mensajes en consola. System. out. println( «mensaje» ); Podemos crear variables previamente y pasarlos a la función para imprimir. String mensaje = «Hola mundo» ; System. out. println(mensaje);
Java captura de datos. Leer por consola. 1. 2. 3. 4. 5. Agregar el import respectivo: 1. Import java. util. Scanner; Declarar el Scanner 1. Scanner entrada. Escaner = new Scanner (System. in); Definir variables donde se almacenaran los datos. Escribir mensajes con System. out. println para indicar al usuario el dato que estamos solicitando. 1. System. out. println( «Por favor ingrese su nombre: » ); Leer el dato según el tipo con ayuda de la variable tipo Scanner. 1. 2. entrada. Escaner. next. Line(); entrada. Escaner. next. Int();
Condicionales Java La estructura condicional más simple en Java es el if, se evalúa una condición y en caso de que se cumpla se ejecuta el contenido entre las llaves {} o en caso de que se omitan se ejecuta el código hasta el primer “; ” por lo tanto si no se usan los {} la condición aplica solo a la siguiente instrucción al if. if (condicion) { ejecutar(); } // Los {} son opcionales cuando se desea correr una sola linea en el if if (condicion) ejecutar(); // Y mas compacto if (condicion) ejecutar();
Condicionales Java Por lo tanto el uso de las llaves es opcional cuando dentro de la condición hay una sola línea de código, pero puede generar errores si se añade más código que se espere que se ejecute bajo la condición si no recordamos que tenemos que añadir las llaves en estos casos. Para que se ejecute el código dentro de un if se debe de cumplir la condición que puede ser directamente un boolean o una comprobación que genere uno (==, <, <=, >, >=, !=, . equals() o cualquier otra función que devuelva true o false pudiendo ser la condición todo lo compleja queramos.
Condicionales Java // Si la temperatura es mayor que 25 if (temperatura > 25) { System. out. println("A la playa!!!"); } // Si hace. Sol es vedadero if (hace. Sol) { System. out. println("No te olvides la sombrilla"); } // Si esta nevando o hace sol if (nevando || hace. Sol) { System. out. println("Que bien"); }
Condicionales Java // Si nevando y la temperatura esta entre 20 y 30 if (nevando && (temperatura >= 20 && temperatura <= 30)) { System. out. println("No me lo creo"); } // Si la temperatura es menor que 0 o mayor que 30 y hace sol if ((temperatura < 0 || temperatura > 30) && hace. Sol) { System. out. println("Mejor me quedo en casa"); }
Condicionales Java If else en Java Con el if solo podemos hacer que se ejecute un fragmento de código o no pero en el caso de que no se cumpla la condición no se hace nada (sigue el flujo normal de ejecución) por lo que si queremos que se ejecute otra cosa cuando no se cumpla la condición solo con el if tenemos que hacer otro con la condición inversa provocando que se tenga que comprobar la condición 2 veces mientras que si usamos el else solo necesitamos hacer la comprobación una sola vez.
Condicionales Java // Usando solo ifs if (temperatura > 25) { System. out. println("A la playa!!!"); } if (temperatura <= 25) { System. out. println("Esperando al buen tiempo. . . "); } // Usando if con else // Si la temperatura es mayor que 25. . . y si no. . . if (temperatura > 25) { System. out. println("A la playa!!!"); } else { System. out. println("Esperando al buen tiempo. . . "); }
Condicionales Java If else if en Java El siguiente nivel es hacer el else condicional añadiendo un if para que si no se cumple la primera condición (la del if principal) se evalue esta nueva condición de modo que se puede concatenar la cantidad de if else que se necesiten para cubrir todos los distintos escenarios que precisen ser tratados de una forma particular, siendo el ultimo else el que se ejecute cuando no se cumpla ninguna condición (el else es siempre opcional).
Condicionales Java if (temperatura > 25) { // Si la temperatura es mayor que 25. . . System. out. println("A la playa!!!"); } else if (temperatura > 15) { // si es mayor que 15 y no es mayor que 25. . System. out. println("A la montaña!!!"); } else if (temperatura < 5 && nevando) { // si es menor que 5 y esta nevando y no es mayor que 15 ni // mayor que 25 System. out. println("A esquiar!!!"); } else { // si la tempera no es mayor que 25 ni que 15 ni menor que 5 si // esta nevando System. out. println("A descansar. . . z. Zz"); }
Condicionales Java If anidados Es posible anidar ifs para reorganizar las condiciones o hacerlas más sencillas lo que en muchas ocasiones hace el código más fácil de leer, a continuación una de las posibles formas posibles para reescribir el ejemplo anterior. if (temperatura > 15) { if (temperatura > 25) { // Si la temperatura es mayor que 25. . . System. out. println("A la playa!!!"); } else { System. out. println("A la montaña!!!"); } } else if (temperatura < 5) { if (nevando) { System. out. println("A esquiar!!!"); } } else { System. out. println("A descansar. . . z. Zz"); }
Condicionales Java El operador ternario ? : en Java En ocasiones un if se utiliza simplemente para obtener un valor u otro en función de si una se cumple una condición o no, en estos casos se puede sustituir la estructura if else por el operador ternario u operador condicional que tiene la sintaxis resultado = condicion ? valor_si_se_cumple : valor_si_no_se_cumple los valores tanto para el caso de que se cumpla como para el que no pueden ser valores directamente como un texto o un entero o llamadas a funciones que devuelvan un objeto del tipo esperado. // Ejemplo 1 String que. Hacer = (temperatura > 25) ? "A la playa!!!" : "Esperando al buen tiempo. . . "; // Ejemplo 2 double numero = (temperatura > 10) ? (Math. random() * 10) : 0; // Ejemplo 3 Comida mi. Comida = cansado ? pedir. Comida("china") : hacer. Comida();
Condicionales Java Switch en Java Con el switch se puede hacer un control del tipo if else if… más estructurado pero en realidad no exactamente igual puesto que con el switch lo que se hace es definir un conjunto de casos que van a tener una ejecución distinta y se ejecutará el caso que coincida con el valor indicado en el switch.
Condicionales Java switch (variable) { case valor_1: case valor_2: // Ejecutar si el valor de variable es igual a valor_1 o a valor_2 ejecutar. A(); break; // Salir del switch case valor_3: // Ejecutar si el valor de variable es igual a valor_3 ejecutar. B(); break; // Salir del switch default: // Ejecutar si el valor de varible es distinto del resto de casos ejecutar. C(); break; // Salir del switch }
Condicionales Java Por lo tanto el switch es la mejor opción cuando tenemos un conjunto de valores esperados (if con == o . equals()) porque es más legible y más limpio, imagina por ejemplo sacar el nombre del dia de la semana a partir de su número, con un if else necesitamos 7 elses… pero es completamente inservible para condiciones en las que se hacen comparaciones del tipo < o > por que controlar todos los posibles valores puede ser una locura, suponiendo que el rango no esté muy acotado que entonces si sería una opción valida.
Condicionales Java // Switch con int como condicion Integer dia = Calendar. get. Instance(). get(Calendar. DAY_OF_WEEK); switch (dia) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: } System. out. println("Domingo"); System. out. println("Lunes"); System. out. println("Martes"); System. out. println("Miercoles"); System. out. println("Jueves"); System. out. println("Viernes"); System. out. println("Sabado"); break; // default: es opcional
Condicionales Java // Switch con String como condicion String tipo. Vehiculo = "coche"; switch (tipo. Vehiculo) { case "coche": System. out. println("Puedes pasar de 00: 00 a 08: 00"); break; case "camion": System. out. println("Puedes pasar de 08: 00 a 16: 00"); break; case "moto": System. out. println("Puedes pasar de 16: 00 a 24: 00"); break; default: System. out. println("No se puede pasar con un " + tipo. Vehiculo); break; }
Condicionales Java De los dos ejemplos anteriores podemos sacar que el número de casos es variable según las necesidades y que el caso por defecto (el que se ejecuta cuando no se cumple otro igual que el else de un if) es opcional por lo que lo podemos omitir si no se requiere ninguna acción especial para ese caso o si simplemente sabemos que no existe otra opción como sucede con los días de la semana. Y si se quiere que en varios casos se ejecute la misma lógica no es necesario repetirla una y otra vez para cada caso, en su lugar podemos agrupar los casos y eliminar los break intermedios que hacen que se salga del switch. Por ejemplo para realizar una acción para los días laborables y otra distinta para los festivos se hace del siguiente modo.
Condicionales Java switch (dia) { case 2: case 3: case 4: case 5: case 6: break; case 1: case 7: break; default: } break; System. out. println("Dia laboral"); System. out. println("Fin de semana"); System. out. println("La semana solo tiene 7 dias"); Por ejemplo si fuese martes entraría por el 3, sigue por el 4, 5 y 6 imprime el texto “Dia laboral” y termina, es decir cuando entra en el switch ejecuta todo el código que encuentre hasta que se termine o hasta que se encuentre un break por lo que podemos aprovechar esto para casos en los que los casos no ejecutan lógica excluyente si no que lo que hacen es añadir más funcionalidad. Un ejemplo muy simple para ver esto es sacar el número de días restantes hasta el fin de semana partiendo del ejemplo anterior.
Condicionales Java Integer dias. Hasta. Fin. Semana = 0; switch (dia) { case 2: dias. Hasta. Fin. Semana++; case 3: dias. Hasta. Fin. Semana++; case 4: dias. Hasta. Fin. Semana++; case 5: dias. Hasta. Fin. Semana++; case 6: System. out. println("Dia laboral: Dias restantes hasta el fin de semana: " + dias. Hasta. Fin. Semana); break; case 1: case 7: System. out. println("Fin de semana"); break; default: System. out. println("La semana solo tiene 7 dias"); break; }
Estructuras repetitivas En Java hay 3 tipos de sentencias de control (for, while y do while) para ejecutar un código un número determinado de veces y aunque sabiendo usar un solo tipo te las puedes arreglar para hacer cualquier cosa siempre hay un tipo de bucle más apropiado para cada situación, si no solo habría uno ¿no? Bucle while en java El bucle while es tan sencillo como decir mientras se cumpla la condición se ejecuta el código que haya dentro del bucle, y en el momento que ya no se cumpla esa condición se sale del bucle. while (condicion) { . . . } Por lo tanto este tipo de bucle es el idóneo cuando necesitamos que un fragmento de código se repita un número de veces variable.
Estructuras repetitivas Ejemplo de uso del bucle while Un ejemplo claro de un bucle que no sabemos cuantas veces se va a ejecutar es cuando le pedimos al usuario que introduzca algo por teclado, porque se puede equivocar o introducirlo mal porque le apetezca. public int leer. Numero() { Scanner sc = new Scanner(System. in); int numero = -1; while (numero <= 0) { System. out. println("Introduce un numero positivo: "); numero = sc. next. Int(); } sc. close(); return numero; } En este ejemplo no se hace control de excepciones por lo que si el usuario mete algo que no se un número el programa fallaría.
Estructuras repetitivas Bucle do while en java El bucle do while es prácticamente igual al while, pero con la diferencia de que el código del bucle se ejecutara al menos una vez ya que la comprobación se hace después de cada iteración y no antes como en el caso del while. do { . . . } while (condicion) Este tipo de bucle es el idóneo cuando necesitamos que un fragmento de código se ejecute al menos una vez y dependiendo de las circunstancias puede ser que se vuelva a repetir un número indeterminado de veces o ninguna.
Estructuras repetitivas Ejemplo de uso del bucle do while Un ejemplo claro de bucle do while puede ser el siguiente, en el que necesitamos obtener un número par aleatorio menor que el que nosotros le digamos. public void numero. Par(int numero) { System. out. println("Numero par menor que: " + numero); int n; do { n = (int) (Math. random() * numero); System. out. println(n); } while (n % 2 != 0); System. out. println("Y el numero par elegido es: " + n); } Esta claro que al menos se tiene que ejecutar una vez para tener un número aleatorio y si el número aleatorio no es par pues tendrá que repetirse hasta que si que lo sea.
Estructuras repetitivas Bucle for en java El bucle for sirve para ejecutar un código un número conocido de veces, por ejemplo recorrer un array o cualquier otro tipo de colección o simplemente ejecutar el código un número concreto de veces. En java hay dos posibles tipos de bucle for: El más habitual es en el que se establece el numero desde el que va a empezar el bucle, hasta cuando se va a seguir ejecutando el bucle y finalmente el modo en el que se actualiza el contador del bucle, que aunque habitualmente lo que se hace es incrementar en una unidad el contador esto no tiene que ser obligatoriamente así.
Estructuras repetitivas for (inicializacion; condicion; actualizacion) { . . . } El otro formato de bucle for es el ideal para recorrer colecciones de objetos sean del tipo que sean (arrays, Array. List, Hash. Map, . . . ) y en este caso hay que definir un iterador que nos devolverá un elemento de la colección en cada iteración y la colección que se quiere recorrer. for (iteredor; coleccion) { . . . }
Estructuras repetitivas Ejemplos de uso del bucle for Este es un ejemplo muy sencillo de bucle for en el que lo único que hacemos es imprimir por pantalla los números entre 1 el numero que nosotros queramos y como puedes ver en este caso al contrario que como ocurre en los bucles while y do while sabemos con certeza el numero de veces que se va a ejecutar el bucle. public void contar. Hasta(int numero) { System. out. println("Cuenta hasta: " + numero); for (int i = 1; i <= numero; i++) { System. out. println(i); } }
Estructuras repetitivas Visto lo sencillo del ejemplo anterior vamos a ver lo sencillo que es recorrer una colección de objetos si usamos el otro modelo de bucle for. public void ver. Dias. Semana() { String[] dias = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"}; System. out. println("Los dias de la semana son: "); for (String d: dias) { System. out. println(d); } }
Estructuras repetitivas En este caso lo que estamos recorriendo es un array que también se podría recorrer de forma sencilla con la otra forma de bucle for aunque como podrás ver nos obliga a escribir algo más de código, por lo que para recorrer cualquier tipo de colección normalmente usaremos la opción anterior. public void ver. Dias. Semana. V 2() { String[] dias = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"}; System. out. println("Los dias de la semana son: "); for (int i = 0; i < dias. length; i++) { System. out. println(dias[i]); } }
Manejo de cadenas Los String son un herramienta muy potente a la hora de programar, saberlos manipular nos abre un abanico de posibilidades para resolver los problemas que se nos puedan presentar.
Manejo de cadenas Propiedades de los Strings. Ahora vamos a ver las propiedades de los Strings, las cuales son de mucha utilidad cuando necesitamos obtener información que va adentro de uno de estos. Veremos solo los mas importantes para no ampliarnos mucho en este tema. Para las propiedades que manejan posiciones dentro de un String, vale la pena indicar que los Strings, comienzan en la posición 0(cero) hasta la posición n de izquierda a derecha, así por ejemplo, si tenemos un String cuyo valor es “Typing Code”, Cada letra ocuparía su posición de acuerdo a la siguiente tablita.
Manejo de cadenas T y p i n g C o d e 0 1 2 3 4 5 6 7 8 9 10 Noten que se empieza a contar en la posición 0 y se suma uno por cada posición hasta el ultimo carácter ingresado. (Si dejáramos espacios en blanco al principio o al final del String, serán tomados en cuenta en las posiciones también)
Manejo de cadenas char. At : Esta propiedad nos devuelve el carácter que se encuentra en una posición espécifica. Su sintaxis es la siguiente: string. char. At(indice); referencia dentro del string. Nos devuelve un carácter. Ejemplo: donde índice le indica la posición a la cual estamos haciendo String str = “Typing Code”; char letra = str. char. At(2); System. out. println(“Caracter en la posicion indicada “+letra); En la consola estaría devolviendo: Caracter en la posicion indicada g, ya que en la posición 2 del String se encuentra la letra umg (Recordar que se empieza en la posición 0)
Manejo de cadenas concat: Propiedad que nos sirve para concatenar (unir, lo que tenemos en una cadena con lo que tenemos en otra cadena. ) Su sintaxis es la siguiente. string 1. concat(string 2) Nos devuelve un string. Ejemplos: 1) String str 1 = “Typing “; String str 2 = “ Code”; System. out. println(str 1. concat(str 2)); 2) String str 1 = “Typing “; System. out. println(str 1. concat(“ Code”)); En los dos ejemplos nos imprimiría en consola: Typing Code. Tomar nota que la concatenación generalmente la utilizamos simplemente con el signo +, quedando System. out. println (str 1 + str 2); lo cual nos daría como resultado el mismo que usando concat.
Manejo de cadenas Index. Of: Uso 1 Esta función nos permite conocer en que posición de un String se encuentra determinado carácter. Su sintaxis es la siguiente: string. index. Of(caracter); Nos devuelve un entero. Ejemplo: String str = “Typing Code”; int posicion = str. index. Of(‘C’); System. out. println(“La letra C se encuentra en la posición ”+posicion); Tomar en cuenta que si existiera la letra g 2 veces en la cadena, nos va a devolver la posición de la primera vez que aparece.
Manejo de cadenas index. Of: Uso 2 En las funciones existe el poliformismo, es decir, otra forma de usar el index. Of. En este caso el index. Of a partir de que posición queremos que empiece a evaluar, es decir, va a ignorar las posiciones anteriores, pero la posición si sería absoluta en relación a la cadena evaluada. La sintaxis sería la siguiente: string. index. Of(caracter, posicion. Inicio); Ejemplo: String nombre = “Typing Code”; System. out. println(“Posición en la que aparece la e “+nombre. index. Of(‘e’, 1); En este caso nos devolveria la posicion 10 porque ahi s eencuentra la siguiente e.
Manejo de cadenas index. Of: Uso 3 En este tercer uso index. Of recibe un String y evalua en que parte de la cadena a evaluar hay coincidencias con la otra cadena que le estamos enviando. Sintaxis: string. index. Of(cadena. Buscar); Ejemplo: String nombre = “Typing Code”; String buscar = “ping”; System. out. println(“Se encontro la coincidencia ping a partir de la posición “+nombre. index. Of(buscar); En este caso nos devolvería 6 ya que desde esa posición coincide ucu en la cadena.
Manejo de cadenas Index. Of: Uso 4 Este caso funciona igual que el 2 solo que en vez de recibir un carácter y un entero recibe un string y un entero. El ejemplo es similar al anterior. length: Esta propiedad devuelve la longitud de la cadena, o sea la cantidad de letras o espacios que contiene. La sintaxis es la siguiente: string. length(); Ejemplo. String nombre = “Typing Code”; int longitud = nombre. length(); Sistem. out. println(“El nombre contiene “+longitud+” letras”); Nos devolvería 10 que es la cantidad de caracteres que tiene. (la propiedad toma en cuenta todos los espacios).
Manejo de cadenas replace: Nos reemplaza todos los caracteres como el que le enviamos en la cadena en cuestion. Sintaxis: string. replace(caracter); Ejemplo: String nombre = “Typing Code”; String nombre. Cambiado = nombre. replace(‘y’, ‘a’); System. out. println(nombre. Cambiado); En este caso la salida seria “Taping Code”. Ya que reemplazaria todas las u’s que encuentre con a’s.
Manejo de cadenas replace. All: Nos reemplaza todas las coincidencias de un texto o Expresión Regular dentro de la cadena por un string que nosotros queramos definer. La sintaxis es la siguiente: string. replace. All(expresion. Regular. Ocadena, string. Sustituto); Ejemplos: 1) String cadena = “Guatemala 19 de marzo del 2013”; String expresion. Regular = “[0 -9]+”; //Cualquier numero String salida = cadena. replace. All(expresion. Regular, “NUM”); System. out. println(salida); En este caso la salida sería “Guatemala NUM de marzo del NUM”, sustituyo todas las coincidencias de la expresión regular con NUM. 2) String cadena = “Guatemala 18 de marzo del 2013”; String salida = cadena. replace. All(“Guatemala”, “”); System. out. println(salida); Este caso nos imprimiria en consola 18 de marzo del 2013, ya que sustitutiria cualquier coincidencia de “Guatemala” con una cadena vacia, es decir solo eliminaria la palabra Guatemala.
Manejo de cadenas substring: Uso 1 En este caso substring nos devuelve una cadena recortada a partir de la posicion que le enviemos hasta el final de la misma. Sintaxis: string. substring(posicion); Ejemplo: String nombre = “Typing Code Guatemala”; String resultado = nombre. substring(11); System. out. println(resultado); nos imprimiria en pantalla “Guatemala”; ya que recortaria a partir de la posicion 7 hasta el final.
Manejo de cadenas substring: uso 2 Este es similar al anterior, pero en este caso le enviamos 2 parámetros, la posición inicial, y la posición final, o sea, desde donde hasta donde queremos que nos recorte. Sintaxis: string. substring(posicion. Inicial, posicion. Final); Ejemplo: String nombre = “Typing Code”; String resultado = nombre. substring(0, 5); System. out. println(resultado); Nos imprimiría en pantalla “Typing” ya que recorta desde la posición 0 a la 5.
Manejo de cadenas to. Lower. Case: Esta función nos devuelve la cadena ingresada con puras minúsculas. Sintaxis: string. to. Lower. Case(); Ejemplo: String original = “Len. Gu. Aj. E d. E Re. DEs s. Oc. Ia. Le. S”; String resultado = original. to. Lower. Case(); System. out. println(resultado); Este ejemplo nos imprimiría en pantalla “lenguaje de redes sociales”, nos lo puso todo en minúsculas. To. Upper. Case: Funciona al contrario del anterior, o sea nos lo transforma todo a mayúsculas.
Manejo de cadenas matches: Compara una cadena con una Expresión regular, devuelve true si coincide o false si no coincide. Sintaxis: string. matches(expresion. Regular); Ejemplo: String expresion. Regular = “[A-Za-z]+”; //cualquier letra mayúscula o minúscula sin tildes, sin espacios y sin números. String cadena = “expresion 1”; if (cadena. matches(expresion. Regular)){ System. out. println(“coincide”); } else { System. out. println(“No coincide); } Imprimiria no coincide ya que la cadena contiene un numero y solo acepta letras. Probar cambiando valores y viendo los resultados. Hay que tener claro el uso de las expresiones regulares para comprender a fondo el uso de matches.
Manejo de cadenas split: Devuelve un vector (Array), con tantas posiciones como caracteres encuentre del parametro que le enviamos. Sintaxis: string. split(string. ASeparar); Ejemplo. String nombre = “Nery Estuardo Yucute Castellanos”; String vector[] = nombre. split(“ “); En este caso nos quedaría un vector de 4 posiciones, ya que le estamos diciendo que nos lo separe por cada espacio en blanco que encuentre. Nota: También le podemos enviar una expresión Regular y nos arma un vector separando por cada coincidencia que encuentre sobre la expresión regular enviada.
Manejo de cadenas trim: Devuelve un string eliminando todos los espacios en blanco que encuentre al principio y al final de la cadena. Sintaxis: string. trim(); Ejemplo. String prueba = “ Guatemala tu nombre inmortal “; String respuesta = prueba. trim(); System. out. println(respuesta); Nos imprimiría en la consola “Guatemala tu nombre inmortal”.
Manejo de cadenas equals: Devuelve true si una cadena es igual a la otra y false en caso contrario. Hace distinción de mayúsculas y minúsculas Sintaxis: string. equals(string. Acomparar); equals. Ignore. Case: Devuelve true si una cadena es igual a la otra y false en caso contrario. No hace distinción de mayúsculas y minúsculas. Sintaxis: string. equals. Ignore. Case(String. Acomparar); Estos dos últimos los usamos generalmente para validar si un string es igual a otro según su texto explicito o según su significado.
Casting Transformación de tipo de dato primitivo a String Las transformaciones de datos son muy importantes porque permiten trabajar dentro de un programa con diferentes tipos de datos y traspasar valores entre variables. • Por ejemplo: ¿cómo se transforma un entero a un número de punto flotante? ¿Y un número a string? ¿O un string a número entero? • Para lograr las transformaciones se cuenta con dos formas generales: 1) uso del CASTING (transformación de tipos de datos) 2) uso de métodos especiales
Casting Transformación a través del "casting" • • El casting permite transformar tipos de datos "equivalentes" entre sí. Es decir, sólo permite transformar tipos de datos primitivos a primitivos (char, boolean, int, long, float, etc. ) u objetos a otros objetos (a estudiar más adelante). Para aplicar el CASTING se utiliza la notación: • (tipo_de_datos) valor que transforma el valor al tipo de datos entre paréntesis. • Ejemplos: • (int) 3. 8 F • (float) -34 • (char) 64 • (int) 'A' devuelve 3 (del tipo int) devuelve -34. 0 (del tipo float) devuelve '@' (del tipo char) devuelve 65 (del tipo int - código ASCII del carácter) • (double) 2. 71828 F devuelve 2. 718280076980591 D (de tipo double) •
Casting Transformación a través de métodos especiales Los métodos siguientes se utilizan para transformar datos primitivos a strings. Devuelven la representación en forma de string del valor pasado como parámetro de entrada. String. value. Of(byte valor) -> String. value. Of(short valor) -> String. value. Of(int valor) -> String. value. Of(long valor) -> String. value. Of(float valor) -> String. value. Of(double valor) -> String. value. Of(char valor) -> String. value. Of(boolean valor) -> String. value. Of(123) String. value. Of(3. 1415927 D) String. value. Of('@') String. value. Of(true) devuelve el string "123". devuelve el string "3. 1415927". devuelve el string "@". devuelve el string "true".
Casting Transformación de tipos de datos primitivos a String Representación interna de la transformación de datos: String. value. Of(123) devuelve el string "123". String. value. Of(3. 1415927 D) devuelve el string "3. 1415927". String. value. Of('@') devuelve el string "@". String. value. Of(true) devuelve el string "true".
Casting Transformación de String a tipos de datos primitivos Funciones adicionales en otras bibliotecas: Las funciones mostradas más abajo permiten transformar strings numéricos o booleanos al tipo de datos primitivo indicado. Estas son: Byte. parse. Byte(String valor) -> byte Short. parse. Short(String valor) -> short Integer. parse. Int(String valor) -> int Long. parse. Long(String valor) -> long Float. parse. Float(String valor) -> float Double. parse. Double(String valor) -> double Boolean. parse. Boolean(String valor) -> boolean
Casting Transformación de String a tipos de datos primitivos Representación interna de la transformación de datos: Byte. parse. Byte("-100") devuelve el entero byte -100. Short. parse. Short("30000") devuelve el entero short 30000. Integer. parse. Int("-1") devuelve el entero int -1. Long. parse. Long("56") devuelve el entero long 56 L.
Casting Transformación de String a tipos de datos primitivos Representación interna de la transformación de datos (continuación): Float. parse. Float("-1. 1") Double. parse. Double("2 E 34") Boolean. parse. Boolean("true") devuelve el número float -1. 1 F. devuelve el número double 2 E 34. devuelve el booleano true.
Variables en Java
- Slides: 63