Identificadores palabras clave y tipos Java

61
UD Lenguajes y Herramientas de Desarrollo de Software Actividad 3 : Identificadores, palabras clave y tipos

description

Palabras Claves

Transcript of Identificadores palabras clave y tipos Java

Page 1: Identificadores palabras clave y tipos Java

UD – Lenguajes y Herramientas de Desarrollo de Software

Actividad 3: Identificadores, palabras clave y tipos

Page 2: Identificadores palabras clave y tipos Java

Introducción

El contenido de la siguiente presentación es íntegramente elcontenido del curso Java Programming Language, Java SE 6 deOracle, con algunos agregados propios de Iberotec.

Se utiliza el material oficial de Oracle, por ser Iberotecmiembro del Oracle Academy.

Page 3: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 4: Identificadores palabras clave y tipos Java

Comentarios

Existen tres formas válidas de introducir comentarios:

// comentario en una línea

/* comentario en unao varias líneas

*/

/** el comentario de documentacióntambién puede abarcar más de una línea

*/

Page 5: Identificadores palabras clave y tipos Java

Comentarios

Los comentarios de documentación situados inmediatamenteantes de una declaración (de una variable, un método o unaclase) indican que ese comentario debería incluirse encualquier documentación que se genere de forma automática(por ejemplo, los archivos HTML generados por el comandojavadoc) para que sirvan de explicación del elementodeclarado.

El formato de estos comentarios y el uso de la herramientajavadoc™ se describen en la documentación del SDK de Java2. Vaya a la siguiente dirección:

http://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/index.html

Page 6: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 7: Identificadores palabras clave y tipos Java

Signos de punto y coma, bloques y espacio en blanco

En el lenguaje Java, una sentencia se compone de una ovarias líneas de código que se cierran con un signo de puntoy coma (;).

//Por ejemplo:totals = a + b + c + d + e + f;

//Equivale atotals = a + b + c

+ d + e + f;

Page 8: Identificadores palabras clave y tipos Java

Signos de punto y coma, bloques y espacio en blanco

Un bloque, a veces denominado sentencia compuesta, es unconjunto de sentencias delimitadas por llaves de apertura ycierre ({ }). Los bloques proporcionan algunas ventajas que sedescriben en el Módulo, “Expresiones y control del flujo”. Porahora, piense en los bloques como en conjuntos desentencias agrupadas.

// sentencia en un bloque{

x = y + 1;y = x + 1;

}

Page 9: Identificadores palabras clave y tipos Java

Signos de punto y coma, bloques y espacio en blanco

// definición de una clase contenida en un bloquepublic class MyDate {

private int day;private int month;private int year;

}

// un bloque de sentencias puede estar anidado en otro bloquewhile ( i < large ) {

a = a + i;// bloque anidadoif ( a == max ) {

b = b + a;a = 0;

}i = i + 1;

}

Page 10: Identificadores palabras clave y tipos Java

Signos de punto y coma, bloques y espacio en blanco

Es posible incluir espacios en blanco entre los elementos delcódigo. Se admite cualquier cantidad de espacio.Normalmente se incluye en forma de tabuladores, espacios ysaltos de línea para mejorar la calidad y la organización delcódigo fuente.

//Compare{int x;x=23*54;}

//Con:{

int x;x = 23 * 54;

}

Page 11: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 12: Identificadores palabras clave y tipos Java

Identificadores

En el lenguaje Java, un identificador es un nombre asignado auna variable, una clase o un método. Los identificadoresempiezan por una letra, el signo de subrayado (_) o elsímbolo del dólar ($). Los caracteres posteriores pueden serdígitos. No tienen longitud máxima y existe diferencia entremayúsculas y minúsculas.

He aquí algunos identificadores válidos:

● identificador

● nombreUsuario

● nombre_usuario

● _variable_sistema

● $transaccion

Page 13: Identificadores palabras clave y tipos Java

Identificadores

El código fuente de la tecnología Java se escribe con el juegode caracteres Unicode de 16 bits en lugar de texto ASCII de 8bits, por lo que admite muchas más letras de las quecomponen el abecedario inglés (a-z y A–Z). Aunque losidentificadores pueden usar caracteres no pertenecientes aljuego ASCII, tenga presente lo siguiente:

o Unicode puede admitir caracteres diferentes que tienen elmismo aspecto.

o Los nombres de clases sólo deberían escribirse en caracteresASCII porque la mayoría de los sistemas de archivos no admitencaracteres Unicode.

Page 14: Identificadores palabras clave y tipos Java

Identificadores

Un identificador no puede ser una palabra clave, pero puedecontener una palabra clave como parte de su nombre. Porejemplo thisOne es un identificador válido, pero this no lo esporque this es una palabra clave reservada para el lenguajeJava.

Los identificadores que contienen el signo de dólar ($) sonpoco frecuentes en general, aunque lenguajes como BASIC ylos sistemas AX/VMS hacen un amplio uso de ellos. Puestoque no son habituales seguramente es mejor evitar su uso, amenos que exista alguna convención local o alguna razón depeso para incluir este signo en el identificador.

Page 15: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 16: Identificadores palabras clave y tipos Java

Palabras clave en programación Java

Las palabras clave son palabras reservadas que tienen unsignificado especial para el compilador de Java. Sirven paraidentificar el nombre de un determinado tipo de datos o unconstructor del programa.

La siguiente Tabla con tiene una lista de las palabras claveutilizadas en el lenguaje Java.

Page 17: Identificadores palabras clave y tipos Java

Palabras clave en programación Java

Page 18: Identificadores palabras clave y tipos Java

Palabras clave en programación Java

Aunque parezca que true y false son palabras clave, enrealidad son valores literales booleanos, según se explica enel documento The Java Language Specification (sección3.10.3). Igualmente, null es, de hecho, el literal null (sección3.10.7).

Sin embargo, los literales true, false y null escritos enminúsculas no pueden usarse como identificadores.

Page 19: Identificadores palabras clave y tipos Java

Palabras clave en programación Java

Es necesario hacer algunas consideraciones importantessobre las palabras clave:

o Los literales true, false y null se escriben en minúsculas, no enmayúsculas como en el lenguaje C++. Técnicamente sonliterales, no palabras clave, pero esta distinción es puramenteacadémica.

o No existe ningún operador sizeof; no puede realizarse el accesodirecto a la memoria, por lo que la información carecería devalor.

o Las palabras clave goto y const no se utilizan en programaciónJava.

Page 20: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 21: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

El lenguaje Java incorpora numerosos tipos de datos. Éstos seclasifican en dos grandes categorías: tipos de clase y tiposprimitivos. Los tipos primitivos son simples valores, noobjetos. Los tipos de clase se utilizan para tipos máscomplejos, incluidos todos los que declara el propioprogramador. Los tipos de clase se utilizan para crear objetos.

Page 22: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Tipos primitivos

o El lenguaje Java define ocho tipos de datos primitivos que seenmarcan en cuatro categorías:

Lógicos: boolean

Textuales: char

Enteros: byte, short, int y long

Reales en coma flotante: double y float

Page 23: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Lógicos: boolean

o Los valores lógicos se representan mediante el tipo boolean,que puede contener uno de estos dos valores: true (verdadero)o false (falso). Estos dos valores se utilizan para representar unode dos posibles estados, como activado/desactivado o sí/no. Eltipo boolean admite dos valores literales: true y false. Elejemplo de código siguiente contiene la declaración einicialización de una variable de tipo boolean:

// declara la variable verdad como booleana y// le asigna el valor trueboolean verdad = true;

Page 24: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Lógicos: boolean

o No existe conversión de tipos entre enteros y booleanos.Algunos lenguajes, principalmente C y C++, permiteninterpretar los valores numéricos como lógicos. No es el casode Java. En este lenguaje, cuando se necesita un tipo boolean,sólo pueden utilizarse valores booleanos.

Page 25: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Textuales: char

o Los distintos caracteres se representan mediante el tipo char.Un valor char representa un carácter Unicode de 16 bits sinsigno. Es necesario escribir los literales char entre apóstrofos (''). Por ejemplo:

‘a’ La letra a‘\t’ Un tabulador‘\u????’ Un carácter Unicode concreto, ????, que se sustituye

exactamente por cuatro dígitos hexadecimales.Por ejemplo, ’\u03A6’ es la letra griega fi [Φ].

Page 26: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Textuales: String

o El tipo String es un tipo de clase, no primitivo, y se utilizapara representar cadenas de caracteres. Los caracteresutilizados en la secuencia son Unicode y la notación debarra invertida (\) usada para el tipo char se aplicatambién a String. Al revés de lo que ocurre en C y C++, lacadenas de caracteres no deben cerrarse con \0.

o Los literales String se escriben entre comillas (“”).

"El astuto zorro se lanza sobre el perro.“

Page 27: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

He aquí algunos ejemplos de declaración e inicialización devariables del tipo char y String:

// declara e inicializa una variable charchar ch = ’A’;

// declara dos variables charchar ch1,ch2;

// declara dos variables String y las inicializaString greeting = "Buenos días \n";String errorMessage = "No se ha encontrado el registro.";

// declara dos variables StringString str1,str2;

Page 28: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Enteros: byte, short, int y long

o Hay cuatro tipos de datos enteros en Java. Cada uno de ellos sedeclara utilizando una de las siguientes palabras clave byte,short, int o long.

o Puede representar los literales de los tipos enteros utilizandouna notación decimal, octal o hexadecimal, como se muestra acontinuación:

o Todos los tipos numéricos en Java representan números consigno.

2 Éste es el formato decimal del entero 2.

077 El 0 inicial indica un valor octal.

0xBAAC El prefijo 0x indica que es un valor hexadecimal.

Page 29: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Enteros: byte, short, int y long

o Los literales enteros son del tipo int, a menos que vayanexplícitamente seguidos de la letra L, lo que indicaría que setrata de un valor long. Da igual escribir la L en mayúscula ominúscula. No obstante, no se recomienda la l minúsculaporque resulta difícil diferenciarla del número 1. He aquí lasversiones largas (long) de los literales citados anteriormente.

//La L indica que el valor decimal 2 se representa como un entero largo.

2L

//El 0 inicial indica un valor octal.

077L

// El prefijo 0x indica que es un valor hexadecimal.

0xBAACL

Page 30: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Enteros: byte, short, int y long

o En la siguiente Tabla figuran el tamaño y el intervalo de valorescorrespondientes a los cuatro tipos de enteros. Larepresentación del intervalo de valores se define en laespecificación del lenguaje Java como un complemento a 2 y esindependiente de la plataforma.

Page 31: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Reales en coma flotante: double y float

o Las variables de tipos reales en coma flotante se declaran conlas palabras clave float o double. La lista siguiente contieneejemplos de números en coma flotante. Un literal numérico esun número real en coma flotante si incluye un separadordecimal y un exponente (la letra E o e), o bien si va seguido dela letra F o f (float) o de la letra D o d (double).

o El número 23 después de la E en el segundo ejemplo esimplícitamente positivo. Ese ejemplo es equivalente a6.02E+23.

3.14 Valor en coma flotante sencillo (double) en notación estándar

6.02E23 Valor en coma flotante largo

2.718F Valor corto de precisión simple (float)

123.4E+306D Valor largo double con D redundante

Page 32: Identificadores palabras clave y tipos Java

Tipos básicos del Lenguaje Java

Reales en coma flotante: double y float

o Los literales en coma flotante se consideran del tipo double deforma predeterminada. Es posible declarar literales del tipo floatagregando F o f al valor.

o El formato de un número en coma flotante está definido en eldocumento The Java Language Specification de acuerdo con lanorma IEEE (Institute of Electrical and Electronics Engineers) 754y utilizando los tamaños indicados en la siguiente tabla. Esteformato es independiente de la plataforma.

o Los literales en coma flotante se consideran double a menosque se declaren expresamente como float.

Page 33: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 34: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tiposVariables, declaraciones y asignaciones

En el programa siguiente se explica cómo declarar y asignar valores avariables con tipos int, float, boolean, char y String:

Page 35: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Variables, declaraciones y asignaciones

Las líneas siguientes contienen ejemplos de asignaciones no válidas:

y = 3.1415926;

// 3.1415926 no es un tipo int

// Necesita conversión de tipos y el decimal se

truncará.

w = 175,000;

// El signo de coma (,) no puede aparecer;

truth = 1;

// éste es un error de programación frecuente entre

programadores habituados a C / C++

z = 3.14156;

// No se puede especificar un valor de tamaño double

en una variable declarada como float. Requiere

conversión de tipos.

Page 36: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 37: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Tipos de referencia usados en JavaComo hemos indicado, hay ocho tipos de datos primitivos en Java:boolean, char, byte, short, int, long, float y double. El resto de los tipos hacenreferencia a objetos en lugar de a datos primitivos. Las variables que hacenreferencia a objetos se denominan variables de referencia. Por ejemplo, puededefinir una clase MyDate:

public class MyDate {

private int day = 1;

private int month = 1;

private int year = 2000;

public MyDate(int day, int month, int year) { ... }

public String toString() { ... }

}

La variable today contiene una referencia al objeto MyDate.

Page 38: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Tipos de referencia usados en JavaComo hemos indicado, hay ocho tipos de datos primitivos en Java:boolean, char, byte, short, int, long, float y double. El resto de los tipos hacenreferencia a objetos en lugar de a datos primitivos. Las variables que hacenreferencia a objetos se denominan variables de referencia. Por ejemplo, puededefinir una clase MyDate:

En el código siguiente se muestra un ejemplo de uso de MyDate:

public class TestMyDate {

public static void main(String[] args) {

MyDate today = new MyDate(22, 7, 1964);

}

}

La variable today contiene una referencia al objeto MyDate.

Page 39: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 40: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Construcción e inicialización de objetosYa hemos visto cómo ejecutar una llamada a new Xyz() a fin de asignarespacio para un objeto nuevo. Ahora veremos cómo colocar argumentosentre los paréntesis, por ejemplo new MyDate(22, 7, 1964).

El uso de la palabra clave new produce el siguiente resultado:1. En primer lugar se asigna e inicializa el espacio del nuevo objeto

como 0 o vacío (null). En programación Java, esta fase esindivisible para garantizar que no habrá objetos que contenganvalores aleatorios.

2. En segundo lugar se realiza cualquier inicialización explícita.

3. En tercer lugar se ejecuta un constructor, que es un métodoespecial. Los argumentos del paréntesis pasados a new se pasan alconstructor(22, 7, 1964).

4. Por último, el valor resultante de la operación new es unareferencia al nuevo objeto en el espacio de memoria dinámica. Estareferencia se guarda en la variable de referencia.

Page 41: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Asignación y organización de la memoriaEn el cuerpo de los métodos, la declaración siguiente asigna espacio dealmacenamiento únicamente para la referencia mostrada en la Figura 3-1:

La palabra clave new del ejemplo siguiente implica la asignación einicialización del espacio de almacenamiento, como se ilustra en laFigura 3-2.

MyDate my_birth = new MyDate(22, 7, 1964);

my_birth

Figura 3-1 Declaración de la referencia al objeto

????

Page 42: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Inicialización explícita de los atributos

Si introduce expresiones de asignación sencillas en las declaraciones demiembros, puede inicializar los miembros de forma explícita durante laconstrucción del objeto.Como puede verse en la Figura 3-3, los tres atributos de la clase MyDatedel ejemplo se han inicializado de forma expresa:

Page 43: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Ejecución del constructorLa parte final de la inicialización de un objeto nuevo es llamar alconstructor. Éste permite sobrescribir la inicialización predeterminada.Es posible realizar cálculos, así como pasar argumentos al proceso deconstrucción para que el código que solicita la construcción del nuevoobjeto pueda controlar el objeto creado.En el ejemplo de la Figura 3-4 puede verse la llamada al constructor:

Page 44: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Asignación de una variableAsignación con la que se establece la variable de referencia my_birthde forma que haga referencia al objeto recién creado, como se muestra en la Figura 3-5.

Page 45: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

La historia no acaba aquíEn realidad, construir e inicializar objetos es más complejo de lo que aquíse explica. El tema se trata con mayor profundidad en el Adtividad 6.

Page 46: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabrasclave y tipos

1. Comentarios

2. Signos de punto y coma, bloques y espacio enblanco

3. Identificadores

4. Palabras clave en programación Java

5. Tipos básicos del lenguaje Java

6. Variables, declaraciones y asignaciones

7. Tipos de referencia usados en Java

8. Construcción e Inicialización de Objetos

9. Asignación de referencias

Page 47: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Asignación de referenciasEn programación Java, una variable declarada con un tipo de clase seconoce como tipo de referencia, porque hace referencia a un tipo noprimitivo. Esto tiene algunas implicaciones en cuanto al significado dela asignación. Observe ese fragmento de código:

Se han creado cuatro variables: dos con tipos primitivos int y otras dos que hacen referencia al objeto MyDate. El valor de x es 7 y ese valor se copia en y. Tanto x como y son variables independientes y los cambios que se realicen en una de ellas no afectarán a la otra.

int x = 7;

int y = x;

MyDate s = new MyDate(22, 7, 1964);

MyDate t = s;

Page 48: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tiposAsignación de referencias

En el caso de las variables s y t, sólo existe el objeto MyDate, que contiene la fecha del 22 de julio de 1964. Tanto s como t se refieren al mismo objeto, como se observa en la Figura 3-6.

Page 49: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tiposAsignación de referencias

Si se reasigna la variable t, se crea el nuevo objeto MyDate (con elvalor 22 de diciembre de1964) y t hace referencia a este nuevoobjeto, como se muestra en la Figura 3-7. El código apareceríacomo:

Page 50: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Paso por valorEl lenguaje Java pasa los argumentos únicamente por valor, es decir, no sepuede cambiar el valor del argumento del método que hace la llamadadesde el método que recibe la llamada.

No obstante, cuando se pasa una instancia de un objeto en forma deargumento a un método, el valor del argumento no es el objeto en sí, sinouna referencia al objeto. Es posible cambiar el contenido de ese objeto enel método que recibe la llamada, pero no en la referencia al objeto.

Para muchos, esto parece una operación de paso por referencia y sucomportamiento tiene cosas en común con el del paso por referencia.Sin embargo, no es exactamente así por dos razones. La primera es que lacapacidad para cambiar el elemento pasado a un método sólo se aplica alos objetos, no a los valores de tipos primitivos. La segunda es el que elvalor asociado a una variable de tipo objeto es la referencia al objeto y noel objeto en sí. Ésta es una distinción importante en otros aspectos y, si seentiende con claridad, explica perfectamente la idea de que el lenguajeJava pasa los argumentos por valor.

Page 51: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

El siguiente ejemplo de código ilustra este concepto:public class PassTest {

// Métodos para cambiar los valores actualespublic static void changeInt(int value) {value = 55;}public static void changeObjectRef(MyDate ref) {ref = new MyDate(1, 1, 2000);}public static void changeObjectAttr(MyDate ref) {ref.setDay(4);}public static void main(String args[]) {MyDate date;int val;// Asigna el enteroval = 11;// Intenta cambiarlo

Paso por valor

Page 52: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

changeInt(val);// ¿Cuál es el valor actual?System.out.println("El valor entero es: " + val);

// Asigna la fechadate = new MyDate(22, 7, 1964);// Intenta cambiarlachangeObjectRef(date);// ¿Cuál es el valor actual?System.out.println("Mi fecha: " + date);

// Ahora se cambia el atributo de día// mediante la referencia al objetochangeObjectAttr(date);// ¿Cuál es el valor actual?System.out.println("Mi fecha: " + date);}}

Paso por valor

Page 53: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Paso por valor

La salida en pantalla de este código es la siguiente:

El método changeObjectRef no cambia el objeto MyDate, sino que es el método changeObjectAttr el que cambia el atributo de día (day) del objeto MyDate.

java PassTestEl valor entero es: 11Mi fecha: 22-7-1964Mi fecha: 4-7-1964

Page 54: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Referencia this

La palabra clave this se utiliza con dos fines:

● Resolver la ambigüedad entre las variables de instancia y losparámetros.

● Pasar el objeto actual como parámetro a otro método.

El texto del Código 3-1 proporciona una definición de clase dondepueden verse estos usos. La clase MyDate declara variables deinstancias, líneas 2–4. Uno de los parámetros destinados a uno de losconstructores (líneas 6–10) también se denomina day. Por tanto, en esecontexto, la palabra this resuelve la ambigüedad (línea 7). El métodoaddDays crea un nuevo objeto de fecha (línea 18). En esta llamada alconstructor, el método utiliza la palabra this como argumento parahacer referencia al objeto actual.

Page 55: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tiposCódigo 3-1 Uso de la palabra clave this

public class MyDate {private int day = 1;private int month = 1;private int year = 2000;

public MyDate(int day, int month, int year) {This.day = day;

this.month = month;this.year = year;

}

public MyDate(MyDate date) {this.day = date.day;this.month = date.month;this.year = date.year;

}

Page 56: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tiposCódigo 3-1 Uso de la palabra clave this

public MyDate addDays(int moreDays) {MyDate newDate = new MyDate(this);newDate.day = newDate.day + moreDays;

// No implementado aún: código de búsqueda cíclica(wrap around)...

return newDate; }public String toString() {

return "" + day + "-" + month + "-" + year; }

}

Page 57: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Convenciones de codificación en el lenguaje Java

Para escribir código en lenguaje Java se utilizan las siguientes convenciones:● Paquetes: los nombres de paquetes se escriben en minúsculas.

package transporte.objetos

● Clases: los nombres de clases deberían ser sustantivos escritos en letrasmayúsculas y minúsculas, con la primera letra de cada palabra en

ayúscula.class LibroContabilidad

● Interfaces: los nombres de interfaces siguen la mismas normas que losnombres de las clases. interface Contabilidad

● Métodos: los métodos deberían ser verbos escritos en letras mayúsculas yminúsculas, y con la inicial en minúscula. Dentro de cada nombre de método, laspalabras se separan con letras en mayúsculas. Conviene limitar el uso de signosde subrayado. cuadrarLibro()

Page 58: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

● Variables: deberían escribirse en mayúsculas y minúsculas, con la inicialen inúscula. Las palabras se separan mediante letras en mayúscula.Conviene limitar el uso de signos de subrayado y evitar el uso delsigno de dólar ($) porque este carácter tiene un significado especialpara las clases internas. clienteActualEl nombre de las variables tiene que ser explicativo para queindique a cualquier lector el propósito de su uso. Trate de no utilizarnombres de un solo carácter salvo para variables temporalesdesechables (por ejemplo, i, j y k utilizadas como variables decontrol de bucles).

● Constantes: las constantes primitivas deben escribirse enteramente enmayúsculas y separando las palabras mediante signos de subrayado.Las constantes de objeto pueden utilizar una combinación demayúsculas y minúsculas.TOTAL_NOMINACANTIDAD_MAXIMA

Convenciones de codificación en el lenguaje Java

Page 59: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

● Estructuras de control: cuando las sentencias forman parte de unaestructura de control del flujo, como es el caso de if-else o for, espreciso escribirlas entre llaves ({ }), aunque sean sentencias sencillas.

● Espacios: sólo debe colocarse una sentencia por línea y utilizar sangrías dedos o cuatro espacios para facilitar la lectura del código.El número de espacios puede variar en función de lasconvenciones de codificación utilizadas.

if ( condición ) {sentencia1;} else {sentencia2;}

Convenciones de codificación en el lenguaje Java

Page 60: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

● Comentarios: utilice comentarios para explicar los segmentos decódigo que no resultan obvios. Debe utilizar el delimitador //para los comentarios normales y marcar las secciones de comentario de gran tamaño usando/* . . . */como delimitadores. Los comentarios de documentación se delimitan mediante los caracteres /** . . . */y sirven a javadoc como texto de entrada paragenerar la documentación HTML del código.

// Comentario en una sola línea./* Los comentarios pueden ser más largos y ocupar varias líneas. *//** Comentario destinado a documentación.* @see la clase Another para más información.*/

Convenciones de codificación en el lenguaje Java

Page 61: Identificadores palabras clave y tipos Java

Actividad 3: Identificadores, palabras clave y tipos

Nota: La palabra @see es una etiqueta especial de javadoc que produceel efecto de un vínculo véase también y hace referencia a una clase o un método. Para obtener más información sobre javadoc, consulte la definición del sistema de documentación explicada en el documento The Design of Distributed Hyperlinked Programming Documentation, cuya autora es Lisa Friendly. Puede encontrarlo en la siguiente dirección:

http://java.sun.com/docs/javadoc-paper.html

Asimismo, si precisa más información sobre las convenciones decodificación del lenguaje Java de Sun, consulte la página web siguiente:

http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

Convenciones de codificación en el lenguaje Java