Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Java
Expression
Cul es el valor utilizado para inicializar x?
int x = 4 + 2 * 5;
x=
14
2.5
Programacin 2
Expression
Calcular la siguiente instruccin el promedio de
tres variables double?
double d = a + b + c/3.0;
Programacin 2
System.out.println
Sirve para imprimir mensajes a pantalla
System.out.println(hola mundo);
Programacin 2
hola mundo
4
Programacin 2
Ejemplo
Cul ser la salida de las siguientes instrucciones?
System.out.println("Person\tHeight\tShoe
size");
System.out.println("=====================");
System.out.println("Hannah\t51\"\t7");
System.out.println("Jenna\t5'10\"\t9");
System.out.println("JJ\t6'1\"\t14");
Salida
Person Height Shoe size
=========================
Hannah 51"
7
Jenna
5'10"
9
JJ
6'1"
14
Hayde Mndez
Programacin 2
Interesante
System.out.println (result: + 3/5);
Qu se imprime?
result: 0
Hayde Mndez
Programacin 2
Hayde Mndez
Programacin 2
Scanner API
public Scanner(InputStream in) // Scanner(): convenience
// constructor for an InputStream
public Scanner(File s)
// Scanner(): convenience
// constructor for a filename
public int nextInt()
Hayde Mndez
Programacin 2
Scanner API
public double nextDouble() // nextDouble(): next next input
// value as a double
public float nextFloat() // nextFloat(): next next input value
// as a float
public String next()
string
Programacin 2
10
Ejemplo
int x = stdin.nextInt();
double d = stdin.nextDouble();
String s = stdin.next();
String s = stdin.nextLine();
Hayde Mndez
Programacin 2
11
Ejemplo
import java.util.*;
public class ScannerUsage {
public static void main (String args[]) {
Scanner stdin = new Scanner (System.in);
System.out.println (Ingrese un numero");
int x = stdin.nextInt();
int y;
System.out.println (Ingrese otro numero");
y = stdin.nextInt();
int z = x + y;
System.out.println(La suma de + x + y +
y + es " + z);
Hayde Mndez
Programacin 2
12
Casting
Es un procedimiento para transformar una
variable primitiva de un tipo a otro, o transformar
un objeto de una clase a otra, siempre y cuando
haya relacin de herencia entre ellas
Se distinguen dos clases de casting:
Implcito: no necesita cdigo para llevarse a cabo.
Ocurre cuando se realiza una conversin ancha.
Explcito: si es necesario cdigo para llevarse a
cabo. Ocurre cuando se realiza una conversin
estrecha.
Hayde Mndez
Programacin 2
13
Casting
Consideremos el siguiente cdigo:
double d = 3.6;
int x = Math.round(d);
Por qu?
Math.round() devuelve un valor tipo long no int
Cmo arreglarlo?
double d = 3.6;
int x = (int) Math.round(d);
Hayde Mndez
Programacin 2
14
Ejemplo
Consideremos los siguiente ejemplos:
int n = 100;
long l = n;
Ocupa 4 bytes
encaja
automticamente
long l = 100;
Casting
implcito
int num1=100;
short num2=(short)num1;
Ocupa 4 bytes
casting explcito
Hayde Mndez
Programacin 2
15
Ejemplos
int num1=1000000;
short num2=(short)num1;
double num1=25.5;
float num2=(float)num1;
Compila pero
produce valores
incongruente ya
que se sale del
rango del tipo short
Funciona
perfectamente
Casting explcito
float num1=25.5;
Funciona?
float num1=(float)25.5;
Hayde Mndez
Programacin 2
16
Ejemplos extraos
long num1 = 10000000000;
Esto no
funciona
Esto
tampoco..
Hayde Mndez
Cualquiera
de estos
dos s
Cul es la
forma
correcta?
Algunas notas
No es posible realizar casting entre booleanas y
cualquier otra variable primitiva.
S es posible realizar casting entre una variable
char y una variable primitiva que almacene
enteros.
Tambin en el caso contrario es posible. Debe
utilizarse un casting explcito en ambos casos.
Hayde Mndez
Programacin 2
18
Tarea
Debe realizar un programa, que lea del teclado
un valor entero, el cul representa una
temperatura dada en grados Celsius, gurdelo
con el nombre de temp, si no cumple con este
requisito, tendr como nota 0.
Su programa debe convertir esta temperatura a
su equivalente en grados Farenheit
TempF = 32 + (9* tempC)/5
Hayde Mndez
Programacin 2
19