Академический Документы
Профессиональный Документы
Культура Документы
LENGUAJE JAVA.
UT2. PARTE I
Unidad de Trabajo 2
Mdulo: Programacin
Ciclo: 1 D.A.W.
1. TIPOS SIMPLES
Java define cuatro grupos de datos simples: enteros,
nmeros en coma flotante, caracteres y booleanos.
ENTEROS
Nombre
Tamao
(bits)
Rango
byte
short
int
8
16
32
-128 a 127
-32.768 a 32.767
-2.147.483.648 a 2.147.483.747
long
64
4
1. TIPOS SIMPLES
NMEROS EN COMA FLOTANTE
Nombre
Tamao(bits)
float
double
char
1. TIPOS SIMPLES
boolean
BOOLEANOS
Slo puede tomar dos valores: true o
false.
int ao=1999;
6
2. COMPROBACIN DE TIPOS
Java
3. LITERALES Y CONSTANTES
De tipo entero
Base decimal: 45
Base hexadecimal: 0x3A/0X3A
Base octal: 012
De tipo long
3. LITERALES Y CONSTANTES
Coma flotante
3. LITERALES Y CONSTANTES
Las constantes se declaran con la palabra final.
Cuando se declara una variable de tipo final, se ha de
inicializar y cualquier intento de modificarla en el curso
de la ejecucin del programa da lugar a un error en
tiempo de compilacin.
Normalmente, las constantes de un programa se suelen
poner en letras maysculas, para distinguirlas de las que
no son constantes. He aqu ejemplos de declaracin de
constantes.
Ejemplos:
final double PI=3.141592653589793;
final int MAX_DATOS=150;
10
4. VARIABLES
Java tiene tres tipos de variables:
De instancia
De clase
Locales
Las variables de instancia se usan para guardar los atributos de un objeto
particular.
Las variables de clase guardan datos que son los mismos para todos los objetos
de una determinada clase.
Las variables locales se utilizan dentro de mtodos o funciones y existen desde
el momento de su definicin hasta el final del bloque en el que se encuentran.
Ejemplo, una clase Crculo:
PI es una variable de clase y radio es una variable de instancia. PI guarda el
mismo valor para todos los objetos de la clase Circulo, pero el radio de cada
crculo puede ser diferente
class Circulo{
static final double PI=3.1416; //Variable de clase
11
double radio; // Variable de instancia
}
4. VARIABLES
4. VARIABLES: MBITO
Segn donde este declarada una variable, puede ser:
4. VARIABLES: MBITO
15
5. CONVERSIN DE TIPOS
Se
El
(tipo)variable
int a; byte b;
16
5. CONVERSIN DE TIPOS
Reglas
17
5. CONVERSIN DE TIPOS
EJEMPLO:
int i = 7;
double f = 5.5;
char c = 'w';
Operacin
i+f
i+c
i + c 0
(i + c) (2 * f / 5)
Valor
12.5
126
78
123.8
Tipo
double
int
int
double
18
5. CONVERSIN DE TIPOS
19
6. OPERADORES
6.1. Operadores aritmticos
6.2. Operadores de asignacin
6.3. Operadores incrementales
6.4. Operadores relacionales
6.5. Operadores lgicos
6.6. Operador de concatenacin de cadenas de caracteres.
6.7. Operador condicional ?:
6.8. Precedencia de los operadores
20
Operadores
binarios:
*
/
%
positivo.
Los operandos deben ser de tipo numrico o de tipo
char.
La divisin de enteros produce un nmero entero. Si
queremos conservar el decimal hay que hacer un
casting.
int a=3; int b=2;
double div=(double)a/b;
21
Valor
13
7
30
3
1
Operacin
v1+v2
v1-v2
v1*v2
v1/v2
v1%v2
Valor
14.5
10.5
25.0
6.25
0.5
Operacin
c1
c1 + c2
c1 + c2 + 5
c1 + c2 + 5
Valor
80
164
169
217
22
signo =.
El
+=
-=
*=
/=
%=
24
Ejemplos:
i++ o ++i; ambas incrementan la variable v
i- - o - -i; ambos decrementan la variable v
Pero:
j=i++; equivale a j=i; i++;
j=++i; equivale a i++; j=i;
25
Los
Resultado
false
true
false
false
27
Descripcin
&&
AND en cortocircuito
||
OR en cortocircuito
&
AND
OR
Con
28
Resultado
true
true
false
true
false
true
true
29
RESUELVE
int i = 5, j = 7, x = 2, y = 2, z = 2;
float f = 5.5, g = -3.25;
Expresin
i += 5
f = g
j *= (i 3)
f /= 3
i %= (j - 2)
x *= -2 * (y + z) / 3
Expresin equivalente
i=i+5
f=fg
j = j * (i 3)
f=f/3
i = i % (j 2)
x = x * (-2 * (y + z) / 3)
Valor final
10
8.75
14
1.833333
0
-4
30
Sintaxis:
Expresin_lgica ? res1 : res2
Si la Expresin_lgica toma valor true, el operador devuelve
res1; en caso contrario, el operador devuelve res2.
(Atencin, no es que ejecuten las instrucciones que hay en res1 o res2, sino que devuelve el
valor de la expresin que hay en res1 o res2 y se lo asigna a la variable que hay en
expresin_lgica)
31
Otros ejemplos :
int a=1, b=2, c=3;
c+=(a>0 && a<= 10) ? ++a : a/b; //a pasa a valer 2, y c pasa a valer 5
int a=50, b=10, c=20;
c+=(a>0 && a<=10) ? a++ : a/b; // c pasa a valer 25
32
33
7. SENTENCIAS DE CONTROL
1.
2.
3.
Sentencias de SELECCIN.
Sentencias de ITERACIN.
Sentencias de SALTO.
35
36
SENTENCIAS DE SELECCIN: IF
Condicional simple:
if (condicin) {
sentencia/s;
}
Condicional doble:
if (condicin){
sentencia/s;
}
else{
sentencia/s;
}
Ejemplo:
if (num<3)
System.out.println("Su numero es menor que 3 " ) ;
else
System.out.println("Su numero es mayor o igual que 3 " ) ;
37
SENTENCIAS DE SELECCIN: IF
Condicionales anidadas:
if (condicin){
sentencia/s;
}
else if (condicin) {
sentencia/s;
}
else if (condicin) {
sentencia/s;
}
else {
sentencia/s;
}
if (num == 0)
{System.out.println("CERO!!" );}
else if(num == 1)
{System.out.println("UNO!!" );}
else if(num == 2)
{System.out.println("DOS!!" );}
else if (num == 3)
{System.out.println("TRES!!" );}
else if(num == 4)
{System.out.println("CUATRO!!" );}
else if (num == 5)
{System.out.println("CINCO!!" );}
else if (num == 6)
{System.out.println("SEIS!" );}
else if (num == 7)
{System.out.println("SIETE!!" );}
else if(num == 8)
{System.out.println("OCHO!!" );}
else if (num == 9)
{System.out.println("NUEVE!!" );}
38
else
{System.out.println("El numero es mayor a 9" );}
//Fin del If
SENTENCIAS DE SELECCIN: IF
int i,j,k;
if (i==10)
if (j<20) System.out.println(uno);
if(k<30) System.out.println(dos);
else System.out.println(tres);
else System.out.println(cuatro);
39
SENTENCIAS DE SELECCIN: IF
Ejemplo:
int numero=61;
if (Math.abs(numero)<10)
System.out.println(Nmero de 1 dgito);
else if (Math.abs(numero)<100)
System.out.println(Nmero de 2 dgitos);
else System.out.println(Nmero de ms de 2 dgitos);
40
Sintaxis:
41
43
Bucle
Bucle
while:
while (expresin_lgica) {
sentencia/s;
}
do while:
for:
do{
sentencia/s;
}while (expresin_lgica);
44
BUCLE WHILE
public class Ejemplo1 {
//Comienzo del flujo principal del programa.
Realiza un programa que muestre los nmeros pares que hay entre el 1 y el 20.
BUCLE DO-WHILE
public class Ejemplo2 {
//Comienzo del flujo principal del programa.
BUCLE FOR
public class Ejemplo3 {
//Comienzo del flujo principal del programa.
CONTADOR Y ACUMULADOR
Un contador es una variable que cuenta las veces que se ha
realizado un proceso.
contador se incrementa en un valor constate
Ejemplo: contador=contador+1
CONTADOR Y ACUMULADOR
public class Contador {
public static void main(String[] args) {
int contador=1;
int acuSuma=0;
while (contador<=10){
contador++;
acuSuma+=contador;
}
System.out.println("El resultado de la suma es: "+ acuSuma);
}
51
EJERCICIOS
3.1.Identifica los errores de los siguientes fragmentos de
cdigo:
a) if (edad>=65);
System.out.println(edad mayor o igual que 65);
else System.out.println(edad mayor que 65);
b) int x=1, total;
while (x<=10)
total+=x;
x++;
c) int i,j,k;
for (i=0,j=10; j+i;i++)
k=i/j;
d) do{
System.out.println(hola);
}while (x<=10)
52
EJERCICIOS
3.2.Indica cual es la salida del siguiente programa:
public class Misterio{
public static void main( String args[]) {
int y, x=1, total=0;
while (x<=10) {
y=x*x;
System.out.println(y);
total+=y;
x++;
}
System.out.println(El total es: + total);
53
8. ENTRADA/SALIDA BSICA
SALIDA BSICA
package Ejemplo;
import java.io.*;
public class CMain {
public static void main(String[] args) {
System.out.println(hola);
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
En ocasiones nos puede interesar tener una salida de datos en pantalla con
formato. Debemos usar System.out.printf.
Por ejemplo cuando queremos mostrar un nmero de tipo float o double con un
nmero determinado de decimales y no con los que por defecto muestra Java.
56
Entrada Bsica
En Java, hay muchas clases que permiten la entrada de datos a travs del teclado.
Vamos a ver dos formas de hacerlo:
Usando las clases InputStreamReader y BufferedReader.
Usando la clase Scanner.
InputStreamReader y BufferedReader
Para ello, hay que usar estar dos instrucciones:
La clase BufferedReader reserva memoria para guardar los datos que se insertan
a travs del teclado. Es decir, el objeto teclado guarda la informacin en
memoria.
Entrada Bsica
Hay que usar ambos objetos para poder capturar los datos del teclado.
El objeto de tipo BufferedReader tiene un mtodo que es readLine(). Dicho mtodo
se encarga, concretamente, de tomar todo lo que se inserte a travs del teclado hasta
pulsar enter. La llamada a dicho mtodo sera:
teclado.readline()
Este mtodo lo que toma a travs del teclado lo hace siempre en formato String.
String dato=teclado.readline();
Cuando quieres trabajar con un nico carcter:
char a=teclado.readLine().charAt(0);
Cuando queremos trabajar con nmeros en lugar de con cadenas de caracteres
tenemos que pasar el tipo String al tipo de dato con el que queremos trabajar:
Si lo quieres pasar a int: int datoInt=Integer.parseInt(datoString);
Si lo quieres pasar a short: short datoShort=Short.parseShort(datoString);
Si lo quieres pasar a long: long datoLong=Long.parseLong(datoString);
Si lo quieres pasar a float: float datoFloat=Float.parseFloat(datoString);
Si lo quieres pasar a double:
double datoDouble=Double.parseDouble(datoString);
Hay que usar el punto para representar un nmero decimal.
58
Ciertos
mtodos
requieren que
se
controlen
posibles
errores que puedan
producirse durante la
ejecucin
del
programa,
por
ejemplo que no haya
mem. RAM suficiente.
Es el caso del mtodo
readline.
}
}
ENTRADA BSICA
Clase Scanner
Ahora podemos usar los objetos de la clase Scanner que permiten la entrada de
datos.
String nombre;
nombre=entrada.nextline();
float numero;
numero=entrada.nextFloat();
Esta clase tiene un mtodo para cada tipo bsico de Java, con lo cual si usamos
esta clase no hace falta usar la conversin.
Ejercicio: Escribe un programa que pida el nmero que tiene asignado un empleado y
su nombre. Posteriormente, se visualizar dicha informacin.
Si el empleado tiene un nombre compuesto, como por ejemplo Juan Carlos, solo se
coger el primer nombre indicado. Hay que averiguar cual es el mtodo de la clase
Scanner que toma caracteres hasta que se encuentre con el primer carcter en blanco.