Programación: tipos de datos Java

64
Tipos de datos Java A. V´ azquez-Pati˜ no Tipos de datos primitivos Manejo de constantes Operadores unarios Prefix y postfix Datosl´ogicos Cadenas Concatenaci´on etodos predefinidos Conversi´on de datos Clase String Clase Math API de Java Tipos de datos Java Angel V´ azquez-Pati˜ no [email protected] Departamento de Ciencias de la Computaci´on Universidad de Cuenca 24 de mayo de 2016 1 / 64

Transcript of Programación: tipos de datos Java

Page 1: Programación: tipos de datos Java

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 [email protected]

Departamento de Ciencias de la ComputacionUniversidad de Cuenca

24 de mayo de 2016

1 / 64

Page 2: Programación: tipos de datos Java

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

Page 3: Programación: tipos de datos Java

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

Page 4: Programación: tipos de datos Java

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

Page 5: Programación: tipos de datos Java

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

Page 6: Programación: tipos de datos Java

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

Page 7: Programación: tipos de datos Java

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

Page 8: Programación: tipos de datos Java

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

Page 9: Programación: tipos de datos Java

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

Page 10: Programación: tipos de datos Java

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

Page 11: Programación: tipos de datos Java

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

Page 12: Programación: tipos de datos Java

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

Page 13: Programación: tipos de datos Java

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

Page 14: Programación: tipos de datos Java

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

Page 15: Programación: tipos de datos Java

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

Page 16: Programación: tipos de datos Java

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

Page 17: Programación: tipos de datos Java

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

Page 18: Programación: tipos de datos Java

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

Page 19: Programación: tipos de datos Java

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

Page 20: Programación: tipos de datos Java

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

Page 21: Programación: tipos de datos Java

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

Page 22: Programación: tipos de datos Java

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

Page 23: Programación: tipos de datos Java

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

Page 24: Programación: tipos de datos Java

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

Page 25: Programación: tipos de datos Java

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

Page 26: Programación: tipos de datos Java

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

Page 27: Programación: tipos de datos Java

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

Page 28: Programación: tipos de datos Java

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

Page 29: Programación: tipos de datos Java

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

Page 30: Programación: tipos de datos Java

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

Page 31: Programación: tipos de datos Java

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

Page 32: Programación: tipos de datos Java

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

Page 33: Programación: tipos de datos Java

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

Page 34: Programación: tipos de datos Java

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

Page 35: Programación: tipos de datos Java

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

Page 36: Programación: tipos de datos Java

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

Page 37: Programación: tipos de datos Java

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

Page 38: Programación: tipos de datos Java

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

Page 39: Programación: tipos de datos Java

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

Page 40: Programación: tipos de datos Java

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

Page 41: Programación: tipos de datos Java

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

Page 42: Programación: tipos de datos Java

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

Page 43: Programación: tipos de datos Java

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

Page 44: Programación: tipos de datos Java

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

Page 45: Programación: tipos de datos Java

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

Page 46: Programación: tipos de datos Java

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

Page 47: Programación: tipos de datos Java

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

Page 48: Programación: tipos de datos Java

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

Page 49: Programación: tipos de datos Java

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

Page 50: Programación: tipos de datos Java

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

Page 51: Programación: tipos de datos Java

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

Page 52: Programación: tipos de datos Java

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

Page 53: Programación: tipos de datos Java

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

Page 54: Programación: tipos de datos Java

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

Page 55: Programación: tipos de datos Java

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

Page 56: Programación: tipos de datos Java

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

Page 57: Programación: tipos de datos Java

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

Page 58: Programación: tipos de datos Java

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

Page 59: Programación: tipos de datos Java

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

Page 60: Programación: tipos de datos Java

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

Page 61: Programación: tipos de datos Java

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

Page 62: Programación: tipos de datos Java

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

Page 63: Programación: tipos de datos Java

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

Page 64: Programación: tipos de datos Java

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