La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Utilizar comentarios Distinguir entre identificadores válidos e inválidos Reconocer las palabras claves de la tecnología Java. Definir los valores literales.

Presentaciones similares


Presentación del tema: "Utilizar comentarios Distinguir entre identificadores válidos e inválidos Reconocer las palabras claves de la tecnología Java. Definir los valores literales."— Transcripción de la presentación:

1

2

3 Utilizar comentarios Distinguir entre identificadores válidos e inválidos Reconocer las palabras claves de la tecnología Java. Definir los valores literales para los tipos de datos numéricos y de texto Definir los términos variable primitiva y variable de referencia. Declarar variables de tipo clase. Construir un objeto usando new. Describir la inicialización por defecto. Describir la importancia de una variable de referencia. Enunciar las consecuencias de asignar variables de tipo clase

4 Una sentencia es una o más líneas de código terminadas con un punto y coma (;) total = a + b + c + d + e + f; Un bloque es una colección de sentencias entre llaves que abren y cierran : { x = y + 1; y = x + 1; }

5 Debe usar un bloque en la definición de clase: public class MyDate { private int day; private int month; private int year; } Se puede anidar bloques. Cualquier cantidad de espacios en blanco es permitido en un programa Java.

6 Son nombres dados a variables, clases o métodos Puede empezar con una letra Unicode, infraguión( _ ) o signo de pesos ($) Son case-sensitive y no tienen largo máximo Ejemplos: Identificador NombreUsuario nombre_usuario _sys_var1 $cambio

7 Sin embargo se recomienda utilizar los identificadores en forma camelCase. Ejemplos de como se usa: String techManager; // OK String TechManager; // tiene que empezar en minúscula String tech_Manager // no se usa subguiones. Sun propone convención de nombres:

8 Las 49 palabras reservadas: No pueden ser utilizadas como nombres de clases, métodos o variables.

9 El lenguaje de programación Java define ocho tipos primitivos: Numericos – byte, short, int y long Punto flotante – double y float Lógicos – boolean Textual – char

10 Los 6 tipos numéricos son con signo, positivos o negativos Se representan en notación complemento a dos

11 Rangos para los tipos de datos numéricos

12 El tipo de dato boolean puede tomar solo los valores, true y false. Por ejemplo, la sentencia: boolean truth = true; declara la variable truth de tipo boolean y le asigna el valor true. El tipo char contiene un único carácter Unicode representado con 16 bits (solo valores positivos)

13 Los literales null, true y false se comportan también como palabras reservadas. El tipo char es en realidad un integral, puede ser asignado a cualquier tipo numérico suficientemente grande para almacenarlo (2 16 – 1)

14 Un literal primitivo es un valor que se escribe en el código. Ejemplo: b // literal char 42 // literal int false // literal boolean // literal double

15 Hay 3 formas de representarlos Decimal (en base 10) Octal (en base 8) Hexadecimal (en base 16) Decimal int x = 43; Octal int y = 011; // decimal 9 Hexadecimal int z = 0xDeadCafe

16 Uno de los pocos lugares donde Java no es case- sensitive es en los digitos de los números hexadecimales Por defecto todos los literales integrales (octales, decimales y hexadecimales) son definidos como int. También pueden ser especificados como long utilizando el sufijo L o l long w = L; long z = 0xFFFFl;

17 Opcionalmente podría agregarse el sufijo D o d a los literales double, si bien no es necesario ya que es el comportamiento por defecto, lo siguiente es válido: double d = D; double d2 = e4d;

18 Se definen como un número, una coma decimal (.) y más números representando la fracción. double d = ; Opcionalmente E o e (para valores exponenciales) y un número double d = E-23; Los números en punto flotante se definen como double por defecto (64 bits). Si se quiere asignar un literal de esta forma a un float se deberá agregar el sufijo F o f. float f = // error de compilación float f = F;// Ok

19 Un valor booleano solo puede ser true o false. boolean t = true; boolean f = 0; // error de compilación Siempre donde se requiera que se evalúe una condición booleana, deberá tomar valores true o false int x = 1; if (x) { … } // error de compilación!

20 Utiliza la siguiente notación: 'a' La letra a '\t' El tabulador '\u????' Los cuatro ????, es un número hexadecimal que representa a un carácter específico en Unicode (por ejemplo,\u03A6 es la letra Griega phi [Φ])

21 Recordar que el tipo char es un tipo integral de 16 bits sin signo. Las siguientes asignaciones son legales: char a = 0x892; char b = 982; char c = (char) // requiere casteo; se va de // rango char d = (char) -96 Caracteres de escape válidos: \ (single quote) \ (double quote) \\ (backslash) \t (horizontal tab) \b (backspace) \r(carriage return) \f(formfeed) \n(newline)

22 No es un tipo primitivo, es una clase Se define entre comillas dobles (" ") "The quick brown fox jumps over the lazy dog." Ejemplos: String greeting = "Good Morning !! \n"; String errorMessage = "Record Not Found !"; Los veremos más adelante en profundidad.

24 public class Assign { public static void main (String args []) { // declara variables de tipo int int x, y; // declara y asigna un punto flotante float z = 3.414f; // declara y asigna un double double w = ; // declara y asigna un boolean boolean truth = true; // declare una variable character char c;

25 // declara una variable String String str; // declare and assign String variable String str1 = "bye"; // assign value to char variable c = 'A'; // assign value to String variable str = "Hi out there!"; // assign values to int variables x = 6; y = 1000; }

26 Son todos los tipos que no son tipos primitivos Una variable referencia contiene un puntero a un objeto. Thread t = ??? // que literal podría asignarse ?

27 Ejemplo: public class MyDate { private int day = 1; private int month = 1; private int year = 2000; public MyDate(int day, int month, int year) {... } public void print() {... } }

28 public class TestMyDate { public static void main(String[] args) { MyDate today = new MyDate(22, 7, 1964); }

29 Al invocar new Xxx(), para crear el espacio de memoria al objeto nuevo, ocurre lo siguiente: Se asigna memoria: Espacio para el objeto nuevo es asignado y las variables de instancia son inicializadas al valor por defecto que les corresponda (por ejemplo: 0, false, null) Se realiza la inicialización explícita de los atributos Un constructor es ejecutado La referencia al objeto es asignada a la variable Ejemplo MyDate my_birth = new MyDate(22, 7, 1964);

30 La declaración sólo reserva memoria para la referencia: MyDate my_birth = new MyDate(22, 7, 1964); Utilice el operador new para reservar memoria para MyDate MyDate my_birth = new MyDate(22, 7, 1964);

31 Inicialización de atributos: MyDate my_birth = new MyDate(22, 7, 1964); Los valores por defectos son tomados de la declaración de la clase

32 Ejecutando el constructor correcto: MyDate my_birth = new MyDate(22, 7, 1964); En el caso de constructores sobrecargados, el primer constructor puede invocar a otro, como veremos más adelante

33 Asignación del objeto nuevo a la variable referencia: MyDate my_birth = new MyDate(22, 7, 1964);

34 int x = 7; int y = x; MyDate s = new MyDate(22, 7, 1964); MyDate t = s; Dos variables referencia al mismo objeto t = new MyDate(22, 12, 1964); El reasignar hace que las variables referencias apunten a dos objetos

35 En Java los argumentos sólo se pasan por valor. Cuando una instancia de un objeto es pasado como argumento a un método, el valor de ese argumento es una referencia al objeto. El contenido del objeto puede ser cambiado en el método que lo invocó, pero el objeto referencia nunca puede ser cambiado. Esto es, puede cambiarse a lo que apunta, pero no se puede cambiar la referencia, por ejemplo hacer referenciar a otro objeto

36 public class PassTest { // Methods to change the current values public 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; // Assign the int val = 11;

37 // Try to change it changeInt(val); // What is the current value? System.out.println("Int value is: " + val); // Assign the date date = new MyDate(22, 7, 1964); // Try to change it changeObjectRef(date); // What is the current value? date.print(); // Now change the day attribute // through the object reference changeObjectAttr(date); // What is the current value? date.print(); }

38 Algunos ejemplos del uso de la palabra reservada this: Resuelve ambigüedades: Cuando se quiere referenciar un una variable miembro dentro de un bloque, que tiene variables locales o argumentos con el mismo nombre Para pasar como parámetro al objeto actual a otro método o constructor

39 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; }

40 public MyDate addDays(int more_days) { MyDate new_date = new MyDate(this); new_date.day = new_date.day + more_days; return new_date; } public void print() { System.out.println("MyDate: " +day+ ""+month+"-" + year); } public class TestMyDate { public static void main(String[] args) { MyDate my_birth = new MyDate(22, 7, 1964); MyDate the_next_week = my_birth.addDays(7); the_next_week.print(); }

41 Paquetes: package banking.domain; Clases: class SavingsAccount Interfases: interface Account Métodos: balanceAccount()

42 Variables: currentCustomer Constantes: HEAD_COUNT MAXIMUM_SIZE ¿Donde encontrarlas?

43 Sintaxis de clases: bloques, atributos, métodos, identificadores. Palabras reservadas. Tipos: primitivos y referencia. Creación de objetos: constructores. Asignaciones de memoria. Convenciones de código.

44 Arraquis Java Sun x.htmlhttp://download.oracle.com/javase/1.5.0/docs/guide/language/inde x.html


Descargar ppt "Utilizar comentarios Distinguir entre identificadores válidos e inválidos Reconocer las palabras claves de la tecnología Java. Definir los valores literales."

Presentaciones similares


Anuncios Google