0% encontró este documento útil (0 votos)
9 vistas66 páginas

UT4-elementos Del Lenguaje Java

Cargado por

Dan Vlas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas66 páginas

UT4-elementos Del Lenguaje Java

Cargado por

Dan Vlas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 66

UT 4 elementos del lenguaje Java

❑Los elementos del lenguaje Java son:


1. Identificadores.

2. Palabras reservadas.

3. Variables.

4. Tipos de datos.

5. Literales.

6. Constantes.

7. Instrucciones de entrada y salida.

8. Operadores.

9. Expresiones.

10. Comentarios.

Abraham Pérez Barrera


1. IDENTIFICADORES.
❑Los identificadores son los nombres que da el programador a: variables, funciones,
clases, etc, en el código fuente de un programa.
❑Las reglas que hay que seguir a la hora de inventarse dichos nombres son:
• Un identificador comienza por una letra, un carácter de subrayado (_) o un carácter de
dólar ($). Los siguientes caracteres pueden ser cualquiera de los que permite el lenguaje.
• Los únicos caracteres especiales que se permiten son $, Ç (C cedilla) y el guión bajo.
• No se permiten espacios en blanco como parte del nombre de un identificador.
• Las letras pueden ser mayúsculas o minúsculas. SE DIFERENCIA ENTRE LAS
MAYÚSCULAS Y LAS MINÚSCULAS. Ejemplo: los identificadores CONTADOR, Contador
y contador son diferentes.
• A diferencia de otros lenguajes, permite que se declaren identificadores con acentos y la
letra «ñ».

Abraham Pérez Barrera


1. IDENTIFICADORES..

▪ No hay límite en cuanto al número de caracteres que forman un identificador.


▪ Se ha de poner nombres significativos a las variables, generalmente formados por varias
palabras combinadas. Se debe evitar, en todos los casos, nombres de variables cortos como

x,y, etc.

▪ En el caso de que el identificador esté formado por varias palabras, la primera palabra debería
de empezar en minúscula (siempre que no sea el nombre de una clase) pero las que le

siguen, debería de llevar la letra inicial en mayúsculas.

Ejemplo: float notaProgramacion=7.2;

Esta regla no es obligatoria pero sí aconsejable.

Abraham Pérez Barrera


1. IDENTIFICADORES.

• Los identificadores no pueden tener el mismo nombre que una palabra clave o
reservada de Java.

• El signo de subrayado se acepta en cualquier identificador pero sólo se


emplea para separar palabras en constantes (por convención las constantes

se escriben completamente en mayúsculas y esto hace menos clara la

separación de los nombres). Ejemplo: NUMERO_NOTAS.

Abraham Pérez Barrera


1. IDENTIFICADORES.

❑Ejemplos de identificadores válidos: nota, longitudCircunferencia, act3,


NUM_ALUMNOS, suma_pares, _numero, etc.
❑Ejemplos de identificadores no válidos:
1eje -> El primer carácter es un número.
n% ->El carácter % no está permitido.
c pares -> No se pueden utilizar espacios en blanco.
case-> Palabra clave de Java.

Abraham Pérez Barrera


1. IDENTIFICADORES.

Actividad 1: ¿cuáles de los siguientes son identificadores válidos?

a) 8evaluación

b) Número

c) %iva

d) _numero

e) Primer número

f) Super

g) Nota_final

h) final

Abraham Pérez Barrera


Estructura básica de un programa Java

public class Estructura{


public static void main(String args[]){
//instrucciones
}

public void factorial(){


}
}

Abraham Pérez Barrera


2. PALABRAS RESERVADAS.

❑Son identificadores usados por el lenguaje, que tienen un significado especial para el
compilador de Java.
❑Sólo se pueden usar para lo que se ha establecido dentro del lenguaje.

Abraham Pérez Barrera


2. PALABRAS RESERVADAS.

abstract continue for new switch


assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

Abraham Pérez Barrera


3. VARIABLES.

❑Una variable es un espacio de memoria identificado por un nombre que sirve para
guardar un dato.
❑El valor que guarda dicha variable puede cambiar a lo largo de la ejecución del
programa.
❑Hay distintos tipos de variables. El tipo de la variable determina:
• Los valores que se pueden guardar en ese espacio de memoria reservado.
• Las operaciones que se pueden realizar sobre esos valores.
• La cantidad de memoria que se reserva para guardar el dato.

Abraham Pérez Barrera


3. VARIABLES.

❑Las variables de deben:


1º) Declarar:
• Todas las variables han de declararse antes de usarlas.
• La declaración consiste en una sentencia en la que figura el tipo de dato y el nombre
que asignamos a la variable.

Ejemplo: String nombre;


int edad;

Se puede declarar en una misma instrucción más de una variable, siempre que sean del
mismo tipo y separadas por una coma.
Ejemplo: double nota, altura;

Abraham Pérez Barrera


3. VARIABLES.

Según dónde esté declarada una variable, puede ser:


❖Variable miembro de una clase (atributos): se declaran dentro de la clase pero
fuera de cualquier método. Se inicializan por defecto (las numéricas con 0, los

caracteres con ‘\0’, las cadenas con el valor null).

❖Variables locales: se declaran dentro de un método y solo se pueden utilizar


dentro del método donde se han declarado. Tienen que tener un valor previo

asignado por el programador ya que Java no lo hace automáticamente

Abraham Pérez Barrera


3. VARIABLES.

Ejemplo:
public class Alumno{
//variable miembro de una clase ATRIBUTO
String nombre;
int notaExamen1;
int notaExamen2;

void calcularMedia() {
// variable local
float media= 1.0f;
media=(notaExamen1 + notaExamen2)/2;
}
}

Abraham Pérez Barrera


3. VARIABLES.

2º) Inicializar:
❖ Una vez declarada la variable, se le podrá asignar valores o inicializar.
❖ Se puede declarar una variable e inicializarla al mismo tiempo.
Ejemplo:

String nombre = "Jose Maria";


int edad =18;
double nota= 8.3, altura=1.65;
boolean casado=true;

3º) Utilizar: una vez declarada e inicializada una variable ya se podrá usar.

Abraham Pérez Barrera


3. VARIABLES.

❑Ejemplos de inicialización de variables:


String nombre= " Juan Luis ";
int edad=22, año=2015;
double nota=4.3;
boolean matriculado=false;
char letra= ‘s’;
byte dia_mes=17;

Abraham Pérez Barrera


4. Tipos de Datos

❑Un tipo de dato proporciona una descripción al compilador de:


➢Cuánta memoria se debe asignar.
➢Qué tipo de datos se pueden almacenar (números, letras…)
➢Qué operaciones se pueden realizar sobre esos datos.
❑ Ejemplo: la declaración float notas, indica al compilador que reserve 4 bytes de
memoria, que se podrán guardar números con decimales, pero nunca letras, y que
con el valor que se almacene en esa variable se podrán realizar operaciones
aritméticas menos usar el operador % (resto de la división entera), que exige que
ambos operandos sean enteros.

Abraham Pérez Barrera


4. Tipos de Datos
Los tipos de datos se clasifican en:
❑PRIMITIVOS. Los tipos de datos primitivos son los que contienen el tipo de información más
básica: números enteros y decimales, caracteres y lógicos.

Abraham Pérez Barrera


4. Tipos de Datos

Abraham Pérez Barrera


4. Tipos de Datos

Enteros:
❑Permiten guardar valores numéricos sin decimales.

❑Son byte, short, int y long. El valor por defecto asociado a cualquier variable entera no
inicializada es 0.

❑Ejemplos de uso:
byte edad=18;
short habitantesPueblo=2954;
int habitantesCiudad=33257;
long habitantesTierra=7000000000;

Abraham Pérez Barrera


4. Tipos de Datos

Decimales o reales:
❑Los tipos de datos primitivos reales permiten guardar números con o sin decimales.

❑Son float y double. El valor por defecto asociado a cualquier variable real no inicializada es 0.0.

❑Para Java, un número decimal es de tipo double salvo que se indique lo contrario añadiendo una «f» al final del
mismo para indicar que es float.

❑El fragmento de código


float variable;
variable=3.6;

❑ Daría un mensaje de error al intentar asignar un valor double a una variable float. El valor 3.6f ya no daría
error.

Abraham Pérez Barrera


4. Tipos de Datos

Carácter:
❑Los tipos de datos primitivos carácter permiten almacenar un carácter.

❑Es el tipo char. el valor por defecto asociado a cualquier variable char no inicializada es '\u0000‘.

❑El carácter que se inicializa debe ir entre apóstrofes o comillas simples ‘s'.

❑Ejemplo:
char letra;
letra=‘s’;

❑ El código de caracteres empleado por Java es Unicode y recoge los caracteres de prácticamente todos
los idiomas importantes del mundo (unos 65.536).

Abraham Pérez Barrera


4. Tipos de Datos

Carácter:
❑También hay una serie de caracteres especiales que van precedidos por el símbolo \, son
estos:
carácter significado
\b Retroceso
\t Tabulador
\n Nueva línea
\f Alimentación de página
\r Retorno de carro

Abraham Pérez Barrera


4. Tipos de Datos

Booleanos:
❑Los tipos de datos primitivos booleanos permiten almacenar valores lógicos.

❑Es el tipo boolean. El valor por defecto asociado a cualquier variable booleana no inicializada
es «false».

❑Sólo admite dos valores: verdadero («true») o falso («false»).

❑Ejemplo:

boolean encontrado;
encontrado=true;

Abraham Pérez Barrera


4. Tipos de Datos

❑No primitivos: Clases (creadas por el usuario o sacadas de alguna librería de Java),
los arrays (vectores), listas enlazadas, pilas, colas, cadenas de caracteres (string).

Abraham Pérez Barrera


4. Tipos de Datos

Actividad 2: clasifica las variables del siguiente fragmento de código como locales o de clase.

Abraham Pérez Barrera


4. Tipos de Datos

Actividad 3: declara variables para

a. Guardar un número de lotería.

b. Guardar el número de alumnos de un grupo.

c. Almacenar el número de habitantes de Burgos ciudad.

d. Guardar el número de habitantes del barrio de Santa Catalina.

e. Guardar el número de habitantes de China.

f. Almacenar el número de estrellas de la galaxia.

Abraham Pérez Barrera


4. Tipos de Datos

Actividad 4: declara variables para


a. Guardar el número PI.
b. Almacenar si el usuario está casado o no.
c. Guardar la letra del DNI.
d. Almacenar el volumen de una esfera.
e. Almacenar si el usuario es socio o no.
f. Guardar el resultado de una división.

Abraham Pérez Barrera


5. Literales

❑Un literal es el valor que se asigna a una variable.


❑Ejemplos de literales:
• Numéricos enteros: int edad=24;
• Numéricos con decimales:
✓OJO: para Java un número con decimales se considera como tipo double. Si queremos
asignar un número (con decimales) a una variable de tipo float hay que ponerle una f (al final

del valor) indicando que es un float.

double sueldo=12.45;

float altura= 1.65f; //float altura =1.65 daría error

Abraham Pérez Barrera


5. Literales

❑Booleanos: sólo admite dos valores, true y false.


• boolean casado = true;
❑Caracteres: el valor que se asigna a una variable de tipo char tiene que estar entre comillas
simples.

• char letraInicNombre=’A’;
❑Cadenas: para asignar una cadena a una variable, dicha variable tiene que ser de tipo String, que
no es un tipo primitivo de Java. A la hora de asignar un valor a dicha variable, hay que ponerlo entre

comillas dobles.

• String nombre=“Juan González”:

Abraham Pérez Barrera


6. Constantes

❑Los constantes son espacios de memoria identificados por un nombre cuyo valor
permanece invariable a lo largo de la ejecución de un programa.
❑En Java se utiliza la palabra clave “final” para indicar que una variable debe
comportarse como si fuera una constante, por lo que no se permite modificar su valor
durante toda la ejecución del programa.

Abraham Pérez Barrera


6. Constantes.

❑Como es una constante, se ha de proporcionar un valor en el momento de la declaración que será


el que siempre tendrá:
Class Circulo{
final float PI=3.14159f;

}
❑Si se intenta modificar el valor de una constante desde el código de la aplicación, se generará un
error de codificación.
❑Las constantes pueden ser numéricas, booleanas, caracteres o cadenas (String).

❑Escribiremos el nombre de una constante todo en mayúsculas, en caso de ser un nombre


compuesto por varias palabras las separaremos por el carácter subrayado.

Abraham Pérez Barrera


6. Constantes

Actividad 5: Crea un proyecto llamado ActividadesUT4, y en él dentro del paquete por defecto crea
una clase y copia el siguiente fragmento de código, intenta ejecutarlo y explica lo que pasa y porqué.
public class Prueba {

public static void main (String args[]) {

final float EURO= 166.38621f;

System.out.println("El valor de un euro en pesetas es " + EURO);

EURO=100;

System.out.println("\n\nFinal del programa");

Abraham Pérez Barrera


7. Operadores Y Expresiones

TIPOS DE EXPRESIONES:

Las expresiones según el resultado que obtengan, se clasifican en:


❑Numéricas: son las que producen resultados de tipo numérico. Se construyen mediante
los operadores aritméticos.
Ejemplo: PI*SQR(X)
❑Alfanuméricas: son las que producen resultados de tipo String. Se construye mediante
el operador +.
Ejemplo: “Juan “ + “Luis”
❑Boleanas o lógicas: son las que producen resultados CIERTO ó FALSO. Se construyen
mediante los operadores relacionales y lógicos.
Ejemplo: A>0 && B<=5
Abraham Pérez Barrera
7. Operadores Y Expresiones

5.7. OPERADORES Y EXPRESIONES.

OPERADORES: para la construcción de expresiones se pueden utilizar los siguientes operadores:


❑Operadores aritméticos.
• Son operadores binarios, es decir, requieren dos operandos.
• Los operadores aritméticos son: suma (+), resta(‐), multiplicación (*), división(/) y resto de la
división (%).
• Para resolver potencias y raíces tenemos funciones matemáticas disponibles en las librerías
de java.

Abraham Pérez Barrera


7. Operadores Y Expresiones
Actividad 6: el método «pow» calcula la potencia del número que se indique en base elevándolo al

valor que se indique en exponente.

Crea un proyecto llamado ut4Act6, copia el siguiente código y ejecútalo:


public class Ut4Act6 {
public static void main(String[] args) {
double base = 5;
double exponente = 2;
double potencia;
potencia = Math.pow(base, exponente);
System.out.println("La potencia es " + potencia);
}
}

Abraham Pérez Barrera


7. Operadores Y Expresiones

Actividad 7:

a) Cambia los valores «base» y «exponente» por otros (enteros y decimales) y repite la prueba.

b) Inicializa «potencia» a cero y observa los mensajes que te da el IDE.

c) Sustituye el método «pow» por «sqrt» (raíz cuadrada) y calcula la raíz de «base». ¿Cuántos

decimales tiene el resultado?

Actividad 8: Dentro del proyecto crea una clase llamada Ut4Act8, declara e inicializa dos variables

enteras y calcula su suma, su resta, su multiplicación y el resto de la división entera. Cambia las

variables de enteras a reales y ejecuta de nuevo el programa

Abraham Pérez Barrera


7. Operadores Y Expresiones

Operadores de asignación.
• Los operadores de asignación permiten asignar un valor a una variable.
• El operador de asignación, por excelencia, es el operador igual (=).
• Su formato es: variable=expresión;
• A la derecha se pone el valor o el resultado de una expresión (que se quiere guardar) y a la
izquierda el nombre de la variable (donde se quiere guardar).

• Lo hemos utilizado ya para inicializar variables. Ejemplo:

int numero=4;

• Se pueden hacer asignaciones múltiples. Ejemplo:

a=b=c;

Abraham Pérez Barrera


7. Operadores Y Expresiones

• Se puede combinar con los operadores aritméticos.

Expresión Significado
x+=y x=x+y
x-=y x=x-y
x*=y x=x*y
x/=y x=x/y
r%=z r=r % z
• Ejemplo: dada la expresión x+=2, el intérprete lee el contenido de la variable x, le suma 2, y
guarda el resultado en la misma variable. La expresión es equivalente a x=x+2.
• Ejemplo: suma=suma + edad equivale a suma+=edad

Abraham Pérez Barrera


7. Operadores Y Expresiones

Actividad 9: explica el código que viene a continuación. Crea un proyecto de nombre «ut3act9» con

el código y ejecútalo para comprobar si has acertado.


public static void main (String args[]) {

float a=11,e=7;

float b=0,c=0,d=0;

b=c=d=a;

System.out.println("Asignación += " + (a+=e));

System.out.println("Asignación -= " + (b-=e));

System.out.println("Asignación *= " + (c*=e));

System.out.println("Asignación /= " + (d/=e));

Abraham Pérez Barrera


7. Operadores Y Expresiones

❑Operadores incrementales.
• Java tiene los operadores ++ y ‐‐. Son operadores unarios porque actúan sobre un único
operando.
• El operador incremento (++) aumenta el valor de su operando en 1, mientras que el operador
decremento (‐‐) disminuye el valor de su operando en 1.
• En ambos casos el operando debe ser una variable, es decir, no puede aplicarse sobre
expresiones.

• Las expresiones i++ e i=i+1 son equivalentes.

• Las expresiones i-- e i=i-1, también son equivalentes.

Abraham Pérez Barrera


7. Operadores Y Expresiones

• Se trata de uno de los operadores más confusos, ya que el resultado de la operación depende de que el
operador esté a la derecha i++ o a la izquierda ++i.
• La diferencia entre ambos radica en el preciso momento en que se realiza la operación de incremento o
decremento.

• Si el operador unario «++» está a la derecha del operando.

Ejemplo:

i=5;

j=i++;

1º) Asigna a j, el valor que tiene i, es decir, j vale 5.

2º) i se incrementa en 1, es decir, i toma el valor de 6.

Es equivalente a estas dos sentencias:

j=i;

i++;
Abraham Pérez Barrera
7. Operadores Y Expresiones
• Si el operador unario «++» está a la izquierda del operando.

Ejemplo:

i=5;

j=++i;

1º) i se incrementa en 1, es decir, i toma el valor de 6.

2º) Asigna a j el valor de i ya incrementado, es decir, j vale 6.

Es equivalente a estas dos sentencias:

i++;

j=i;

Abraham Pérez Barrera


7. Operadores Y Expresiones.

❑Operadores relacionales.
• El resultado de una operación de relación es un valor verdadero o falso.
• Los operadores relacionales se utilizan para realizar comparaciones.
• Existen seis operadores relacionales:

Abraham Pérez Barrera


7. Operadores Y Expresiones
Actividad 10: explica el código que viene a continuación

public static void main(String[] args) {


System.out.println("b1: " + i + " > " + i + " = " + b1);
int i = -3;

byte b = 5; System.out.println("b2: " + i + " < " + b + " = " + b2);

float f = 1e-10f; System.out.println("b3: " + b + " <= " + f + " = " + b3);
double d = 3.14; System.out.println("b4: " + f + " >= " + d + " = " + b4);
boolean b1 = i > i; System.out.println("b5: " + d + " != " + 0 + " = " + b5);
boolean b2 = i < b;
System.out.println("b6: " + 1 + " == " + f + " = " + b6);
boolean b3 = b <= f;
}
boolean b4 = f >= d;

boolean b5 = d != 0;

boolean b6 = 1 == f; .Crea una clase, dentro del proyecto, de nombre «Ut4act10»


con el código y ejecútalo para comprobar si has acertado.

Abraham Pérez Barrera


7. Operadores Y Expresiones

❑Operadores lógicos.
➢ Algunas veces es necesario combinar dos o más expresiones de relación. Para ello Java dispone de tres operadores
lógicos.
➢ El resultado de una operación lógica es un valor verdadero o falso.
➢ Los operadores lógicos son:

• &&. Da como resultado el valor verdadero si ambos operandos son verdaderos. Si uno de ellos es falso, el resultado es
falso. Si el primer operando es falso, entonces, el segundo operando no es evaluado.
• || . Si uno de los operandos es verdadero, el resultado será verdadero. Sólo en el caso de que los dos operandos sean
falsos, el resultado será falso. Si el primer operando es verdadero, el segundo operando no es evaluado.
• ! . Si el operando es verdadero lo convertirá en falso y viceversa.

Abraham Pérez Barrera


7. Operadores Y Expresiones

Actividad 11: explica el código que viene a continuación. Crea un proyecto de nombre «ut3act12» con el código y

ejecútalo para comprobar si has acertado.

public static void main(String[] args) {

int i = -3;

float a=5, b=10,c=20;

boolean res1,res2;

res1=(a<b) || (b<c);

res2=(a==b) && (b<c);

System.out.println("El resultado del operador OR " + res1);

System.out.println("El resultado del operador AND " + res2);

Abraham Pérez Barrera


7. Operadores Y Expresiones

❑Operador de concatenación de cadenas de caracteres (+).


➢El operador más (+) se utiliza también para concatenar cadenas de caracteres.
➢Si la expresión comienza con una cadena, todos los operandos se convierten en cadena.
➢Se utiliza mucho en el System para visualizar un mensaje literal y el valor de una variable:
Ejemplo: System.out.println (“El valor de la variable es “ + variable);

➢Ejemplo:
int x = 0, y = 1, z = 2;

String cadena = "x, y, z ";

System.out.println(cadena + x + y + z);

Abraham Pérez Barrera


7. Operadores Y Expresiones

ORDEN DE EVALUACIÓN DE LOS OPERADORES:


❑El orden en que se ejecutan los distintos operadores en una sentencia (de mayor a menor precedencia):
• 1. ( )
• 2. ++ --
• 3. new, casting
• 4. * / %
• 5. + -
• 6. < > <= >= == != (operadores relacionales)
• 7. instanceof
• 8. &
• 9. |
• 10 &&
• 11. ||
• 12. -=, +=, *=, %=, /=
❑La evaluación de operadores de igual orden se realiza siempre de izquierda a derecha.

Abraham Pérez Barrera


7. Operadores Y Expresiones

Actividad 12: Indica cuál es el resultado de las siguientes expresiones:

A. ((4 - 2) * (5 + 1)/2) > 2 - (4 + 3)

B. (6 + 3) > 8 && (6 - 1) * 2 < 8 | | 2 *3 = = 8

C. (1.0 < X ) && (X < Z + 7.0) donde: X=7 y Z =2.

D. PI * X^2 > Y | | 2 * PI * X <= Z donde: X =1, Y=4, Z=10, PI=3.14

E. X > 3 && Y == 4 || X + Y <= Z donde X =1, Y=4, Z=10

F. X > 3 && (Y ==4 || X + Y <= Z) donde X =1, Y=4, Z=10

Comprueba si has acertado.

Abraham Pérez Barrera


8. Conversión de tipos

Implícitas y explícitas (casting).

❑En Java es posible transformar el tipo de una variable u objeto en otro diferente al original con el que fue
declarado.
❑Este proceso se denomina “conversión” ó “casting”.
❑La utilidad de esto es cuando queremos asignar el valor de una variable de un tipo determinado a otra variable
de un tipo diferente.
Ejemplo: (int) 3.14 convierte el número double 3.14 en el entero 3.
❑Evidentemente, no todas las conversiones son posibles.
❑Las conversiones pueden ser implícitas y explícitas.

Abraham Pérez Barrera


8. Conversión de tipos

Implícitas.
➢Las conversiones implícitas son aquellas que se realizan de forma automática cuando se va a asignar un
valor de un tipo determinado a una variable de un tipo diferente.

Ejemplo: int varInt=18;


float varFloat;
varFloat=varInt;

Convierte automáticamente el valor de la variable varInt al tipo float antes de guardarlo en la variable
varFloat.

Abraham Pérez Barrera


8. Conversión de tipos

Implícitas.
➢Para que una conversión pueda realizarse de manera automática (implícitamente) se debe de
cumplir dos condiciones:
1ª) Que los dos tipos sean compatibles.
2ª) Que el tipo de la variable (donde se va a guardar el dato de otra variable) tiene que tener
un rango igual o superior que el tipo de la variable que se quiere insertar.
Lo que se pretende conseguir con ello es que no se produzca pérdida de información.
Si no es así, el compilador automáticamente no hace la conversión, ya que no admite
voluntariamente esa pérdida de información.

Abraham Pérez Barrera


8. Conversión de tipos
Conversiones implícitas posibles:

Variable origen Variable de destino


byte double, float, long, int, short
short double, float, long, int
char double, float, long, int
int double, float, long
long double, float
float double

EJERCICIO 1 de la hoja de ejercicios.

Abraham Pérez Barrera


8. Conversión de tipos
Explícitas.
➢Cuando alguna de las dos condiciones para conversiones implícitas no se cumple, la conversión automática
es imposible.
➢Si queremos insertar una variable de tamaño mayor en una variable de tamaño menor, el compilador nos da
un error (“la variable necesita un cast explícito”). La JVM (Máquina Virtual de Java) necesita que le demos el
tipo al que vamos a convertir la variable fuente. A esta conversión explícita se le denomina hacer un casting
de tipos.
➢Dicho casting se hace utilizando el siguiente formato:
variable_donde_se_guarda = (tipo_variable_donde_se_guarda)
variable_contiene_dato_convertir;

Ejemplo: int a; long b;

a=(int)b;

Abraham Pérez Barrera


8. Conversión de tipos

Explícitas.
➢De esta forma hacemos que el compilador convierta el dato que queremos al tipo de la variable
donde lo queremos guardar.
➢Esto puede producir una pérdida de información por eso a estas conversiones también se las
conoce con el nombre de “estrechamiento”.
➢Por tanto, Java esto lo permite siempre y cuando el programador lo indique explícitamente.

Abraham Pérez Barrera


8. Conversión de tipos

Actividad 13: explica el código que viene a continuación. Crea un proyecto de nombre «ut3act14»
con el código y ejecútalo para comprobar si has acertado.
public static void main(String args[]) throws IOException {
int a = 10, b,c;
short s =20;
char car = 'k';
float f;
b = car;
f= a;
c= s;
System.out.println("El valor de car (tipo char) es " + car+ " y ese valor en un int ha quedado en " + b );
System.out.println("El valor de a (tipo int) es " +a + " y ese valor en un float ha quedado en " + f );
System.out.println("El valor de s (tipo short) es " + s + " y ese valor en un int ha quedado en " + c);
}

Abraham Pérez Barrera


8. Conversión de tipos

Actividad 14: vistas las declaraciones de las variables que aparecen debajo, ¿qué pasaría con las conversiones

que se hacen a continuación?


// Declaraciones.
int n;
long c = 20;
float ft = 2.4f;
char k;
byte s = 4;
// Conversiones implícitas.
n = c;
k = s;
n = ft;

Abraham Pérez Barrera


8. Conversión de tipos

Actividad 15: explica el código que viene a continuación. Crea un proyecto de nombre «ut3act16» con el código y ejecútalo para
comprobar si has acertado.
public static void main(String args[]) throws IOException {
int int1, int2;
char chark;
byte bytes = 70;
float floath = 9.2f;
long longc = 9;
int1 = (int)longc;
chark = (char) bytes;
int2 = (int) floath;
System.out.println("El valor de longc (tipo long) es " + longc + " y ese valor en un int ha quedado en " + int1 );
System.out.println("El valor de bytes (tipo byte) es " + bytes + " y ese valor en un char ha quedado en " + chark);
System.out.println("El valor de floath(tipo float) es " + floath + " y ese valor en un int ha quedado en " + int2);
}

Abraham Pérez Barrera


9. COMENTARIOS
❑Los comentarios se introducen en los programas como ayuda para quienes tengan que leer dicho código.
❑Un comentario no se ejecuta ni compila junto con el resto del programa es, únicamente, para aclarar las
sentencias.
❑Hay dos tipos de comentarios:

➢ Empieza con los caracteres /* y finaliza con los caracteres */. Pueden ocupar más de una línea.
Ejemplo:
public static void main(string args[ ]) /*Método principal */
{ …
/* Esto es un comentario que termina con el asterisco barra. Pueden ocupar más de una línea*/
… }
➢ Comienza con los caracteres // . Dicho comentario termina cuando acaba la línea-
Ejemplo:
public static void main(string args[ ]) //Aquí empieza el proyecto

Abraham Pérez Barrera


10 PROGRAMACIÓN DE LA CONSOLA: ENTRADA Y
SALIDA DE INFORMACIÓN.
Cualquier programa informático tiene que contar con una entrada de datos y una salida de
información.
❑Vamos a ver cómo Java captura datos a través del teclado y cómo visualiza la información obtenida
a través de la pantalla.
❑Java controla esta salida y entrada de datos mediante clases que tiene definidas en el paquete
java.io.
ENTRADA DE DATOS DESDE EL TECLADO.

❑Vamos a ver dos formas de hacerlo utilizando la clase Scanner.

Abraham Pérez Barrera


10 PROGRAMACIÓN DE LA CONSOLA: ENTRADA Y
SALIDA DE INFORMACIÓN.
Ejemplo ENTRADA DE DATOS DESDE EL TECLADO usando la clase Scanner. Programa que pida un nombre y lo
visualice por pantalla.

public static void main(String[] args) throws IOException {

String nombre;

Scanner teclado = new Scanner(System.in);

System.out.print("\tInserte un nombre: ");

nombre=teclado.nextLine( );

System.out.println("\n\nEl nombre insertado es: ");

System.out.println("\n\n\tNOMBRE: " + nombre);

System.out.println("\n\nFinal del programa");

IMPORTANTE: al probar el código veremos que hay que añadir una serie de librerías.

Abraham Pérez Barrera


10 PROGRAMACIÓN DE LA CONSOLA: ENTRADA Y
SALIDA DE INFORMACIÓN.
Explicación código ejemplo anterior:
❑Hay que usar esta instrucción:
Scanner entrada=new Scanner(System.in);
❑El método nextLine() coge lo que se inserta a través de teclado hasta que se inserte Enter:
nombre=entrada.nextLine();
❑Esta clase tiene un método para cada tipo básico (entero, float,…) de Java, con lo cual si usamos esta clase no hace falta hacer
la conversión. Se utiliza en vez de nextLine(), nextFloat(), nextDouble(), nextInt(), nextLong(), nextShort().

❑Mientras que con la clase BufferedReader se utiliza un punto («.») para representar un número decimal, con la clase Scanner
se usará el punto («.») o la coma («,») dependiendo de la configuración del sistema operativo.

Abraham Pérez Barrera


10 PROGRAMACIÓN DE LA CONSOLA: ENTRADA Y
SALIDA DE INFORMACIÓN.
Actividad 16: Crea un proyecto de nombre «ut3act19» que pida un número float a través del teclado
y lo visualice por pantalla.

Abraham Pérez Barrera


10 PROGRAMACIÓN DE LA CONSOLA: ENTRADA Y
SALIDA DE INFORMACIÓN.
SALIDA DE DATOS POR PANTALLA.

❑Las instrucciones que ya hemos utilizado para visualizar mensajes en la pantalla son:

a. System.out.print(): visualiza el siguiente mensaje en la misma línea.

b. System.out.println(): visualiza el siguiente mensaje en la línea siguiente.

Abraham Pérez Barrera


10 PROGRAMACIÓN DE LA CONSOLA: ENTRADA Y
SALIDA DE INFORMACIÓN.
SALIDA DE DATOS POR PANTALLA.

❑ La salida por pantalla también puede realizarse utilizando el método printf, que nos
permite dar formato a la salida por pantalla.

❑ System.out.printf("%.3f ", n);


Imprimirá el valor de n mostrando únicamente 3 decimales, en caso de que el número de

decimales sea mayor lo redondeará.

Abraham Pérez Barrera

También podría gustarte