Modulo2: Tipos Primitivos (8) de Java
Boolean
Dos valores (true, false)
Textual - Char (primitivo)
Representa 16-bit
Se utilizan 'a'
Se usan en la siguientes notaciones
Textual - String
Es textual pero NO ES UN TIPO DE DATO PRIMITIVO.
Es una clase final Lo cual significa que ya no se pueden hacer más clases de esa clase
StringBuffer
Es más tardada pero segura
StringBuilder
Es menos tardado
Métodos para concatenar
Concat
Append
delete(inicio, fin-1)
repleace(inicio, fin , porque se reemplaza)
insert(posicion, "4" )
StringBuffer sb = new StringBuffer("123456789");
StringBuffer sb1 = new StringBuffer("123456789");
StringBuffer sb2 = new StringBuffer("123456789");
sb.delete(0, 3).replace(1, 3, "24").delete(4, 6);
System.out.println("sb= "+sb);
R> sb= 4247
Recordar que de los dos primeros no se toman en cuenta el número de fin pero si el inicio, y en el caso anterior se va haciendo de la nueva.
Ejercicio de String y StringBuffer
La respuesta es la E.
Debido a que en la linea 4 y 5 se crean dos objetos diferentes aunque contienen lo mismo (si fuesen String no se crearía otro objeto sólo se refenciaría).
Lo mismo pasa en para sb2 y sb3. Aunque el contenido es el mismo los objetos son diferentes y eso es lo que compara el equals; que los objetos sean diferentes.
Para el caso de los String, cuando se crea un objeto String se reserva un espacio en memoria, si llega otro que contiene lo mismo, entonces se refencía al objeto que ya esta.
String s = new String("hola");
String s2 = new String("hola");
si se aplica, saldría.
if(s.equals(s2)) System.out.println("Son iguales,");
Integral - byte, short, int, and long
byte n = 45; // 8 bits
int i = 1254; //32 bits
long l = 78546546546846L; //64 bits
float f = 45.56F //32 bits (si no se pone la F por default es un double)
double d = 45.212 //64 bits
Tipos de Referencias en java
MyDate md = new MyDate(18,06,2014);
<- | ->
Compilación | Ejecución
Paso por Valor
Se le envía una copia de ese valor
Paso por Referencia
Se pasa la dirección de donde esta
This
this.a; //Hacer referencia a un atributo
this.metodo(); //hacer referencia a un método
this(); //Hacer referencia a un constructor de la clase
No hay comentarios:
Publicar un comentario