Post on 13-Jan-2017
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Tipos de datos Java
Angel Vazquez-Patinoangel.vazquezp@ucuenca.edu.ec
Departamento de Ciencias de la ComputacionUniversidad de Cuenca
24 de mayo de 2016
1 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Contenido
Tipos de datos primitivos
Manejo de constantes
Operadores unariosPrefix y postfix
Datos logicos
CadenasConcatenacion
Metodos predefinidosConversion de datosClase StringClase MathAPI de Java
2 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Tipos de datos primitivos I
Definition (Statically-typed)Todas las variables deben primero ser declaradas antesde ser usadas. Se debe especificar el tipo de la variable yel nombre:
int miVariable = 1;
El tipo de dato de una variable determina el valor queesta puede contener, ademas indica las operaciones quese pueden hacer con/en esta.
¿Como se debe nombrar una variable?
3 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Tipos de datos primitivos II
Nombre Tipo Capacidad Rango Aproximadobyte entero 8 bits [-128, 127]short entero 16 bits [-32768, 32767]int entero 32 bits con sigo [−231 , 231 − 1]
sin signo [0, 232 − 1]long entero 64 bits con signo [−263, 263 − 1]
sin signo [0, 264 − 1]float decimal simple 32 bits muy grandedouble decimal doble 64 bits muy grandeboolean logico 1 bit {true, false}
“size” no defchar caracter simple 16 bits [‘\u0000’ (0), ‘\uffff’ (65535)]
Java provee soporte especial para cadenas de caracteresvia la clase java.lang.String. Encerrando la cadenade caracteres entre comillas dobles automaticamentecreara un nuevo objeto String; por ejemplo,
4 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Tipos de datos primitivos III
String s = ‘‘this is a string’’;
Definition (Objetos inmutables)Los objetos String son inmutables: una vez creados, susvalores no pueden cambiar.
¡String no es dato primitivo!La clase String no es tecnicamente un tipo de datoprimitivo, pero, considerando el soporte especial dadopor Java, se tiende a pensar eso.
5 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Eficiencia
I Los datos enteros ocupan menos memoria que losdatos reales.
I Las operaciones entre datos enteros suelen sermucho mas rapidas.
6 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Manejo de constantes I
Definition (Constante)Es una variable que mantiene un valor inmutable a lolargo de toda la vida del programa. Las constantes enJava se definen mediante el modificador final.
Estructura
static final nombreConstante = valor;
Dıas de la semana y dıas laborales
1 s t a t i c f i n a l i n t D_SEM = 7 ;2 s t a t i c f i n a l i n t D_LAB = 5 ;
7 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Manejo de constantes II
Declaracion en la clase
1 p u b l i c c l a s s ConstanteEnJava {2
3 s t a t i c f i n a l i n t D_SEM = 7 ;4 s t a t i c f i n a l i n t D_LAB = 5 ;5
6 p u b l i c s t a t i c vo i d main ( String [ ] args ) {7
8 System . out . println ( ”Dias sem : ” + D_SEM ) ;9 System . out . println ( ”Dias l a b : ” + D_LAB ) ;
10
11 }12 }
8 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Manejo de constantes III
Declaracion en el metodo
1 p u b l i c c l a s s ConstanteEnJava {2
3 p u b l i c s t a t i c vo i d main ( String [ ] args ) {4
5 f i n a l i n t D_SEM = 7 ;6 f i n a l i n t D_LAB = 5 ;7
8 System . out . println ( ”Dias sem : ” + D_SEM ) ;9 System . out . println ( ”Dias l a b : ” + D_LAB ) ;
10
11 }12 }
9 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Operadores unarios I
Definition (Operadores unarios)Requieren solo un operando.
Operador Descripcion
+operador unario mas; indica un valor positi-vo (numeros son positivos sin el operador)
− operador unario menos; niega una expresion
++operador de incremento; incrementa un va-lor en 1
−− operador de decremento; decrementa unvalor en 1
!operador logico de complemento; invierteun valor booleano
10 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Operadores unarios IIPrueba de operadores unarios https://goo.gl/VIuNlv
1 c l a s s UnaryDemo {2
3 p u b l i c s t a t i c vo i d main ( String [ ] args ) {4
5 i n t result = +1;6 // r e s u l t i s now 17 System . out . println ( result ) ;8
9 result−−;10 // r e s u l t i s now 011 System . out . println ( result ) ;12
13 result++;14 // r e s u l t i s now 115 System . out . println ( result ) ;
11 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Operadores unarios III
16
17 result = −result ;18 // r e s u l t i s now −119 System . out . println ( result ) ;20
21 boo l ean success = f a l s e ;22 // f a l s e23 System . out . println ( success ) ;24 // t r u e25 System . out . println ( ! success ) ;26 }27 }
12 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Prefix y postfix I
Los operadores de incremento y decremento pueden seraplicados antes (prefix) o despues (postfix) deloperando. Ambas versiones tienen el mismo resultadofinal; sin embargo, por ejemplo, ++res es evaluado conel valor incrementado y res++ con el valor original.
¡Importante!Si se usa el incremento o decremento en una operacionsimple, no importa la version usada. Pero, puede haberuna diferencia significativa en una expresion mas larga.
13 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Prefix y postfix IIPrueba de prefix y postfix https://goo.gl/nnZNu3
1 c l a s s PrePostDemo {2 p u b l i c s t a t i c vo i d main ( String [ ] args ){3 i n t i = 3 ;4 i++;5 System . out . println (i ) ; // p r i n t s 46 ++i ;7 System . out . println (i ) ; // p r i n t s 58
9 System . out . println(++i ) ; // p r i n t s 610
11 System . out . println (i++); // p r i n t s 612
13 System . out . println (i ) ; // p r i n t s 714 }15 }
14 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Prefix y postfix III
15 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Reglas de precedencia de operadores I
Descripcion Operadoresoperadores posfijos op++ op−−
operadores unarios++op −−op +op -op ∼!
multiplicacion y division * / %suma y resta + −desplazamiento << >> >>>operadores relacionales < > <= =>
16 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Reglas de precedencia de operadores II
Descripcion Operadoresequivalencia == !=
operador AND &operador XOR ∧operador OR |
AND booleano &&OR booleano ||condicional ?:
operadores de asignacion= += -= *= /=\%= \&= ∧= ;=<<=>>=>>>=
17 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Ejercicios I
1. int x = -3 + 2 * 4 – 12 / 6 + 5 ;
2. int y = -3 + 2 * (14 – 2) / 6 + 5 ;
3. int i = 10; int n = i++ % 5; System.out.println(n);n = ++i % 5; System.out.println(n);
4. X = 7 % 2;
5. X = 8 % 3;
6. int x=5; y=5; int z; z=x++;
7. z=++y;
8. int i = 1; System.out.println(i); System.out.println(++i); System.out.println (i);
9. i = 1; System.out.println(i); System.out.println(i++); System.out.println (i);
18 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos I
I true o false
Operadores logicos
I and (&&)
I or (||)I not (!)
Asignacion
19 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos II
1 boo l ean boolVar ;2 boolVar = t r u e ;3 // Muestra boo lVar : t r u e4 System . out . println ( ” boo lVar : ” + boolVar ) ;5 // Muestra boo lVar : f a l s e6 System . out . println ( ” boo lVar : ” + ! boolVar ) ;
Operadores de comparacion
I evaluacion de datos
I devuelve valor logico
Ejemplo
20 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos III
1 boo l ean boolVar ;2 boolVar = (2 < 3 ) ;3 // Muestra 2 < 3? : t r u e4 System . out . println ( ”2 < 3? : ” + boolVar ) ;5 // Muestra 4 == 5? : f a l s e6 System . out . println ( ”4 == 5? : ” + (4==5));
21 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos IV
Operadores relacionales
22 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos V
Prioridad (precedencia) y orden de evaluacion
23 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos VI
Ejemplo
I not p se evalua p y despues se aplica la negacion
I p and q se evalua p y despues se evalua p and q
I not p or q se evalua (not p) or q ya que eloperador not tiene mas prioridad que el operador or
24 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos VII
Prioridad (precedencia) y orden de evaluacion
25 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Datos logicos VIII
26 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3
⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
27 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C
⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
28 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C
⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
29 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C
⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
30 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C
⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
31 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3
⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
32 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15
⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
33 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30
⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
34 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A
⇒ true10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
35 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10
⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
36 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5
⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
37 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2)
⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
38 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6)
⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
39 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3
⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
40 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3
⇒ true
41 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
EjerciciosCon A=5, B=3, C=-12 que devuelve la expresion
1. A > 3 ⇒ true2. A > C ⇒ true3. A < C ⇒ false4. B < C ⇒ false5. B ! = C ⇒ true6. A == 3 ⇒ false7. A∗B == 15 ⇒ true8. A∗B == −30 ⇒ false9. C/B < A ⇒ true
10. C/B == −10 ⇒ false11. A+B+C == 5 ⇒ false12. (A+B==8) && (A-B==2) ⇒ true13. (A+B == 8) || (A-B == 6) ⇒ true14. A > 3 && B > 3 && C < 3 ⇒ false15. A > 3 && B >= 3 && C < -3 ⇒ true
42 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Cadenas de caracteres
Un tipo de dato caracter proporciona objetos de la clasede datos que contiene solo un elemento como su valor.Elementos establecidos y normalizados por el estandarllamado ASCII (American Standard Code for InformationInterchange), el cual establece cuales son los elementos yel orden de precedencia entre los mismos. Los elementosson las letras (mayusculas y minusculas), numeros (0-9)y sımbolos especiales (e.g., !, @, #, $, %) disponibles enel teclado de la computadora y algunos otros elementosgraficos. El codigo ASCII no es unico, pero es el masutilizado internacionalmente.
43 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Operadores relacionales I
Los operadores relacionales <, >, <=, >=, ==, ! =son usados tambien para comparar datos de tipocaracter (se basa en el codigo ASCII), el resultado decualquiera de ellos es un valor de tipo de dato logico
44 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Operadores relacionales II
El operador .equals() permite comparar los valores delas cadenas, mientras que el operador == compara a losobjetosString miCadena1 = new String (“abc”);String miCadena2 = new String (“abc”);
45 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Operadores relacionales III
Tarea para la casaRevisar las diferencias.
46 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Clase String I
Java tiene una clase incorporada al paquete java.lang
que encapsula las estructuras de datos de una cadena yse llama String (la cual se utiliza cuando se trabaja concadenas que no pueden cambiar)Existe otra clase gemela de String que se llamaStringBuffer (la cual se utiliza para crear cadenas quepueden ser manipuladas despues de ser creadas)
Ejemplo
1 StringBuffer sb =2 new StringBuffer ( ” E l auto danado ! ” ) ;3 sb . insert (8 , ” r o j o e s t a ” ) ;4 System . out . println (sb . toString ( ) ) ;5 // E l auto r o j o e s t a danado !
47 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Clase String II
Para tener en cuentaLos Strings utilizan menos memoria que los StringBuffer.
48 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Concatenacion de cadenas I
Operador +
1 String a = ”Hola ” + ”Mundo” ;2 String a = ”Hola Mundo” ;
Mantenimiento
1 String fragmento = ”Por l o tanto , l o s que no”2 + ”son to t a lmen t e c o n s c i e n t e s de l a ”3 + ” de s v e n t a j a de s e r v i r s e de l a s armas”4 + ”no pueden s e r t o t a lmen t e c o n s c i e n t e s ”5 + ”de l a s v e n t a j a s de u t i l i z a r l a s . ” ;
49 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Concatenacion de cadenas IIConcatenacion de constantes
1 p u b l i c s t a t i c f i n a l String CONST_A = ”AAA” ;2 p r i v a t e s t a t i c f i n a l String CONST_B = ”BBB” ;3 p u b l i c f i n a l String CONST_C = ”CCC” ;4 p r i v a t e f i n a l String CONST_D = ”DDD” ;5 String a = ”Mostrar ” + CONST_A ;6 String b = ”Mostrar ” + CONST_B ;7 String c = ”Mostrar ” + CONST_C ;8 String d = ”Mostrar ” + CONST_D ;
ResultadoString a = "Mostrar AAA";
String b = "Mostrar BBB";
String c = "Mostrar CCC";
String d = "Mostrar DDD";
50 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Concatenacion de cadenas III
Concatenacion de variables finales
1 f i n a l String a = ” AAA” ;2 String b = ”Mostrar ” + a ;
ResultadoString b = "Mostrar AAA";
Concatenacion de variables
1 String v = ”Mundo” ;2 String resultado = ”Hola ” + v ;
ResultadoString resultado = "Hola Mundo";
51 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos predefinidos I
Conversion de datos
String.valueOf(numero) cualquier numero a cadena
Integer.parseInt(string) cadena a entero
Integer.toString(int) entero en cadena
Float.parseFloat(string) cadena a float
Float.toString(float) float a cadena
Double.parseDouble(string) cadena a doble
Double.toString(double) doble a cadena
52 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos predefinidos II1 p u b l i c c l a s s conversionDatos {2 p u b l i c s t a t i c vo i d main ( String [ ] args ) {3 String num1 = ”1” ;4 System . out . println ( ” S t r i n g : ” + num1 ) ;5
6 i n t num2 = Integer . parseInt ( num1 ) ;7 System . out . println ( ” I n t : ” + num2 ) ;8 // e l par ’ ametro debe s e r i n t9 num1 = Integer . toString ( num2 ) ;
10 System . out . println ( ” S t r i n g : ” + num1 ) ;11
12 f l o a t num3 = Float . parseFloat ( num1 ) ;13 System . out . println ( ” F l o a t : ” + num3 ) ;14
15 String num4 = String . valueOf ( num3 ) ;16 System . out . println ( ” S t r i n g : ” + num4 ) ;
53 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos predefinidos III
17
18 // e l par ’ ametro debe s e r S t r i n g19 doub l e num5 = Double . parseDouble ( num4 ) ;20
21 System . out . println ( ”Double : ” + num5 ) ;22 }23 }
54 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos de clases: Clase String I
length() longitud de cadena
charAt(ındice) retorna caracter segun el ındice (desde 0)
toLowerCase()
toUpperCase()
trim() elimina espacios de los extremos de lacadena
contains() true/false una cadena dentro de otra (casesensitive)
equals() true/false una cadena igual a otra (casesensitive)
equalsIgnoreCase()
55 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos de clases: Clase String IIsubstring(param1, param2) solo param1: param1 hasta
el final; con param2: desde param1 hastaparam2
indexOf(param) posicion de la primera ocurrencia deparam izquierda a derecha
lastindexOf(param) posicion de la primera ocurrencia deparam derecha a izquierda
1 String cadena=”Cuenca es c a p i t a l de Azuay . ” ;2
3 cadena . length ( ) ;4
5 String cadena=”Hola mundo” ;6 // ”n”7 cadena . charAt ( 3 ) ;8 cadena . toLowerCase ( ) ;
56 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos de clases: Clase String III
9
10 String cadena=” Hola mundo ”11 // ”Hola mundo”12 String cadena2=cadena . trim ( ) ;13 // t r u e14 cadena . contains ( ”mundo” ) ;15 cadena2 . equals ( cadena ) ;16
17 cadena . substring ( 5 ) ;18 cadena . substring (5 , 7 ) ;19
20 String cadena2=” l a casa de l a p l a ya ”21 cadena2 . indexOf ( ” l a ” ) ;
57 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos de clases: Clase String IV
Recorrido de cadena
1 String cadena=”Cuenca es c a p i t a l de Azuay . ” ;2
3 f o r ( i n t i=0; i<cadena . length ( ) ; i++) {4 System . out . println ( ” Ca r a c t e r ” + i
5 + ” : ” + cadena . charAt (i ) ) ;6 }
58 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos de clases: Clase Math I
abs()
ceil() redondea al siguiente numero entero deldoble especificado
floor() redondea al anterior numero entero deldoble especificado
round()
random() aleatorio [0, 1]
max(param1, param2) mayor de dos numeros
min()
pow(base, exponente)
sqrt(numero) raız cuadrada
PI
cos()
59 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Metodos de clases: Clase Math II
sin()
tan()
log()
exp()
1 doub l e num1=12.54;2 // 13 .03 Math . ceil ( num1 ) ;4 // 12 .05 Math . floor ( num1 ) ;6
7 Math . PI ;
60 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
API de Java
Definition (API)Application Programming Interface, Interfaz deProgramacion de Aplicaciones. Veahttps://goo.gl/ZalP1.
Especificacion de la API de Javahttp://docs.oracle.com/javase/7/docs/api/
61 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Fuentes I
Paginas web
• Tipos de datos primitivoshttps://goo.gl/X1Onst.
• Constantes en Java http://goo.gl/Dll5V9.
• Asignacion, aritmetica y operadores unarioshttps://goo.gl/DIBxOT.
• Precedencia de operadoreshttps://goo.gl/niO71E.
• Operadores logicos http://goo.gl/7C4ZHr.
• Operadores relacionales https://goo.gl/HTGLPd.
• Operadores Java http://goo.gl/QWTgC.
• Clase String http://goo.gl/90xS9.
62 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Fuentes II
• Concatenacion de cadenas en Javahttps://goo.gl/sO00lb.
• Clase Math http://goo.gl/50Xasj.
Libros
• Deitel, P.J., Deitel, H.M., 2012. Java: How toProgram, 9th ed. Prentice Hall, Upper Saddle River,N.J. Capıtulo 3. URL: http://goo.gl/M3fc8.
63 / 64
Tipos de datosJava
A. Vazquez-Patino
Tipos de datosprimitivos
Manejo deconstantes
Operadores unarios
Prefix y postfix
Datos logicos
Cadenas
Concatenacion
Metodospredefinidos
Conversion de datos
Clase String
Clase Math
API de Java
Revisar
Resumenes
• Deitel, P.J., Deitel, H.M., 2012. Java: How toProgram, 9th ed. Prentice Hall, Upper Saddle River,N.J. Pagina 97, parrafo Section 3.5; pagina 98,parrafo Section 3.7.
64 / 64