Está en la página 1de 20

Representacin de Datos y Aplicaciones Representaci

Tema 3 Elementos bsicos de programacin


Natividad Martnez Madrid Mart nati@it.uc3m.es

Objetivos del tema 3


Conocer la estructura bsica de un programa Java Comprender los conceptos de tipo, valor y variable Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo ms conveniente en cada caso Ser capaces de modelar funcionalidades bsicas aritmticas, lgicas y relacionales mediante los operadores y expresiones correspondientes
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 2

Contenido del tema 3


Estructura bsica de un programa Java Concepto de tipo y variable Tipos primitivos Concepto y tipo de operador y expresin Operadores aritmticos, lgicos y relacionales Elementos sintcticos bsicos
Comentarios Palabras reservadas Identificadores Variables Literales
Natividad Martnez Madrid 3

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Estructura bsica de un programa Java


Un programa Java est formado por una o varias clases
Cada clase puede tener sus atributos y mtodos Al menos una de las clases tendr un mtodo llamado main
Dicho mtodo es el que se comienza a ejecutar

Los mtodos tienen una serie de sentencias que se ejecutan en secuencia


Alguna de esas sentencias pueden ser pasos de mensaje a otros objetos (llamadas a sus mtodos)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

Ejemplo: Programa Java


/** Programa Java que dado el radio y altura * de un cilindro calcula su volumen */ public class VolumenCilindro { public static void main (String[] args){ /* El valor del nmero pi */ final double PI = 3.1415926536; double radio; double altura; radio = 23.4; // en centmetros altura = 120.2; // en centmetros System.out.println(Datos del cilindro: ); System.out.println(Radio: + radio); System.out.println(Altura: + altura); System.out.println(El volumen del cilindro es: ); System.out.println(PI * radio * radio * altura); } }
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 5

Tipos de datos
El tipo de datos determina
Los valores que puede tomar una variable Las operaciones que se pueden realizar sobre ella

Dos categoras principales de tipos de datos


Tipos primitivos Tipos referencia: para clases, interfaces y arrays

Java es un lenguaje fuertemente tipado


Cada variable y expresin tienen un tipo En todas la asignaciones se comprueba la compatibilidad de tipos
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 6

Tipos primitivos vs. tipos referencia


Persona Jos 23 carpintero dameNombre dameEdad

Clase Persona

No incluye el objeto, sino una referencia al mismo

dameProfesin

Tipo int

27

Slo incluye el valor, no comportamiento

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

Concepto de variable
Las variables son los nombres en un lenguaje de programacin Las variables siempre son de un tipo determinado
Al declarar la variable, se indica siempre el tipo y su nombre double radio;

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

Valor de una variable


El valor asignado a la variable puede ser
Un literal (valor constante)
a = 7.2

Una expresin de ese tipo


a=b+c

El resultado de un mtodo, que sea de ese tipo


a = sqrt (32.4)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

Tipos primitivos
Representan valores bsicos de los elementos de un programa Tienen un tamao y formato fijos Se definen literales (valores constantes) Clasificacin general:
Nmeros enteros Caracteres Nmeros reales Booleanos
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Aritmticos

Natividad Martnez Madrid

10

Nmeros enteros
Nmeros enteros positivos y negativos De distintos tamaos Formato: complemento a dos
Tipo byte short int long Descripcin Entero con signo Entero con signo Entero con signo Entero con signo Tamao 8 bits 16 bits 32 bits 64 bits Formato Complemento-2 Complemento-2 Complemento-2 Complemento-2 Mnimo -128 -32768 -2147483648
-9223372036854775808

Mximo +127 + 32767 +2147483647


+ 9223372036854775807

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

11

Literales enteros
Formato decimal
Cifras decimales 0, 34: tipo int Con l o L tras el nmero: 58941623984L: tipo long

Formato octal
Cifras octales: 0,1,2,3,4,5,6,7 Cada cifra octal representa 3 bits Los nmeros octales comienzan por 0: 0642, 0642L

Formato hexadecimal
Cifras hexadecimales: 0,1,2,3,4,5,6,7, 8, 9, a, b, c, d, e, f (tambin sirve en maysculas) Cada cifra hexadecimal representa 4 bits Los nmeros hexadecimales comienzan por 0x: 0xa54, 0xE08DL
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

12

Tipo carcter
En realidad tambin es un entero (sin signo)
Aritmtica de caracteres

Representacin de un carcter por su cdigo en formato Unicode


Tipo char Descripcin Entero sin signo Tamao 16 bits Formato Unicode Mnimo \u0000 Mximo \uffff

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

13

Literales carcter
Un carcter se representa entre comillas simples
a, A (son caracteres diferentes) ,

O bien como su cdigo Unicode


\u0061 (a), \u0041 (A) Permite representar cualquier alfabeto Caracteres especiales (secuencias de escape): comienzan por \
Secuencia escape \b \t \n \r \ \
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Significado Retroceso Tabulador Salto de lnea Cambio de lnea Comillas dobles Comillas simples Barra atrs
14

\\
Natividad Martnez Madrid

Nmeros reales
Nmeros reales positivos y negativos Aritmtica de punto flotante (estndar IEEE 754) signo * mantisa * 2exponente
Tipo float double Descripcin Real simple precisin Real doble precisin Tamao 32 bits 64 bits Formato IEEE 754 IEEE 754 Mnimo 3.40282347 e+38 1.40239486 e-45 1.79769313486231570 e+308 4.94065645841246544 e-324 Mximo

-0.0 0.0 Infinito negativo -4.9e-324 -1.7e308 +4.9e-324 +1.7e308 Infinito positivo

NaN (Not-a-Number)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

15

Literales reales
Deben incluir
O bien un punto decimal (cuidado, no una coma!) O bien una e o E (exponencial)
1e2 == 1*102

Ejemplos: 0.0, 4.0, 4., .23, 1.e2, 2E-2, .4e+4

Por defecto, son de tipo double


Salvo que incluyan una f o F al final
Ejemplos: 4.0f, 4.f, .23F, 1.e2F, 2E-2f, .4e+4f

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

16

Booleanos
Representan los valores lgicos true y false (literales) Base para las expresiones lgicas (condiciones) Los literales booleanos true y false no son equivalentes a los enteros 1 y 0 Operaciones lgicas bsicas:
A false true NOT A true false A false false true true B false true false true A AND B false false false true A false false true true B false true false true A OR B false true true true

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

17

Tipos de datos primitivos en Java


Tipo primitivo Descripcin Tamao Mnimo Mximo Envoltorio

boolean char byte short int long float

Valor binario Carcter unicode Entero con signo Entero con signo Entero con signo Entero con signo Real simple precisin

16 bits 8 bits 16 bits 32 bits 64 bits 32 bits

unicode 0 -128 -215 -231 -263 3.40282347 1.40239486 e-45 e+38

unicode 216-1 +127 +215-1 +231-1 +263-1

Boolean Character Byte Short Integer Long Float

double

Real doble precisin

64 bits

1.79769313486231570 e+308 4.94065645841246544 e-324

Double

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

18

Textos
String no es un tipo de datos primitivo sino una clase definida en Java para representar cadenas de textos. Es decir, las variables String son referencias al objeto de tipo String. Las cadenas de texto son una de las variables ms utilizadas en Java, por eso hay una forma especial abreviada de crearlas:
String s = asdf;

El contenido de la cadena de texto se escribe entre comillas dobles.


Ejemplos: perro, (cadena con un espacio en blanco), (cadena vaca), a (cadena formada por el carcter a: a a)
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 19

Operadores
Un operador es un elemento que toma uno o ms operandos y produce un nuevo valor
Operadores unarios. Ej: (-): -7 Operadores binarios. Ej: (*): 2.5 * 3.2 Operadores terciarios. Ej: (?:): b?(a>2):(c<5)

Tipos de operadores
Operadores artimticos Operadores relacionales Operadores lgicos Operadores a nivel de bit
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 20

10

Operadores aritmticos
Realizan las operaciones clsicas de la aritmtica:
(+) : suma (tambin concatenacin de Strings) (-) : resta (tambin es el menos unario) Bsicas (*) : multiplicacin (/) : divisin (%) : mdulo (resto) (++) : incremento (--) : decremento (+=) : suma y asignacin (-=) : resta y asignacin (*=) : multiplicacin y asignacin (/=) : divisin y asignacin (%=) : mdulo y asignacin
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Abreviadas unarias

Abreviadas binarias

Natividad Martnez Madrid

21

Operadores aritmticos bsicos


int int int int int a b c d e = = = = = 1 + a * b / c -d; 1; 3; 4; a; double double double double double da db dc dd de = = = = = 1 + 1; da * 3; db / 4; dc a; -dd;

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

22

11

Incremento y decremento
(++) y (--): aumentan o decrementan el valor de la variable en uno Existen dos variantes:
Preincremento (Predecremento): ++a (--a): primero se incrementa (decrementa) y luego se produce el valor. Postincremento (Postdecremento): a++ (a--): primero se produce el valor y luego se incrementa (decrementa). x = 93; y = ++x;
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid

x = 93; y = x++;
23

Operadores relacionales
Tanto los operandos como el resultado son booleanos Producen un resultado booleano:
true: si la relacin es cierta false: si la relacin es falsa

Operador
< > <= >= == !=

Significado
Menor que Mayor que Menor o igual Mayor o igual Igual Distinto Igualdad Orden

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

24

12

Operadores lgicos booleanos


Tanto los operandos como el resultado son booleanos
Operador
& | ^ ! && || &= |= ^= == != ?:

Significado
AND lgico OR lgico OR exclusivo lgico NOT lgico unario AND en cortocircuito OR en cortocircuito AND y asignacin OR y asignacin OR exclusivo y asignacin Igual a Distinto de If-then-else ternario

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

25

Ejemplo: Operadores lgicos


Expresin lgica de la implicacin: a => b La tabla de verdad de la implicacin lgica es:
a
false false true true

b
false true false true

=>
true true false true

La expresin lgica equivalente sera: ! (a && !b)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

26

13

Operador ?:
Operador ternario expresin1 ? expresin2 : expresin3
Se evala expresin2 si expresin1 es true, y expresin3 en caso contrario

Similar a una sentencia condicional if-then-else Ejemplo:


denom == 0 ? 0 : num/denom

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

27

Expresiones aritmtico-lgicas
Mezcla de expresiones aritmticas, relacionales y lgicas. Por ejemplo:
3+7 < 4*3 || 9 < 3

Ejemplo:
Se debe hacer la declaracin de la renta si se tienen al menos 18 aos y menos de 66, o bien si, teniendo ms de 66, los ingresos anuales son ms de 20000

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

28

14

Precedencia de operadores
Define cmo se evala una expresin cuando hay varios operadores presentes Por ejemplo:
a = x + y 2 / 2 + z

es distinto de
a = x + (y 2) / (2 + z)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

29

Orden de precedencia
Operadores unarios Operadores multiplicativos, de izquierda a derecha Operadores aditivos, de izquierda a derecha Operadores de relacin Operadores de asignacin

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

30

15

Elementos sintcticos bsicos


/** Programa Java que dado el radio y altura * de un cilindro calcula su volumen */ public class VolumenCilindro { public static void main (String[] args){ /* El valor del nmero pi */ final double PI = 3.1415926536; double radio; double altura; radio = 23.4; // en centmetros altura = 120.2; // en centmetros System.out.println(Datos del cilindro: ); System.out.println(Radio: + radio); System.out.println(Altura: + altura); System.out.println(El volumen del cilindro es: ); System.out.println(PI * radio * radio * altura); } }
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 31

Comentarios
/* ... */: comentario de bloque Todo lo que aparece entre las dos marcas se considera un comentario /** ... */: comentario de documentacin Caso particular de los comentarios de bloque Inclusin del comentario en la documentacin del programa generada automticamente con la herramienta javadoc //: comentario de lnea Desde la marca al final de esa lnea se considera un comentario
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 32

16

Palabras reservadas
Forman parte del lenguaje Java propiamente dicho y no pueden usarse como nombres de clases, objetos, etc. Ejemplos de palabras reservadas: class, new, int, void, final, etc.

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

33

Identificadores
Nombres que elige el programador para distintos elementos del programa: clases, objetos, variables, mtodos, etc.
Deben empezar con una letra y seguir con una sucesin de letras y cifras

Letras vlidas para formar identificadores:


Caracteres UNICODE: alfabeto latino, griego, hebreo, cirlico, con acentos, etc Los siguientes caracteres: subrayado ( _ ) y dlar ( $ )

Ejemplos de identificadores: VolumenCilindro, PI, radio, altura


Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 34

17

Convenios de nombrado de identificadores


Identificadores de variables o mtodos
Empezar con minscula. Si es un nombre compuesto, empezar cada palabra posterior con mayscula Ejemplo: nmeroElementos, ponValor

Identificadores de clases
Mismas consideraciones que en el caso anterior, pero empezando por mayscula Ejemplo: VolumenCilindro

Identificadores de constantes
Todo en maysculas. Si es un nombre compuesto, se separa cada palabra de la posterior con un subrayado Ejemplo: PI, VALOR_MAXIMO
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones Natividad Martnez Madrid 35

Variables
Nombres que hacen referencia a:
Objetos de una clase Elementos de tipos primitivos

Una variable queda determinada por:


Un nombre La clase a la que pertenece el objeto o bien el tipo primitivo (que determina qu valores se pueden guardar y con qu rango)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

36

18

Declaracin de variables
Se escribe primero el nombre del tipo o clase, y luego el nombre de la variable double radio;

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

37

Asignacin de variables
Nombre de variable seguido de un signo de igual seguido de una expresin del mismo tipo o clase que la variable a la que se le est asignando un valor
radio = 23.4; radio = 12.4 + 4.2 + a;

La declaracin y asignacin de variables pueden realzarse a la vez:


double radio = 23.4; String texto = Programacin;
Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

38

19

Constantes
Algunas variables se declaran como constantes. Eso quiere decir que su valor no puede cambiar en toda la ejecucin del programa. Se preceden por la palabra reservada final.
final double PI = 3.1415926536;

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

39

Literales
Se llama literales a posibles valores de tipos primitivos predefinidos en el lenguaje
Nmeros enteros Nmeros reales Booleanos Caracteres Textos (String no es tipo primitivo)

Tema 3: Elementos bsicos de programacin Representacin de Datos y Aplicaciones

Natividad Martnez Madrid

40

20

También podría gustarte