java programacion
Post on 15-Sep-2015
242 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
1Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica
Luis Rodrguez Baena
Programacin en Java
Tema 2. El lenguaje de programacin Java(Parte 1)
-
2Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 2
Elementos del lenguaje (I)
El juego de caracteres.z No utiliza ASCII, sino Unicode de 16 bits.z Cada carcter se puede representar por \uxxxx.
Comentarios.z //comentario. Ignora el texto hasta final de lnea.z /*comentario*/. Multilneaz /**comentario*/. Multilnea. Se utiliza para la documentacin en
lnea mediante javadoc.
Identificadores.z Utilizan caracteres Unicode.z Sensibles a maysculas.
-
3Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 3
Elementos del lenguaje (II)
Palabras reservadas.abstract default if private thisboolean do implements protected throwbreak double import public throwsbyte else instanceof return transientcase extends int short trycatch final interface static voidchar finally long strictfp volatileclass float native super whileconst for new switchcontinue goto package synchronizedz const y goto no se pueden utilizar
-
4Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 4
Tipos de datos
Datos de referencia y tipos de datos primitivos. Datos primitivos
Read doble precisinNmero en coma flotante de 64 bitsdoubleReal de simple precisinNmero en coma flotante de 32 bitsfloatEntero largoEntero de 64 bitslongEnteroEntero de 32 bits complemento a 2intEnteroEntero de 16 bits complemento a 2shortEntero cortoEntero de 8 bits complemento a 2byteCarcterUn carcter Unicode de 16 bitscharDato lgicotrue o falsebooleanDescripcinTamao / formatoTipo
-
5Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 5
Literales (I)
Literales de referencia (null). Literales booleanos (true y false). Literales de carcter.z Carcter Unicode entre comillas simples.z Representacin hexadecimal \uxxxx donde xxxx es el valor
hexadecimal del carcter.z Secuencias de escape
\\\\t
Slash invertido
Comillas dobles
Tabulador
\r\f\b
Retorno de carro
Salto de pgina
Retroceso
Carcter en octal\dddComillas simples\Nueva lnea\n
-
6Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 6
Literales (II)
Literales enteros.z Prefijo 0 (cero) para octal y 0x para hexadecimal.z Sufijo L o l para enteros largos.
Literales de coma flotante.z F o f para simple precisin, D o d para doble precisin.z Las constantes sern float a no ser que se indique lo contrario.z Una constante double no se puede asignar directamente a una
variable float aunque est dentro de su rango.
Literales de cadena.z Serie de caracteres Unicode separados por comillas dobles.
-
7Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 7
Variables (I)
Segn su tipo de informacin:z Variables de tipos primitivos.z Variables de referencia.z El tipo void.
Segn su papel en el programa:z Variables de clase. Modificador static.z Variables de instancia.z Componentes de un array.z Argumentos de mtodos.z Argumentos de contructuctores.z Argumentos de controladores de excepciones.z Variables locales.
-
8Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 8
Variables (II)
Declaracin de variables.z modificador [static] [final]tipodato identificadorz El identificador, por convencin, comienza en minsculas.
Inicializacin de variables.z Es necesario inicializar las variables locales.z En el resto toman sus valores por omisin.z Inicializacin en la declaracin:
tipodato identificador expresinInicializacin
Variables final.z No cambian su valor (constantes).z final en tipos primitivos y en tipos de referencia.
-
9Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 9
Variables (III)
Visibilidadz Variables locales: el mdulo donde han sido declaradas.z Miembros de una clase: depende del modificador.
9 Por omisin acceso de paquete (amistoso o friendly).9Modificador public. Acceso a todas las clases.9Modificador private. Acceso a los miembros de la clase.9Modificador protected. Accesible por las clases hijas (herencia) y por
los miembros de la clase.
XXpaqueteXXXXpublic
XXXprotectedXprivate
MundoPaqueteSubclaseClaseModificador
-
10
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 10
Conversiones de tipos
Conversin implcita de un tipo de menos a ms precisin.z Por ejemplo, de char a int, de int a float.z Perdida de precisin en algunos casos.
9 Por ejemplo, de long a double ya que double tiene un rango entero menor.
Conversin explcita: cast.z Prdida de precisin cuando el destino tiene menos dgitos
significativos.
Conversin a cadenas.z Siempre es posible la conversin utilizando el operador de
concatenacin.z Representacin en cadena del dato u objeto: el mtodo toString().
-
11
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 11
Clases de envoltura (I)
Los tipos primitivos tienen clases de envoltura en el paquete java.lang.z Boolean, Character, Byte, Short, Integer, Long, Float y Double.
z Proporcionan constantes y mtodos adicionales a los tipos primitivos.
z Permiten pasar por referencia tipos primitivos. Constructores:z Integer i = new Integer(5);z Double d = new Double(123.30);
-
12
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 12
Clases de envoltura (II)
Algunos mtodosz public Tipo tipoValue(). Devuelve un dato del tipo primitivo
definido por tipo.9 System.out.println(d.intValue()); devuelve el dato primitivo 123
z public static Tipo valueOf(String cad). Devuelve el mismo valor que el constructor new tipo(cad).9 d1 = Double.valueOf("129.32"); //d1 = 129.32
z public static toString(). Devuelve una representacin del objeto en forma de cadena.
-
13
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 13
Clases de envoltura (III)
Algunos mtodosz 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.9 System.out.println(d.compareTo(d1)); //Escribe -1
z public int compareTo(Object obj). Si obj es de distinto tipo que el objeto actual devuelve null.
z public boolean equals(Object obj). Devuelve true si los objetos son del mismo tipo y envuelven el mismo valor.9 Devuelven null si obj no es del mismo tipo que el objeto que lo invoca.
-
14
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 14
Operadores (I)
&&,|| (producen cortocircuito)Lgicos condicionales
&,|,^, ! (no producen cortocircuito)Lgicos
instanceof (evala si una referencia a un objeto es una instancia de una clase o interfaz)
=,==,!=Relacionales
++,-- (antes o despus de la expresin)Incrementales
+, +=Concatenacin
=, +=, -=,*=,/=,%=Asignacin
+,-,*,/,%Aritmticos binarios
+,-Aritmticos unarios
-
15
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 15
Operadores (II)
=,>>>=De bits (asignacin)
(desplaza bits a la derecha, rellenando con el ms significativo, el signo, a la izquierda), >>> (desplaza bits a la derecha rellenando con 0 a la izquierda)
De bits (desplazamiento)
&, |, ^,~De bits
exprLgica?valor1:valor2?:
-
16
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 16
Operadores (III)
Prioridades
&De bits y lgico (AND)
==,!=Igualdad
,=,==,instanceofRelacionales
,>>>Desplazamiento
+,-Aditivos
*,/,%Multiplicadores
new, (tipo)exprCreacin o tipo
+,-,++expr,--expr,~,!Unarios
[],.,(argumentos),expr++,expr--Sufijo
-
17
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 17
Operadores (IV)
Prioridades (continuacin)
=,+=,-=,*=,/=,%=,=,>>>=Asignacin
?:Condicional
||OR condicional
&&AND condicional
|De bits y lgico (OR)
^De bits y lgico (XOR)
-
18
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 18
Sentencias
De expresin.z Terminadas en punto y coma.z De asignacin, de incremento y decremento, llamadas a mtodos y
creacin de objetos.
De declaracin.z Declaracin de variables locales.
Bloques.z Agrupacin de sentencias delimitadas por llaves.z Se utilizan all donde se puede utilizar una expresin.
-
19
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 19
Sentencias condicionales
if(expresin-lgica)sentencia1
[elsesentencia2]
switch (expresin-ordinal) {case n : sentencias [;break];case n1 : sentencias [;break];case n2 : sentencias [;break];...[default: sentencias]
}
-
20
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 20
Sentencias repetitivas
while (expresin-lgica)sentencia
dosentencia
while (expresin-lgica)
for (expresin-inicial; expresin-lgica; incremento)sentencia
En el for se puede utilizar el operador , (coma) para separar varias sentencias en la expresin inicial o en la modificacin
-
21
Universidad Pontificia de Salamanca (campus Madrid)Facultad de Informtica Luis Rodrguez Baena, 2003 21
Saltos
break [etiqueta];z Para salir de cualquier bucle o bloque de sentencias.z etiqueta, indica una sentencia identificada por etiqueta: sentencia.
continue [etiqueta];z Permite ir al comienzo de cualquier bucle o saltar a una etiqueta.
return [expresin];z Permite salir de un mtodo devolviendo el valor de la expresin.
top related