Deber1
–
Repaso Java
Certifico que este trabajo es INDIVIDUAL y que lo he completado respetando las
normas de ética académica de la materia. Entiendo que si violo estas normas que
seré reportado a las autoridades de la Facultad y estaré sujeto a sanciones que
incluyen hasta expulsión de la Facultad.
Firma: _________ Aclaración: _______ Fecha: _______
Forma de entrega:
impreso o a mano en hoja aparte.
Fecha de Entrega:
21 de Agosto a COMIENZO de clase (no se acepta atrasos)
TRABAJO INDIVIDUAL
1. Indique cuando se utilizan los siguientes estilos de comentarios:
//
Se utilizan para agregar comentarios de una línea.
/* … */
Se utilizan para agregar comentarios de varias líneas.
/** .. */
Se utilizan para agregar las documentaciones a los programas.
2. Si a = 7, b = 8, y c = 9 antes de ejecutarse el siguiente fragmento, cuál es el valor
de a, b y c después de ejecutarlo?
a = a; // b++ /*
/* /*
b = a; */ //* c= a + b
//*/
Todas la variables conservarán el valor que les fue asignado al principio.
Explique su respuesta.
Esto es así porque en la primera linea a “a” se le asigna su mismo valor y luego el resto queda puesto como comentario por las “//”, en la segunda línea comienza un
comentario de varias líneas que termina en el “*/” de la tercera línea luego del cuál
comienza un comentario de una linea que toma el resto de la línea y la cuarta línea
también es tomada como comentario.
3. Indique qué es lo que sucede en el siguiente fragmento:
short i = (int) 80000;
En este fragmento de código se parsea 80000 para que sea tipo int y luego se
intenta asignar ese valor a la variable tipo short llamada “i”.
Cuál es el valor de i? Por qué?
A “i” no se le asignará ningún valor ya que no se puede asignar un valor int a
una variable tipo short.
4. Cuántos números reales hay entre 0.0 y 1.0 (en matemáticas)? Es posible
representar todos estos números con solo 8 bytes (la longitud de double)? Entonces qué problemas podríamos tener al usar un double o un float en nuestro
código?
En matemáticas existen infinitos números reales entre el 0.0 y el 1.0, y no podrían
ser representados todos en 8 bits ya que estos números podrían contener más de 2
elevado a la 32 dígitos.
5. Cuál es el resultado de dividir 2.0/0.0 en Java? En java esto retornaría un math error ya que un número no puede ser dividido por 0.
6. Es mejor usar
int i, j;
o declarar
int i = 0;
int j = 0;
Hay alguna diferencia en Java? Alg
ú
n motivo por preferir uno en vez de otro?
Es igual declarar las variables en varias líneas o en una sola pero declararlas en varias
líneas hace más fácil insertar comentarios para describir las variables.
7.Cuál es la diferencia entre una variable final y una variable static final? Muestre
ejemplos y explique.
La diferencia fundamental sería que una variable que es static final puede ser utilizada
dentro de cualquier método de la clase mientras que la que es solo final no podrá ser
utilizada dentro de los métodos no estáticos.
Ej.=
public class impresora{
private static final int PRINUM=1;
private final SEGNUM=2;
public static void main(String[]args){ System.out.println(PRINUM+”, ”+SEGNUM);
}
}
esto retornaría un error en ejecución ya que en un método estático se está llamando a
una variable no estática (SEGNUM).
8. Muestre los TODOS valores que i y j obtienen al ejecutar los siguientes bucles y
explique por qué tienen esa secuencia de valores:
[Advertencia: el siguiente codigo no es “bueno”, mas bien es muy feo.. pero sirve para entender cómo funcionan los bucles]
a. for (int i =0, j=3; i < j; i++, j+=2) {
// hacer algo
}
“i” comenzará conteniendo 0 y j contendrá 3, luego a “i” se le suma 1
por lo que contiene 1 y a “j” se le suman 2 por lo que contiene 5.
Esto continuará infinítamente con “i” aumentando su valor de a 1 “j” de ...
Regístrate para leer el documento completo.