Title: Por defecto en PIS2GPO1-2013-2014
Course: 2025 - LISI - Programacion Orientada a Objetos 1-1

Q: ¿Cuál es el rango de valores que pueden ser almacenados en una variable del tipo byte?
- -128 a 127
- 0 a 255
- -127 a 128
- -32768 a 32767
A: -128 a 127

Q: Una variable de tipo int ocupa en memoria:
- 4 bytes
- 2 bytes
- 8 bytes
A: 4 bytes

Q: Una variable de tipo float ocupa en memoria:
- 4 bytes
- 2 bytes
- 8 bytes
A: 4 bytes

Q: ¿Cuál es la codificación utilizada para manejar caracteres en Java?
- Unicode
- ASCII
- Bytecode
- International code
A: Unicode

Q: Cual de las siguientes es la forma correcta para crear una variable caracter literal con el valor de: a
- 'a'
- a
- new Character(a)
- \000a
A: 'a'

Q: ¿Qué ocurrirá al compilar/correr el siguiente código?

1: public class Q21 {

2:   int maxElements;

3:

4:   void Q21() {

5:     maxElements = 100;

6:     System.out.println(maxElements);

7:   }

8:   Q21(int i)  {

9:     maxElements = i;

10:    System.out.println(maxElements);

11:  }

12:  public static void main(String[] args) {

13:   Q21 a = new Q21();

14:   Q21 b = new Q21(999);

15:  }

16: }
- Error de compilación en la línea 13
- Imprime 100 y 999
- Imprime 999 y 100
- Error de compilación en la línea 2, la variable maxElements no fue inicializada
A: Error de compilación en la línea 13

Q: ¿Cuál será el resultado de compilar/correr el siguiente código?

public class Test {

  public static void main(String[] args) {

    float f = 1/2;

    System.out.println(f);

  }

}
- 0.0
- Error de compilación
- 0.5
- La clase CastException es lanzada en tiempo de ejecución
- Ninguna de las anteriores
A: 0.0

Q: ¿Qué sucede al compilar/correr el siguiente código?

public class Test {

   public static void main(String[] args) {

   int i = 0;

      while(i++ < 5) {

        switch(i%2) {

          default: System.out.println(“default”);break;

          case 1: System.out.println(“1”);break;

        }

      }

  }

}
- Imprime: 1 default 1 default 1
- Imprime: default 1 default 1 default
- Imprime: 1 1 default 1 default
- Imprime: default default 1 default
A: Imprime: 1 default 1 default 1

Q: ¿Qué ocurrirá si usted compila/corre el siguiente código?

public class Test {

  public static void main(String[] args) {

    for(int i=0;i<=4;i++) {

       switch(i) {

         case 0: System.out.println(“A”);

         case 1: System.out.println(“B”);

        case 2: System.out.println(“C”);

       }

     }

  }

}
- Imprime: ABCBCC
- Imprime: ABC
- Imprime: ABCC
- Imprime: CBA
A: Imprime: ABCBCC

Q: ¿Cuál será el resultado de compilar/correr el siguiente código?

public class Test {

  public static void main(String[] args) {

    float f = 1./2;

    System.out.println(f);

  }

}
- Error de compilación
- 0.0
- 0.5
- La clase CastException es lanzada en tiempo de ejecución
- Ninguna de las anteriores
A: Error de compilación

Q: ¿Bajo qué circunstancias se obtiene un constructor por defecto?
- Cuando la clase no tiene otros constructores
- Cuando se define cualquier clase
- Cuando se define al menos un constructor
A: Cuando la clase no tiene otros constructores

Q: Para una clase llamada MyClass ¿Cuál es la manera correcta de definir un constructor sin parámetros?
- MyClass () {…}
- int MyClass () {…}
- void MyClass () {…]
- MyClass (int sinParametro) {…}
A: MyClass () {…}

Q: En el siguiente código ¿Qué sentencia debe utilizar para evitar una colisión entre los argumentos del método constructor y las variables de instancia (radio y altura)?

class Cono
{
double radio, altura;

Cono(double radio, double altura) {
radio = radio;
altura = altura;
}
// Definiciones de otros métodos de la clase.
}
- this
- super
- final
- static
A: this

Q: ¿Cuál de las siguientes declaraciones es ilegal?
- float f = 45.0;
- int i = 32;
- double d = 45.0;
- Ninguna
A: float f = 45.0;

Q: ¿Cuál es la forma correcta de declarar una costante entera?
- final int K = 500;
- const int K = 500;
- const K = 500;
A: final int K = 500;

Q: Una variable de instancia o atributo, se declara:
- Como un miembro de la clase, al mismo nivel que los métodos de la clase y antes de los construcores.
- Al principio de un método.
- Al principio de un bloque de código.
- En el lugar donde será utilizada.
A: Como un miembro de la clase, al mismo nivel que los métodos de la clase y antes de los construcores.

Q: Un método declarado protegido (protected), puede ser llamado desde:
- Otro método de la clase en que el método está definido y por cualquier otro método de las clases que heredan de la clase en que está definido.
- Cualquier código que tenga acceso a la clase.
- Solo por otro método de la misma clase en que fue definido.
- Todas las clases contenidas en el mismo paquete, pero no es accesible fuera de ese paquete.
A: Otro método de la clase en que el método está definido y por cualquier otro método de las clases que heredan de la clase en que está definido.

Q: Los métodos declarados como static:
- Sólo pueden llamar a otros métodos declarados como static.
- Sólo deben acceder a datos declarados como static.
- Pueden llamar a cualquier otro método.
- Pueden usar referencias this o super.
- No pueden usarse fuera de la clase en la cual fueron definidos.
A: Sólo pueden llamar a otros métodos declarados como static.; Sólo deben acceder a datos declarados como static.

Q: ¿Cuál de las siguientes expresiones es verdadera al declarar esta variable?

 private int i = 3;
- La variable i solo puede ser accedida dentro de la clase en que fue declarada
- El valor de i no puede cambiarse después de que se le asigna un valor
- La variable i solo puede ser modificada por un método estático (La variable i puede ser accedida en las clases derivadas de la clase en la cual fue declarada)
A: La variable i solo puede ser accedida dentro de la clase en que fue declarada

Q: En una clase, un método declarado final:
- No puede ser sobreescrito en una subclase.
- Puede ser sobrecargado.
- Puede ser sobreescrito en una subclase.
A: No puede ser sobreescrito en una subclase.

Q: ¿Cuál es el resultado de ejecutar el siguiente fragmento de código?

boolean flag = false;

if (flag = true) {

  System.out.println("true");

}

else {

  System.out.println("false");

}
- “true” es impreso en la salida estándar
- “false” es impreso en la salida estándar
- Es lanzada una excepción
- No ocurre nada
A: “true” es impreso en la salida estándar

Q: ¿Cuál es el resultado de ejecutar el siguiente código, cuándo el valor de x es 2?

switch (x) {

  case 1:

    System.out.println(1);

  case 2:

  case 3:

    System.out.println(3);

  case 4:

    System.out.println(4);

}
- Los números 3 y 4 son impresos
- No imprime nada
- El número 3 es impreso
- Los números 1, 3 y 4 son impresos
A: Los números 3 y 4 son impresos

Q: ¿Cuál será la salida impresa de las siguientes líneas de código?

1: System.out.println(" " +2 + 3);

2: System.out.println(2 + 3);

3: System.out.println(2 + 3 +"");

4: System.out.println(2 + "" +3);
- Imprime 23, 5, 5 y 23
- Error de compilación en la línea 3
- Imprime 5, 5, 5 y 23
- Imprime 23, 5, 23 y 23
A: Imprime 23, 5, 5 y 23

Q: ¿Cuál es el resultado de ejecutar el siguiente código?

public class Test {

  public static void main(String args[]) {

    boolean b;

    if(b=false) {

      System.out.print(“A”);

    }else if(b) {

       System.out.print(“B”);

    }else if(!b) {

        System.out.print(“C”);

    } else {

        System.out.print(“D”);

    }

  }

}
- Imprime: C
- Imprime: A
- Imprime: B
- Imprime: D
A: Imprime: C

Q: ¿Cuál será el resultado del siguiente programa?

public class Test {

  public static void main(String[] args) {

  byte b = 65;

      switch(b) {

        case ‘A’:  System.out.println(“A”);break;

        case 65 :  System.out.println(“65”);break;

        default :  System.out.println(“default”); }

  }

}
- Error en tiempo de ejecución
- A
- 65
- Default
A: Error en tiempo de ejecución

Q: ¿Cuál será el resultado de ejecutar el siguiente código?

public class Test {

  public static void main(String[] args) {

  final int i = 100;

  byte b = i;

  System.out.println(i);

  }

}
- Imprime 100
- Error en tiempo de ejecución
- Error de compilación
- Imprime 0
- Ninguna de las anteriores
A: Imprime 100

Q: ¿Cuál será el resultado del siguiente programa?

public class Test {

  public static void main(String[] args) {

  int i,k,n = 0;

  k = n++;

  j = ++k;

  i = j++;

  System.out.println(i);

  }

}
- 1
- 0
- 2
- 3
A: 1

Q: Considerando el siguiente código de programa:

1.public class Test {
2.  public static void main(String[] args) {
3.  double d = 12.3;
4.  Decrementer dec = new Decrementer();
5.  dec.decrementer(d);
6.  System.out.println(d);
7.  }
8.}
9.class Decrementer {
10.  public void decrementer(double decMe) {
11.      decMe = decMe – 1.0;
12.    }
13.}

¿Cuál es el valor impreso en la línea 6?
- 12.3
- 0.0
- 1.0
- 11.3
A: 12.3

Q: En esta estructura de control, primero se pregunta por la condición y si es verdadera, entonces se ejecuta el proceso:
- while
- switch - case
- do - while
- for
- if - else
A: while

Q: Cuáles de las siguientes, son formas válidas para definir el método main()
- public static void main()
- public static void main(String arg[])
- public void main(String[] arg)
- public static void main(String[] args)
- public static int main(String[] arg)
A: public static void main(String arg[]); public static void main(String[] args)

Q: Si definimos un método static dentro de una clase, cual es la forma correcta de invocarlo dentro de otra clase
- Directamente, invocándolo a través de: Nombre_de_la_clase.método()
- Definiendo un objeto e invocándolo a través de: Nombre_del_objeto.método()
A: Directamente, invocándolo a través de: Nombre_de_la_clase.método()

Q: ¿Cuales de los siguientes nombres de identificadores son válidos en Java?
- BigLongStringWithMeaningLessMessage
- $int
- bytes
- $1
- finalist
A: BigLongStringWithMeaningLessMessage; $int; bytes; $1; finalist

Q: ¿Cuáles de los siguientes operadores lógicos, son llamados operadores lógicos en “corto circuito”?
- ||
- &&
- |
- &
A: ||; &&

Q: ¿Cuáles de los siguientes operadores lógicos, son llamados operadores lógicos a nivel de bits?
- ||
- &&
- |
- &
A: |; &

Q: ¿Cuál será el resultado de compilar el siguiente código?

public class Test {

  static int age;

  public static void main (String args []) {

    age = age + 1;

    System.out.println("The age is " + age);

  }

}
- Compila y corre imprimiendo: The age is 1
- Compila y corre sin salida
- Compila pero genera un error en tiempo de ejecución
- No compila
- Compila pero genera un error en tiempo de compilación
A: Compila y corre imprimiendo: The age is 1

Q: ¿Cuál será el resultado de compilar el siguiente código?

public class Test {

  public static void main (String args []) {

    int age;

    age = age + 1;

    System.out.println("The age is " + age);

  }

}
- No compila
- Compila y corre sin salida
- Compila y corre imprimiendo: The age is 1
- Compila pero genera un error en tiempo de ejecución
- Compila pero genera un error en tiempo de compilación
A: No compila

Q: Considerando el siguiente código ¿Cuáles opciones serán parte del resultado?

1. for(int i = 0; i < 2; i++)
2. for(int j = 0; j < 3; j++) {
3. if(i==j) {
4. continue;
5. }
6. System.out.println(“i = ” + i + “ j = ” + j);
7. }
8. }
- i = 0 j = 0
- i = 0 j = 1
- i = 0 j = 2
- i = 1 j = 0
- i = 1 j = 1
- i = 1 j = 2
A: i = 0 j = 1; i = 0 j = 2; i = 1 j = 0; i = 1 j = 2
If right: i = 1 j = 2

Q: Considerando las siguientes líneas de código ¿Cuál será el resultado impreso?

1: long i = 2;

2: switch (i) {

3: case 1 : System.out.println(“Caso1”);

4: case 2 : System.out.println(“Caso2”);

5: case 3 : System.out.println(“Caso3”);

6: default : System.out.println(“default”);

7: }
- Ninguna, genera un error de compilación en la línea 1
- Caso 1
- Caso 2
- Caso 3
- Default
A: Ninguna, genera un error de compilación en la línea 1

Q: ¿Cuál de las siguientes sentencias de asignación es inválida?
- int I = L;
- double D = 45456.444;
- long L = 45784;
- int J = (int) D;
A: int I = L;

Q: Considerando la siguiente clase:

public class Test1 {

  public float aMethod(float a, float b) {}

  …//métodos

¿Cuáles de los siguientes métodos serán válidos si son añadidos individualmente?
- public intaMethod(inta,int b) {…}
- public float aMethod(float a,floatb,int c) {…}
- public float aMethod(inta,intb,int c) {…}
- public float aMethod(float a,float b) {…}
- public int aMethod(float a,float d) {…}
A: public intaMethod(inta,int b) {…}; public float aMethod(float a,floatb,int c) {…}; public float aMethod(inta,intb,int c) {…}

Q: ¿Cuáles de los siguientes, son tipos primitivos de datos?
- byte
- float
- Integer
- String
A: byte; float

Q: Las clases abstractas pueden definir métodos y variables de instancia, y también tienen métodos no abstractos.
- Verdadero
- Falso
A: Verdadero

Q: Cuando se crea un objeto de una clase se invoca a su constructor y los constructores de la clase base no son heredados por sus subclases.
- Verdadero
- Falso
A: Verdadero

Q: Cuando se crea un objeto de una subclase, se invoca a su constructor, que a su vez invoca al constructor sin parámetros de la superclase, el cual a su vez invoca al constructor de su superclase y así sucesivamente.
- Verdadero
- Falso
A: Verdadero

Q: El bloque finally siempre se ejecuta independientemente de que se haya lanzado o no alguna
excepción.
- Verdadero
- Falso
A: Verdadero

Q: ¿Es posible definir los siguientes métodos, juntos en una misma clase? (3)

void metodo1 (int j, int k)

void metodo1 (int k, int j)
- Verdadero
- Falso
A: Falso
Feedback: Tienen exactamente la misma firma.