Publicado el 5 de Septiembre del 2020
479 visualizaciones desde el 5 de Septiembre del 2020
174,8 KB
21 paginas
Creado hace 22a (22/02/2003)
Programación en Java
Tema 2. El lenguaje de programación Java
(Parte 1)
Luis Rodríguez Baena
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática
1
Elementos del lenguaje (I)
El juego de caracteres.
No utiliza ASCII, sino Unicode de 16 bits.
Cada carácter se puede representar por \uxxxx.
Comentarios.
//comentario. Ignora el texto hasta final de línea.
/*comentario*/. Multilínea
/**comentario*/. Multilínea. Se utiliza para la documentación en
línea mediante javadoc.
Identificadores.
Utilizan caracteres Unicode.
Sensibles a mayúsculas.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
2
2
Elementos del lenguaje (II)
Palabras reservadas.
abstract default if private this
boolean
do implements protected throw
break double import public throws
return transient
byte else instanceof
short try
case extends int
catch final interface static void
char finally long strictfp
class float native super while
const
continue
const y goto no se pueden utilizar
switch
synchronized
volatile
for
goto
new
package
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
3
3
Tipos de datos
Datos de referencia y tipos de datos primitivos.
Datos primitivos
Tipo
boolean
char
byte
short
int
long
float
double
Tamaño / formato
true o false
Un carácter Unicode de 16 bits
Entero de 8 bits complemento a 2
Entero de 16 bits complemento a 2
Entero de 32 bits complemento a 2
Entero de 64 bits
Número en coma flotante de 32 bits
Número en coma flotante de 64 bits
Descripción
Dato lógico
Carácter
Entero corto
Entero
Entero
Entero largo
Real de simple precisión
Read doble precisión
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
4
4
Literales (I)
Literales de referencia (null).
Literales booleanos (true y false).
Literales de carácter.
Carácter Unicode entre comillas simples.
Representación hexadecimal \uxxxx donde xxxx es el valor
hexadecimal del carácter.
Secuencias de escape
\b
\f
\r
Retroceso
Salto de página
Retorno de carro
\t
\’
\\
Tabulador
Comillas dobles
Slash invertido
\n
\”
\ddd
Nueva línea
Comillas simples
Carácter en octal
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
5
5
Literales (II)
Literales enteros.
Prefijo 0 (cero) para octal y 0x para hexadecimal.
Sufijo L o l para enteros largos.
Literales de coma flotante.
F o f para simple precisión, D o d para doble precisión.
Las constantes serán float a no ser que se indique lo contrario.
Una constante double no se puede asignar directamente a una
variable float aunque esté dentro de su rango.
Literales de cadena.
Serie de caracteres Unicode separados por comillas dobles.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
6
6
Variables (I)
Según su tipo de información:
Variables de tipos primitivos.
Variables de referencia.
El tipo void.
Según su papel en el programa:
Variables de clase. Modificador static.
Variables de instancia.
Componentes de un array.
Argumentos de métodos.
Argumentos de contructuctores.
Argumentos de controladores de excepciones.
Variables locales.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
7
7
Variables (II)
Declaración de variables.
modificador [static] [final]tipodato identificador
El identificador, por convención, comienza en minúsculas.
Inicialización de variables.
Es necesario inicializar las variables locales.
En el resto toman sus valores por omisión.
Inicialización en la declaración:
tipodato identificador expresiónInicialización
Variables final.
No cambian su valor (constantes).
final en tipos primitivos y en tipos de referencia.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
8
8
Variables (III)
Visibilidad
Variables locales: el módulo donde han sido declaradas.
Miembros de una clase: depende del modificador.
Por omisión acceso “de paquete” (amistoso o friendly).
Modificador public. Acceso a todas las clases.
Modificador private. Acceso a los miembros de la clase.
Modificador protected. Accesible por las clases hijas (herencia) y por
los miembros de la clase.
Modificador
private
protected
public
“paquete”
Clase
Subclase
Paquete
Mundo
X
X
X
X
X
X
X
X
X
X
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
9
9
Conversiones de tipos
Conversión implícita de un tipo de menos a más precisión.
Por ejemplo, de char a int, de int a float.
Perdida de precisión en algunos casos.
Por ejemplo, de long a double ya que double tiene un rango entero
menor.
Conversión explícita: cast.
Pérdida de precisión cuando el destino tiene menos dígitos
significativos.
Conversión a cadenas.
Siempre es posible la conversión utilizando el operador de
Representación en cadena del dato u objeto: el método
concatenación.
toString().
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
10
10
Clases de envoltura (I)
Los tipos primitivos tienen clases de envoltura en el
paquete java.lang.
Boolean, Character, Byte, Short, Integer, Long, Float y
Double.
Proporcionan constantes y métodos adicionales a los tipos
primitivos.
Permiten pasar por referencia tipos primitivos.
Constructores:
Integer i = new Integer(5);
Double d = new Double(“123.30”);
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
11
11
Clases de envoltura (II)
Algunos métodos
123
public Tipo tipoValue(). Devuelve un dato del tipo primitivo
definido por tipo.
System.out.println(d.intValue()); devuelve el dato primitivo
public static Tipo valueOf(String cad). Devuelve el
mismo valor que el constructor new tipo(cad).
d1 = Double.valueOf("129.32"); //d1 = 129.32
public static toString(). Devuelve una representación del
objeto en forma de cadena.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
12
12
Clases de envoltura (III)
Algunos métodos
public int compareTo(Tipo otro). Devuelve un valor igual,
menor o mayor que 0, dependiendo si el objeto que lo invoca es
igual mayor o menor que otro.
System.out.println(d.compareTo(d1)); //Escribe -1
public int compareTo(Object obj). Si obj es de distinto
tipo que el objeto actual devuelve null.
public boolean equals(Object obj). Devuelve true si los
objetos son del mismo tipo y envuelven el mismo valor.
Devuelven null si obj no es del mismo tipo que el objeto que lo invoca.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
13
13
Operadores (I)
Aritméticos unarios
Aritméticos binarios
Asignación
Concatenación
Incrementales
Relacionales
Lógicos
Lógicos condicionales
+,-
+,-,*,/,%
=, +=, -=,*=,/=,%=
+, +=
++,-- (antes o después de la expresión)
<,<=,>,>=,==,!=
instanceof (evalúa si una referencia a un objeto
es una instancia de una clase o interfaz)
&,|,^, ! (no producen cortocircuito)
&&,|| (producen cortocircuito)
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
14
14
Operadores (II)
?:
De bits
De bits (desplazamiento)
De bits (asignación)
exprLógica?valor1:valor2
&, |, ^,~
<<,>> (desplaza bits a la derecha, rellenando
con el más significativo, el signo, a la
izquierda), >>> (desplaza bits a la derecha
rellenando con 0 a la izquierda)
<<=,>>=,>>>=
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
15
15
Operadores (III)
Prioridades
Sufijo
[],.,(argumentos),expr++,expr--
Unarios
Creación o tipo
Multiplicadores
Aditivos
Desplazamiento
Relacionales
Igualdad
De bits y lógico (AND)
+,-,++expr,--expr,~,!
new, (tipo)expr
*,/,%
+,-
<<,>>,>>>
<,>,<=,>=,==,instanceof
==,!=
&
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
16
16
Operadores (IV)
Prioridades (continuación)
De bits y lógico (XOR)
^
De bits y lógico (OR)
AND condicional
OR condicional
Condicional
Asignación
|
&&
||
?:
=,+=,-=,*=,/=,%=,<<=,>>=,>>>=
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática ©Luis Rodríguez Baena, 2003
17
17
Sentencias
De expresión.
Terminadas en punto y coma.
De asignación, de incremento y decremento, llamadas a métodos y
creación de objetos.
De declaración.
Declaración de variables locales.
Bloques.
Agrupación de sentencias delimitadas por llaves.
Se utilizan allí donde se puede utilizar una expresión.
Universidad Pontificia de Salamanca (campus Madrid)
Facultad
Comentarios de: Tema 2. El lenguaje de programación Java (Parte 1) - Programación en Java (0)
No hay comentarios