Este documento presenta un listado básico de ejemplos de código en Java sobre el uso de tipos de datos primitivos, variables, operadores y ámbitos. Incluye tablas con los tamaños y rangos de valores de los tipos primitivos, así como ejemplos de clases sencillas para mostrar salidas de texto utilizando diferentes tipos de datos y caracteres especiales.
ACERTIJO LA RUTA DE LAS ADIVINANZAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
Listado Ejercicios Básicos Java1
1. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
IES Gran Capitán
Módulo: Programación
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”
Listado Básico 1
Fecha entrega: 08-10-2015
Autor: Miguel Ángel López Moyano
2. Listado Básico 1 2
Autor: Miguel Ángel López Moyano
1. Los tipos de datos “primitivos” tienen un tratamiento especial, ya que no son
objetos (no se crean con new) y se usan frecuentemente en los programas. La razón
para el tratamiento especial es que crear un objeto con new -especialmente variables
pequeñas y simples- no es eficiente porque new coloca el objeto en el montículo
(trozo de memoria RAM). Para estos tipos, Java crea una variable "automática"
que no es una referencia. La variable guarda el valor, y se coloca en la pila (otro
trozo de memoria RAM más rápida y eficiente) para que sea más eficiente. Java
determina el tamaño de cada tipo primitivo. Estos tamaños no varían de una
plataforma a otra Indica los bits (no bytes) que ocupan y rango de valores posibles.
Tipo de variable Tamaño en bits Rango de valores
boolean - true, false
byte 8 -128 a 127
short 16 -32.768 a 32.767
int 32 -2.147.483.648 a 2.147.483.649
long 64 -9 · 1018 a 9 · 1018
float 32 -3,4 · 1038 a 3,4 · 1038
double 64 -1,79 · 10308 a 1,79 · 10308
char 16 Caracteres (en Unicode)
2. Crea la clase EjemploListaAnidada que muestre la siguiente salida. Para ello
utiliza el método System.out.print() con los caracteres n y t
Código:
Resultado:
3. Listado Básico 1 3
Autor: Miguel Ángel López Moyano
3. Crea la clase TablaAbecedarioMinusculas que muestre la siguiente salida. Para
ello utiliza el método System.out.print() con los caracteres n y t. Utiliza una
variable char con el código Unicode para mostrar la letra ñ. (no uses udddd)
Código:
Resultado:
4. Crea la clase CaracteresEspagnoles que muestre la siguiente salida. Para ello
utiliza el método System.out.print() con los caracteres n y t. Utiliza el formato de
carácter udddd
4. Listado Básico 1 4
Autor: Miguel Ángel López Moyano
Código:
Resultado:
5. Crea la siguiente clase y justifica los resultados
Código:
Resultado:
El resultado correcto es 10000. Es primer resultado sale de forma incorrecta porque la
operación que se realiza da como resultado un número mayor que 127 y no cabe en un
byte.
6. Crea la siguiente clase y justifica por qué el sufijo float (f ó F) es necesario:
Código:
5. Listado Básico 1 5
Autor: Miguel Ángel López Moyano
Resultado:
Es necesario indicar el sufijo float porque de lo contrario java tomaría el valor por defecto
que sería un double.
7. Crea la clase EsconditeConfuso con las siguientes sentencias. Interprétalas y
coméntalas en el código
Código:
Resultado:
8. Indica si es verdadero o falso:
6. Listado Básico 1 6
Autor: Miguel Ángel López Moyano
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.
c. El ámbito determina tanto la visibilidad como la vida de los nombres definidos
dentro. Se delimita mediante corchetes []
Falso. Se delimita mediante llaves {}
d. La asignación de una variable dentro de un ámbito se mantiene fuera del ámbito.
Verdadero.
e. Una variable definida dentro de un ámbito está disponible también fuera de su
ámbito.
Falso. Solo está disponible dentro de su ámbito.
f. Java permite convertir (casting) cualquier tipo primitivo en cualquier otro tipo,
excepto boolean, que no permite ninguna conversión.
Verdadero.
g. Java convierte automáticamente un tipo de datos en otro cuando sea adecuado
(de int a float, p.ej.)
Verdadero.
h. Con las conversiones reductoras (de float a int, p.ej.) nunca se corre el riesgo de
perder información.
Falso. En este caso se perderían los decimales.
i. Hay representación literal de números binarios en Java.
Verdadero.
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.
7. Listado Básico 1 7
Autor: Miguel Ángel López Moyano
k. El prefijo hexadecimal 0x siempre ha de ir en minúsculas
Verdadero.
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)
Se produciría un resultado erróneo ya que no es capaz de representar el valor de dicha
variable.
Código:
Resultado:
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
Código:
8. Listado Básico 1 8
Autor: Miguel Ángel López Moyano
Resultado:
11. Como veremos más adelante, para garantizar que un objeto ha sido inicializado
existen los constructores. ¿Existe algún problema si se intenta acceder al valor de
una variable y ésta no ha sido inicializada?
Sí, debemos inicializar la variable dándole algún valor, de lo contrario el compilador nos
dará un error advirtiéndonos de que no se ha inicializado dicha variable.
12. Qué tipo de problema puede existir con la asignación de variables
No se pueden asignar valores que estén fuera del rango de la variable, de lo contrario
obtendríamos datos erróneos.