Tipo Objetos, Strings, Arrays y Envoltorios

Tipos Objetos

Existen 4 tipos de variables del tipo objeto:
  • Objetos de la biblioteca standar de Java, el fundamental será "String"
  • Los arreglos o Arrays(También conocidos como vectores o matrices)
  • Los objetos que nosotros mismo crearemos
  • Las variables de clase Wrapped o envolvente que convienten a los tipos primitivos en objetos(int, char, boolean,etc)

Strings o cadenas de textos

Los "Strings" del inglés "cadena" serán nuestras cadenas de textos: en ellas podremos guardar caracteres alfanúmericos, es decir las letras del alfabeto latino y los números arábigos.
  1. String cadenaTexto = "Si ya sabes lo que tienes que hacer y no lo haces entonces estás peor que antes.";
  2. String ejemplo2 = "Al final, lo que importa no son los años de vida, sino la vida de los años.";
La clase string cuenta con muchisimos métodos que iremos usando, podés hecharle un vistazo en la API Specification de Java aquí aunque sólo en ingles, algunos de los mas importantes:
  • compareTo(String anotherString) compara con otro string.
  • compareToIgnoreCase(String str) compara otro string ignorando las mayus/minus.
  • length() devuelve un entero con el tamaño de caracteres del string.
  • replace(char oldChar, char newChar) reemplaza un caracter por otro.
  • toCharArray() convierte el string en un array de chars.
  • toLowerCase() convierte los caracteres en miniscúlas.
  • toUpperCase() covierte los caracteres en mayúsculas.

Esta vez, al código le pasamos dentro del método "System.out" un parámetro, que es el objeto "String" al que llamamos "cadena" y que contiene el valor de "Hola mundo".

  1. public class Hola {
  2.     public static void main (String[] args) {
  3.         String cadena = "Hola mundo" ;
  4.         System.out.println(cadena);
  5.     }
  6. }
Si te preguntas como se hace para guardar dentro del string por ejemplo las comillas, porque nuestro compilador entiende que es el fin del contenido del String y desconoce lo que sigue, es hora de usar los Caracteres Especiales mediante la barra invertida "\"
  • \' Comillas simples
  • \" Comillas dobles
  • \\ Barra inclinada
  • \t Tabular
  • \b Retroceso
  • \r Retorno de Carro
  • \f Salto de linea(formfeed)
  • \n Nueva linea (new line)

Arrays

Los arrays(Arreglos) vienen a solucionar el incoveniente que se nos crea al querrer declarar muchas variables del mismo tipo. Ahora las agrupamos todas ellas bajo un mismo nombre, y distinguiéndolas mediante un índice numérico colocando un par de corchetes [].
  1. int num1 = 123;
  2. int num2 = 234;
  3. int num3 = 345;
  4. int num4 = 456;
  5. int num5 = 567;
  6. int num6 = 678;
  7. int num[] = {123, 234, 345, 456, 567, 678};
Podemos crear arrays para cualquier tipo de información que puede ser almacenado como una variable(Primitivos, objetos)
Los corchetes[] pueden ir luego del tipo de información o del nombre de la variable:
String[] paises ó String paises[]
Además estos elementos van entre llaves {}, separados por comas y punto y coma final:
boolean logico[] = {false, true, true, false};
Todos los elementos del array se le asigna un valor inicial:
  • Númerico: 0
  • Booleanos: false
  • String y objetos: null
Si el [] no tiene número, éste será la cantidad de elementos inicial y no lo podemos cambiar después.
De igual manera si le asignamos la cantidad de elementos nos saldremos del límite delarray y nos sladrá un erro
num = new int[5];

NOTA: el primer elemento del array es contados como cero(0)

Métodos arrays:

  1. public class Reemplazar {
  2.     public static void main(String[] args) {
  3.         String saludo = "bla bla bla";     
  4.         char reemplazar[] = saludo.toCharArray();
  5.         for(int i = 0; i< saludo.length(); i++)
  6.             System.out.println(reemplazar[i]);
  7.     }
  8. }

Arrays Multidimensionales

Los arrays pueden tener más de indice de corchetes [] para guardar elementos, de la misma manera que funcionan las coordenadas por eso mucha gente le dice "vectores o matrices"
  1. int coordenada[][]= new int[2][3];
  2.         coordenada[0][0] = 0;
  3.         coordenada[0][1] = 32;
  4.         coordenada[0][2] = 71;
  5.        
  6.         coordenada[1][0] = 16;
  7.         coordenada[1][1] = 7;
  8.         coordenada[1][2] = 11;
Podemos ver como que cada par de corchetes representa a una fila y el otro par a una columna, así por ejemplo una variable con [50][50] tiene 50 elementas en cada dimensión, unos 2500 en total.

Envoltorias o Wrapped

En ocasiones es muy conveniente poder tratar los datos primitivos (int, boolean, etc.) como objetos. Por ejemplo Arrays dinámicos, listas enlazadas, colecciones, conjuntos, etc. utilizan como unidad de almacenamiento la clase Object. Dado que Object es la raíz de toda la jerarquía de objetos en Java, estos contenedores pueden almacenar cualquier tipo de objetos. Pero los datos primitivos no son objetos, con lo que quedan en principio excluidos de estas posibilidades. Para resolver esta situación incorporamos las clases envoltorio (wrapper class), que no son más que dotar a los datos primitivos con un envoltorio que permita tratarlos como objetos.
Las clases envoltorio existentes son:
  • Byte para byte.
  • Short para short.
  • Integer para int.
  • Long para long.
  • Boolean para boolean.
  • Float para float.
  • Double para double.
  • Character para char.

El siguiente código mostramos por pantalla un "Objeto" que es el número 5 como le indicamos como parámetro
  1. Integer entero = new Integer(5);
  2. System.out.println(entero);
La verdad no tiene sentido imprimir un primitivo o un objeto pero en el tema de colecciones cobra más sentido.

No hay comentarios:

Publicar un comentario