0% encontró este documento útil (0 votos)
3 vistas27 páginas

Variables y Tipos en Java

El documento aborda los fundamentos de programación en Java, centrándose en conceptos básicos como variables, tipos de datos y expresiones. Se describen elementos léxicos, la sintaxis de un programa simple, y se presentan ejemplos de código. Además, se detallan los tipos de datos primitivos en Java, incluyendo enteros, punto flotante, booleanos y caracteres.

Cargado por

Jorge
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas27 páginas

Variables y Tipos en Java

El documento aborda los fundamentos de programación en Java, centrándose en conceptos básicos como variables, tipos de datos y expresiones. Se describen elementos léxicos, la sintaxis de un programa simple, y se presentan ejemplos de código. Además, se detallan los tipos de datos primitivos en Java, incluyendo enteros, punto flotante, booleanos y caracteres.

Cargado por

Jorge
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Fundamentos de Programación

Bloque I: Conceptos básicos


Tema I.2: Variables. Tipos básicos

Fundamentos de Programación Dpto. Informática. UVA 1


I-2:Variables. Tipos básicos

Índice

[Link] léxicos
[Link] y expresiones
[Link] de datos primitivos

Fundamentos de Programación Dpto. Informática. UVA 2


I-2:Variables. Tipos básicos

Un programa Java (simple)


public class HolaMundo{/* Imprime en pantalla un mensaje
*/public static void main (String args[]){[Link]
("Hola, mundo 2020");}}

public class HolaMundo {

/* Imprime en pantalla un mensaje */

public static void main (String args [ ]) {


[Link] ("Hola, mundo 2020");
}
}

public class HolaMundo {

/* Imprime en pantalla un mensaje */

public static void main(String[] args) {


[Link] ("Hola, mundo 2020");
}
}
Fundamentos de Programación Dpto. Informática. UVA 3
I-2:Variables. Tipos básicos

Alfabeto
• Conjunto de caracteres Unicode
(identificadores, comentarios, literales)
([Link]
• Código ASCII
– Letras (minúsculas, mayúsculas)
– Dígitos, caracteres de puntuación
– Espacio en blanco
– Tabulador, avance de línea

Fundamentos de Programación Dpto. Informática. UVA 4


I-2:Variables. Tipos básicos

Backus-Naur (BNF)
• Estándar de descripción
<dígito> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<letra mayúscula> ::=
A|B|C|D|E|F|G|H|I|J|K|L|M|N|Ñ|O|P|Q|R|S|T|U|V|W|X|Y|Z
<letra minúscula> ::=
a|b|c|d|e|f|g|h|i|j|k|l|m|n|ñ|o|p|q|r|s|t|u|v|w|x|y|z
<letra> ::= <letra mayúscula> | <letra minúscula>
<dígitos> ::= <dígito> | < dígitos > < dígito>
<signo> ::= + | -
<número entero> ::= <signo> <dígitos> | <dígitos>

<signo_optativo> ::= <signo> |


<número entero> ::= <signo_optativo> <dígitos>
<número entero> ::= <signo>opt <dígitos>

Fundamentos de Programación Dpto. Informática. UVA 5


I-2:Variables. Tipos básicos

Léxico
• Palabras reservadas (clave) (class, if …)
• Identificadores (MiPrograma, Velocidad , n1… )
• Identificadores predefinidos (true, main …)
• Literales
– Números (-1, 3.141592 …)
– Caracteres ('A', '7' …)
– Cadenas ("Hola, mundo.", "A", "" …)
• Separadores (espacio, tabulador …)
• Operadores (+, == …)
• (Comentarios) (/* Sólo para los humanos */ )

Fundamentos de Programación Dpto. Informática. UVA 6


I-2:Variables. Tipos básicos

Palabras reservadas Java


abstract continue for new switch
assert default if package synchronized
boolean do goto private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

true false null

[Link]
Learning Java Language → Language Basics → Variables → Naming

Fundamentos de Programación Dpto. Informática. UVA 7


I-2:Variables. Tipos básicos

Identificadores
<identificador> ::= <idSimple> | <idCompuesto>
<idSimple> ::= <Jletra> <rid>
<Jletra> ::= <letra> | _ | $
<rid> ::= <rid> <Jletra> | <rid> <dígito> |
que no sea reservado
X x x1 numeroDeAlumnos borrar_pantalla PI
Compuestos (“qualified”) : [Link]
Convención:
•Comenzar con letra. No usar $. Nombres significativos.
•Nombres de clases: comienzan con mayúscula
•Variables y métodos: comienzan con minúscula
•Constantes en mayúsculas
Estilo con _ ó “camel case”

Fundamentos de Programación Dpto. Informática. UVA 8


I-2:Variables. Tipos básicos

Literales (constantes)
• Valores concretos de un tipo primitivo, String o nulo
<literal> ::= <lit entero>
| <lit punto flotante>
|<lit lógico>
| <lit carácter>
| <lit String>
|<lit nulo>

3 -123 3.141592 1.5e-28 true


'a' '3' "Hola, mundo" "3" null

Fundamentos de Programación Dpto. Informática. UVA 9


I-2:Variables. Tipos básicos

Otros elementos léxicos


• Blancos: espacio, tabulador, avance de línea …
• Separadores ( ) { } [ ] ; , .
• Operadores
= > < ! ~ ? :
== >= <= != && || ++ --
+ - * / & | ^ % << >> >>>
+= -= *= /= &= |= ^= %= <<= >>= >>>=
• Comentarios
/* lo que sea, incluso en varias líneas */
// lo que sea hasta el final de la línea
/* este * /comentario /* // /** termina aquí: */

Fundamentos de Programación Dpto. Informática. UVA 10


I-2:Variables. Tipos básicos

Sintaxis de un programa Java (simple)


public class HolaMundo {

// Imprime en pantalla un mensaje

public static void main (String args [ ]) {


[Link] ("Hola, mundo");
}
}

<programa> ::= public class <identificador de programa> {


<declaración optativa de variables y subrutinas>
public static void main (String args [ ]) {
<sentencias>
}
<declaración optativa de variables y subrutinas>
}

Fundamentos de Programación Dpto. Informática. UVA 11


I-2:Variables. Tipos básicos

Variables
• Zona de memoria para un dato que se
interpreta según su tipo
– Nombre (identificador)
– Tipo (“forma” = valores posibles, operaciones)
– Valor
• Su nombre se refiere al contenedor o al
contenido, según contexto
• El valor puede cambiar (variar) a lo largo de la
ejecución
Fundamentos de Programación Dpto. Informática. UVA 12
I-2:Variables. Tipos básicos

Definición y uso
• Definición
– Declaración
• nombre
• tipo
– Asignación de valor
• Uso

Fundamentos de Programación Dpto. Informática. UVA 13


I-2:Variables. Tipos básicos

Variables Java
• Definición:
– En dos fases
• Declaración <tipo> <lista de identificadores> ;
• Asignación de valor <id var> = <expresión> ;
– Definición “compacta” <tipo> <id> = <expresión> …
• Uso: en expresiones; significa su valor
int i, j, k; double x; String miNombre; // declaraciones
String saludo="Buenos días"; // definición
i = 7; miNombre = "Juan";// asignaciones
x = 2.5 / 2;
j = i + 5;
k = i ;
i = i + 1;

Fundamentos de Programación Dpto. Informática. UVA 14


I-2:Variables. Tipos básicos

Expresiones Java
• Definición:
– Declaración:
• No tienen nombre
• El tipo se deduce de los operandos y operadores
– Asignación de valor:
• El valor se calcula

• Uso: significa su valor


<expresión> ::= <literal> | <id var> | <invocación a método> | (<expresión>)
| <op unario o prefijo> <expresión> | <expresión> <op postfijo>
| <expresión> <op binario> <expresión>

3 3+2*4 ″hola″
i i+1 2.5 / 2;

Fundamentos de Programación Dpto. Informática. UVA 15


I-2:Variables. Tipos básicos

Programa ejemplo
public class Calculando {
// Ejemplo de cálculos

public static void main (String args [ ]) {

int num = 3;
double pi = 3.141592, dosPi ;

dosPi = 2*pi;
[Link] ("3 radianes son ");
[Link]( 360*3/dosPi );
[Link] (" grados");

[Link] (num + " radianes son " );


[Link] (360*j/dosPi +" grados" );
}
}

Fundamentos de Programación Dpto. Informática. UVA 16


I-2:Variables. Tipos básicos

Sentencias de salida

[Link] ( expresión de tipo String );


[Link] ( expresión de tipo String );

[Link] ("3 radianes son ");


[Link]( 360*3/dosPi );

[Link] (num + " radianes son " );


[Link] (360*j/dosPi +" grados" );

Fundamentos de Programación Dpto. Informática. UVA 17


I-2:Variables. Tipos básicos

Tipo de datos
• Conjunto de valores posibles
• Conjunto de operaciones realizables sobre ellos

• Simples • Compuestos
– Numéricos – Conjuntos (unión,
• Enteros (Z,{+, -, *, div …}) intersección …)
• Reales (R, {+, -, *, /, …})
– Cadenas de caracteres
• …
(concatenar…)
– Caracteres
– Multidimensionales
– Lógicos
– Registros o agregados
({true, false},{not, and, or …})
–… –…

Fundamentos de Programación Dpto. Informática. UVA 18


I-2:Variables. Tipos básicos

Tipos de datos primitivos Java


• Enteros
– byte 8 bits, [-128, 127]
– short 16 bits, [-32768, 32767]
– int 32 bits, [-2127483648, 2127483647]
– long 64 bits ≈ [263 , 263 -1]≈ 9 x 1018
• Punto flotante
– float IEEE 754, 32 bits (4 bytes)
– double IEEE 754, 64 bits (8 bytes)
• Lógicos
– boolean false, true
• Caracteres
– char 16 bits (2 bytes), unicode

Fundamentos de Programación Dpto. Informática. UVA 19


I-2:Variables. Tipos básicos

Tipos enteros
byte short int long
• Literales:
– Signo optativo
– Decimales 0 | <dig. no nulo><dígitos> opt
– Octales 0<dígitos octales>
– Hexadecimales 0x<dígitos hexadec.> | 0X<dígitos hexadec.>
• Sufijo l ó L : long
0 -2 0372 (=250) 0xFA (=250) 0xDadaCafe
0L -2L -0777l 0x7FFFFFL 0xC0B0L
• Operadores básicos:
cambio de signo - (unario) + (unario)
suma + diferencia -
producto * cociente / resto %

Fundamentos de Programación Dpto. Informática. UVA 20


I-2:Variables. Tipos básicos

Tipos punto flotante


float double
• 4 bytes • 8 bytes
• Máximo ≈ 10 38 • Máximo ≈ 10308
• ≈ 7 dígitos significativos • ≈ 15 dígitos significativos
• Literales
• Signo optativo
• Decimales <parteEntera> . <parteFrac><parteExp><sufijoTipo>
• Todo optativo; obligado: un dígito y (punto, parteExp o sufijo)
• <parteExp> ::= e <entero> | E <entero>
• <sufijoTipo> ::= f | F | d | D |
• Hexadecimales : obligada <parteExp > ::= p <entero> | P <entero>

Fundamentos de Programación Dpto. Informática. UVA 21


I-2:Variables. Tipos básicos

Tipos punto flotante (2)

float: double:
123.45f 123.45F 123.45d 123.45D 123.45
0.f .12F 12E-2F 0.012e1f 0. .12 12E-2 0.012e1
3.4028235e38f 1.4e-45f 1.797e308 4.9e-324
0XA.Bp0F 0xffp0f 0xA.Bp0D 0Xf.Fp1

• Operadores básicos:
cambio de signo - (unario) + (unario)
suma + diferencia -
producto * cociente / resto %

Fundamentos de Programación Dpto. Informática. UVA 22


I-2:Variables. Tipos básicos

Tipo lógico
boolean
• Literales: false true
• Operadores básicos
== != igualdad, desigualdad
! not
& ^ | and xor or, completos
&& || and or, perezosos

Fundamentos de Programación Dpto. Informática. UVA 23


I-2:Variables. Tipos básicos

Tipo carácter
char
• Literales
Letras 'a'..'z' 'A'..'Z' dígitos '0'..'9'
Imprimibles '%' '.' ',' '=' ' ' etc
'\b' '\t' '\n' '\f' '\r'
'\”' '\'' '\\'
Desde '\u0000' hasta '\uffff' (hex.)
Desde '\0' hasta '\377' (octal)

Fundamentos de Programación Dpto. Informática. UVA 24


I-2:Variables. Tipos básicos

Otros operadores
• Relacionales (numéricos, boolean y char)
> >= < <=
== !=
• Incremento y decremento (numéricos)
++ --
• Asignación
= += -= *= /= %=

Fundamentos de Programación Dpto. Informática. UVA 25


I-2:Variables. Tipos básicos

Conversiones de tipo
• En asignación, expresiones, …
• Conversiones implícitas (promociones)
– Operandos de un operador aritmético:
byte  short  int  long  float  double
– En asignaciones
• Conversiones explícitas ("casting")
(<nombre_de_tipo>) <expresión> (long)5 (float)150
• Conversión a String : cualquier tipo + tipo String
[Link] ("resultado="+5);

Fundamentos de Programación Dpto. Informática. UVA 26


I-2:Variables. Tipos básicos

Tabla de precedencias
Unarios (dcha) ++ -- ! - + "cast"
Multiplicativos * / %
Aditivos + -
Relacionales de orden < <= > >=
Relacionales igualdad == !=
Y & &&
O | ||
Asignación (dcha) = += -= *= /= %=

Fundamentos de Programación Dpto. Informática. UVA 27

También podría gustarte