Documente Academic
Documente Profesional
Documente Cultură
Módulo 4
c. X
___ public int myInteger = 10;
d. X
___ long myLong;
e. ___ long = 10;
f. ___ private int = 100
g. X
___ private int myInteger = 10;
.
Curso de Java – FastTrack
Los objetos, sus atributos y métodos son usualmente almacenados en la memoria heap,
la memoria heap es dinámicamente reservada con pedazos de distintos tamaños de
información que permiten manejar los objetos de forma dinámica (incluyendo los
atributos variables y métodos) mientras estos son necesitados por su programa, otras
variables son usualmente almacenadas en la memoria stack, la memoria stack almacena
items tal que solo tal que solo sean usadas un periodo corto de tiempo (mas corto que la
vida de un objeto) como son las variables declaradas dentro de un método.
Curso de Java – FastTrack
this
public class TestScoping { main scope
public static void main ( String[] args) {
ScopeExample scope = new ScopeExample();
scope.firstMethod();
}
}
Curso de Java – FastTrack
Operadores Lógicos
• Los operadores booleanos son:
! – NOT & - AND
| - OR ^-XOR
• Los operadores booleanos de corto circuito son:
&& - AND || - OR
• Usted puede usar estos operadores como sigue:
MyDate d;
If ( ( d != null ) && ( d.day > 31) )
// hacer algo con d
}
Curso de Java – FastTrack
0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1
^ 0 1 0 0 1 1 1 1 | 0 1 0 0 1 1 1 1
0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1
Curso de Java – FastTrack
-1357 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 0 1 1
1357 >> 5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0
-1357 >> 5 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1
1357 >>> 5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0
-1357 >>> 5 = 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1
1357 << 5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0
-1357 << 5 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0
Curso de Java – FastTrack
Casting
• Si en una asignación puede perderse información,
el programador puede confirmar la asignación
con un cast.
• La asignación entre un long y un int requiere un cast
explícito
long bigValue = 99L;
int squashed = bigValue; // mál, necesita un cast
int squashed = (int) bigValue; // ok
Instrucciones de Bifurcación
• Sintaxis de la instrucción if, else.
if ( expresión booleana ) {
instrucción o bloque;
}
if ( expresión booleana ) {
instrucción o bloque;
} else {
instrucción o bloque;
}
Curso de Java – FastTrack
Instrucciones de Bifurcación
• switch ...
Curso de Java – FastTrack
Instrucciones de Ciclo
El ciclo for :
for ( expr_inicialización ; boolean expr_testeo ;
expr_alteración ) {
instrucción o bloque;
}
Ejemplo:
for ( int i = 0 ; i < 10 ; i++ ) {
System.out.println(“¿Ud. Todavía no finalizó?”);
}
System.out.println(“¡Finalmente!”);
Curso de Java – FastTrack
Instrucciones de Ciclo
El ciclo while :
while (boolean) {
instrucción o bloque;
}
Ejemplo:
i = 0;
Instrucciones de Ciclo
El ciclo do/while :
do {
instrucción o bloque;
} while (boolean test);
Ejemplo:
i = 0;
do {
System.out.println(“¿Ud. Todavía no finalizó?”);
i++
} while (i < 10);
System.out.println(“Hecho”);
Curso de Java – FastTrack
Declaración de Arreglos
• Agrupa Objetos de Datos en mismo tipo.
• Declara los arreglos de tipo primitivo o clases
• Las variables locales requieren de una inicialización
explícita
• Crea spacio para una referencia
• Un Arreglo es un objeto; este es creado con new.
Curso de Java – FastTrack
Creando Arreglos
Usa la palabra clave new para crear un arreglo de objetos :
main
Curso de Java – FastTrack
Creando Arreglos
Otro ejemplo, un arreglo de objetos :
public Point[ ] createArray() {
Point p[ ];
Inicializando Arreglos
• Inicializando elementos del arreglo
• Creando un arreglo con valores iniciales
Arreglos Multidimencionales
• Arreglos de arreglos
int twoDim [ ] [ ] = new int [ 4 ] [ ] ;
twoDim[ 0 ] = new int [ 5 ];
twoDim[ 1 ] = new int [ 5 ];
Arreglos Multidimencionales
• Arreglos de arreglos no rectangulares
Redimensionando Arreglos
• No se puede redimensionar un arreglo
• Puede usar la misma variable de referencia para referen-
ciar a un nuevo arreglo completamente
Copiando Arreglos
• El método System.arraycopy() :
// arreglo ariginal
int elements [ ] = { 1, 2, 3, 4, 5, 6 };
Arreglos
Declaración:
Arreglos
Construcción:
Arreglos
Inicialización:
Arreglos
Uso:
El arreglo es referenciado utilizando su nombre.
Cada elemento individual es accedido utilizando el operador [<índice>]
Cada elemento es tratado como una variable simple de un tipo determinado.
<índice> es un literal o una expresión de tipo entero. Debe estar dentro del
rango mayor o igual a cero y menor al largo del arreglo.
En tiempo de ejecución se chequea automáticamente el valor del <índice>,
que cumpla la condición antes señalada. Se comprueba la excepción
ArrayIndexOutBoundsException
Curso de Java – FastTrack
Arreglos
Arreglos Multidimensionales:
La definición de arreglos multidimensionales en Java pueden
ser de dos maneras:
<tipo>[][]…[] <nombre Arreglo>;
<tipo> <nombre Arreglo>[][]…[];
La secuencia del operador [] indica el numero de dimensiones
y puede ser distribuido en el <tipo> y/o el <nombre Arreglo>.
<tipo>[] nombreArreglo[]. Esto declara un arreglo de dos dimensiones.
Se puede combinar la declaración y construcción de la siguiente manera:
int[][] multiArreglo = new int[4][5];
Crea un arreglo de cuatro elementos i, donde cada elemento tiene cinco
elementos j.
La dimensión máxima de i es igual multiArreglo.length
La dimensión máxima de j es igual a multiArreglo[i].length
Curso de Java – FastTrack
Arreglos
Arreglos Multidimensionales (cont):
Los arreglos multidimensionales también pueden ser construidos
e inicializados explícitamente al igual que los arreglos simples.
double[][] matrizIdentidad = {
{1.0, 0.0, 0.0, 0.0, 0.0}
{0.0, 1.0, 0.0, 0.0, 0.0}
{0.0, 0.0, 1.0, 0.0, 0.0}
{0.0, 0.0, 0.0, 1.0, 0.0}
{0.0, 0.0, 0.0, 0.0, 1.0}
}
Los arreglos "internos" no necesariamente deben tener la misma
dimensión.
Cuando construimos arreglos multidimensionales con el operador
new, podemos omitir la dimensión de arreglo anidado. En este caso
estos arreglos quedaran sin construir.
double[][] nultiArreglo = new double[5][];
Curso de Java – FastTrack
Arreglos
Arreglos Anónimos:
Java admite la creación de arreglos sin nombre de la
siguiente forma:
new <tipo>[] {<código de iniciación>};
Ejemplo: new int[] {2,4,6,8};
Se pueden utilizar en el paso de parámetros:
objeto.metodo(new int[] {2,4,6,8});
Nota: Una arreglo de primitivos puede ser "moldeado"
solo a Object, el siguiente ejemplo se encuentra libre
de errores:
int sizes[] = {4, 6, 8, 10}; //(1)
Object obj = sizes; //(2)
int x = ((int[])obj)[2]; //(3)
Sun Servicios Educativos
Módulo 4
Fin