CUARTA PARTE - Roger pressman ingeniera-del_software-v_ed-cap1
Listadobasico1 javierbenitezdelpozo
Click here to load reader
-
Upload
estudiante -
Category
Software
-
view
217 -
download
2
description
Transcript of Listadobasico1 javierbenitezdelpozo
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org [email protected]
IES Gran Capitán
Módulo: Desarrollo Web en entorno cliente
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”
Listado Basico 1
Fecha entrega: 02/10/2014
Autores: Javier Benítez del Pozo
Listado Básico 1 2
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ [email protected]
5. Crea la siguiente clase y justifica los resultados.
class ConversionExplicitaExtensora{
public static void main(String[] args){
byte b1=100, b2=100, b3;
//conversión explícita
b3= (byte)(b1 * b2 * b1/100);
System.out.println("Con conversion Explicita: "+ b3);
//conversión extensora
int n;
n= b1 * b2 * b1/100;
System.out.println("Con conversion Extensora: "+ n);
}//final del main
}//Final de la clase
El resultado es el siguiente:
Con la conversión explicita (variable byte) sale el valor 16 porque solo guarda
un byte de información; mientras que con la conversión extensora, en este caso int
guarda hasta 4 bytes de información
6. Crea la siguiente clase y justifica por qué el sufijo float (f ó F) es necesario:
class PotenciaConversion{
public static void main(String[] args){
float f= 1e-39f;
double d= 1e-39;
System.out.println("float: "+ f);
System.out.println("double: "+ d);
}//final del main
}//Final de la clase
El resultado es el siguiente:
Si no se pusiese el sufijo float por defecto lo interpretaría como double
Listado Básico 1 3
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ [email protected]
7. Crea la clase EsconditeConfuso con las siguientes sentencias. Interprétalas y
coméntalas en el código.
class EsconditeConfuso{
public static void main(String[] args){
int x = 17;
{
int x = 77;
}
}//final del main
}//Final de la clase
Sale lo siguiente:
Da error porque no puede haber dos variables con el mismo nombre y x ya se
había declarado antes con el valor 17, es decir no se le podría asignar después otro valor
dentro de la misma clase
8. Indica si es verdadero o falso:
a. El tamaño del tipo boolean no está explícitamente definido; sólo se
especifica que debe ser capaz de tomar los valores true o false.
Verdadero.
b. Todos los tipos numéricos tienen signo, de forma que es inútil tratar de
utilizar tipos sin signo.
Verdadero, cuando se asigna una variable por ejemplo de tipo byte, esta abarca
los números desde el -128 hasta el 127
c. El ámbito determina tanto la visibilidad como la vida de los nombres
definidos dentro. Se delimita mediante corchetes []
Falso, el ámbito se delimita entre llaves ({}), no corchetes.
d. La asignación de una variable dentro de un ámbito se mantiene fuera del
ámbito.
Falso. Una variable solo funciona dentro de una clase o ámbito.
e. Una variable definida dentro de un ámbito está disponible también fuera de
su ámbito.
Falso. Una variable solo funciona dentro de una clase o ámbito.
f. Java permite convertir (casting) cualquier tipo primitivo en cualquier otro
tipo, excepto boolean, que no permite ninguna conversión.
Verdadero, porque boolean es una variable que sólo acepta dos valores,
verdadero o falso.
Listado Básico 1 4
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ [email protected]
g. Java convierte automáticamente un tipo de datos en otro cuando sea
adecuado (de int a float, p.ej.)
Verdadero, siempre que sea de una variable menor a otra de mayor rango
h. Con las conversiones reductoras (de float a int, p.ej.) nunca se corre el
riesgo de perder información.
Falso, se perderían decimales puesto que int sólo guarda números enteros
i. Hay representación literal de números binarios en Java.
Falso
j. Los sufijos de double, float y long pueden aparecer tanto en mayúsculas
como en minúsculas: 0d, 0D, 0f, 0F, 0l, 0L.
Verdadero, JAVA en ese aspecto no diferencia mayúsculas de minúsculas
k. El prefijo hexadecimal 0x siempre ha de ir en minúsculas
Falso, la x puede ir tanto en mayúscula como en minúscula
9. Si se asigna un valor a una variable fuera de rango (mayor de lo establecido),
¿qué ocurre? ¿Existe alguna manera de resolverlo? Demuéstralo mediante un
ejemplo. (VariableFueraDeRango)
Da error al compilar y habría que declarar otra variable de otro tipo que abarcase
el valor ese dentro de su rango
Solución:
Listado Básico 1 5
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ [email protected]
10. Crea una clase AsignacionVariables con el siguiente código. Corrígela si es
necesario y coméntala en el mismo código fuente, indicando errores y valores de
variables.
Nos da error porque hay que asignarle un valor a i
Ahora probamos dándole un valor a i:
Podremos comprobar que ya si compila y además asignándole un valor equivalente a
más de un byte de información nos saldrá un número reducido.
11. Como veremos más adelante, para garantizar que un objeto ha sido
inicializado existen los constructures. ¿Existe algún problema si se intenta acceder
al valor de una variable y ésta no ha sido inicializada?
Listado Básico 1 6
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ [email protected]
Se puede declarar una variale sin inicializar pero no sabremos con que valor se
guardará; y si inmediatamente le ponemos que nos muestre la variable con un
System.ou.prinln no nos compilará nuestro programa.
No compilar nuestro programa, es necesario inicializar la variable antes
12. Qué tipo de problema puede existir con la asignación de variables
Los errores principales serían declarar un valor fuera de rango a una variable,
declarar la misma variable con dos valores distintos o declarar el mismo valor para dos
variables distintas dentro de la misma clase