Está en la página 1de 40

Lenguaje de Programacin Java

(SL-275-SE6)
Mdulo 3
Identificadores, Palabras Clave y Tipos

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 1
Objetivos
Usar comentarios en el programa fuente.
Distinguir entre identificadores validos e invlidos.
Reconocer las palabras clave de la tecnologa Java.
Listar los ocho tipos de datos primitivos.
Definir valores literales para tipos numricos y
textuales.
Definir los trminos variable primitiva y variable de
referencia.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 2
Objetivos
Declarar variables de tipo clase.
Construir un objeto usando la sentencia new
Describir la inicializacin por default.
Describir el significado de una variable de referencia
Indicar las consecuencias de asignacin de variables de
tipo clase.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 3
Discusin
Que tipos primitivos de Java conoces?

Puedes describir la diferencia entre los valores
de variables primitivas simples en comparacin con las
de objeto de referencias?
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 4
Comentarios
Los tres estilos permisibles de comentario en un programa
de tecnologa de Java son:

// comment on one line

/* comment on one
* or more lines
*/

/** documentation comment
* can also span one or more lines
*/
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 5
El punto y coma, los bloques y
espacios en blanco
Una instruccin es una o ms lneas de cdigo
terminados por un punto y coma (;):
totals = a + b + c
+ d + e + f;
Un bloque es una coleccin de instrucciones obligado
por la apertura y cierre de llaves:
{
x = y + 1;
y = x + 1;
}
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 6
El punto y coma, los bloques y
espacios en blanco
Una declaracin de clase utiliza un bloque especial:
public class MyDate {
private int day;
private int month;
private int year;
}
Puedes anidar bloques de instrucciones:
while ( i < large ) {
a = a + i;
// nested block
if ( a == max ) {
b = b + a;
a = 0;
}
i = i + 1;
}
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 7
El punto y coma, los bloques y
espacios en blanco
Cualquier cantidad de espacio en blanco est
permitido en un programa de Java.

Por ejemplo:
{int x;x=23*54;}
Es equivalente a:
{
int x;
x = 23 * 54;
}
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 8
Identificadores
Los identificadores tienen las siguientes caractersticas:
Son nombres dados a una variable, clase o mtodo.
Puede comenzar con una letra, guin bajo (_), o signo de
dlar ($).
Son sensibles entre minsculas y maysculas y no tienen
longitud mxima.
Ejemplos:
identifier
userName
user_name
_sys_var1
$change
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 9
Palabras clave del lenguaje de
programacin Java
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 10
Tipos primitivos
El lenguaje de programacin Java define ocho tipos
primitivos:
Lgico boolean
Textual char
Integral - byte, short int, y long
flotante - double y float

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 11
Lgico - boolean
El booleano primitivo tiene las siguientes caractersticas:
El tipo de datos boolean tiene dos literales, true y
false.
Por ejemplo, la siguiente declaracin:
boolean truth = true;
declara la variable truth como tipo booleano y asigna a
sta un valor de verdad.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 12
Textual - char
El primitivo de texto char tiene las siguientes
caractersticas:
Representa un carcter Unicode de 16 bits
Debe tener sus caracteres literales cerrados con apostrofes
( )
Utiliza las siguientes anotaciones:
a La letra a
\t El carcter tab
\u???? Un carcter Unicode especfico,??, Se sustituye por
exactamente cuatro dgitos hexadecimales.
Por ejemplo, \u03A6 es la letra griega phi [].
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 13
Textual - String
El tipo de cadena de texto tiene las siguientes
caractersticas:
No es un tipo de datos primitivo, sino que es una clase
Se ha cerrado su literal entre comillas dobles ( ).
The quick brown fox jumps over the lazy dog.
Puede ser utilizado de la siguiente manera:
String greeting = "Good Morning !! \n";
String errorMessage = "Record Not Found !";

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 14
Integral - byte, short, int, y long
Las primitivos integrales tienen las siguientes
caractersticas:
Integral primates utilizan tres formas: decimal, octal
o hexadecimal.
2 La forma decimal para el nmero entero 2.
077 el 0 indica un valor octal.
0xBAAC El 0x indica un valor hexadecimal.
Los literales tiene un tipo de defecto el int.
Los literales con el sufijo L o l son de tipo long.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 15
Integral - byte, short, int, y long
Tipos de datos integrales tienen los siguientes rangos:

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 16
Tamao Tipo Rango
Flotante double y float
Los primitivos de punto flotante tienen las siguientes
caractersticas:
Literal de coma flotante incluye un punto decimal o
uno de los siguientes letras:
E or e (define un valor exponencial)
F or f (float)
D or d (double)
3.14 Un simple valor de punto flotante (una doble)
6.02E23 Un gran valor de punto flotante
2.718F Un flotador sencilla valor de tamao
123.4E+306 D Un valor doble con redundante D
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 17
Flotante double y float
Los literales tiene un tipo de defecto de doble.
Los tipos de punto flotante de datos tienen los
siguientes tamaos:

Tamao Nombre o tipo
32 bits float
64 bits double
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 18
Variables, declaraciones y
Las asignaciones
1 public class Assign {
2 public static void main (String args []) {
3 // declare integer variables
4 int x, y;
5 // declare and assign floating point
6 float z = 3.414f;
7 // declare and assign double
8 double w = 3.1415;
9 // declare and assign boolean
10 boolean truth = true;
11 // declare character variable
12 char c;
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 19
Variables, declaraciones y
Las asignaciones
13 // declare String variable
14 String str;
15 // declare and assign String variable
16 String str1 = "bye";
17 // assign value to char variable
18 c = 'A';
19 // assign value to String variable
20 str = "Hi out there!";
21 // assign values to int variables
22 x = 6;
23 y = 1000;
24 }
25 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 20
Prctica #5
Se requiere una clase la cual represente un punto en el
plano cartesiano, y que me ayude a calcular la distancia
entre dos puntos, determina sus atributos y sus
operaciones.


Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 21
Tipos de referencia de Java
En la tecnologa Java, ms all de todos los dems tipos primitivos existen los tipos de
referencia.
Una variable de referencia contiene un identificador de un objeto.
Por ejemplo:

1 public class MyDate {
2 private int day = 1;
3 private int month = 1;
4 private int year = 2000;
5 public MyDate(int day, int month, int year) { ... }
6 public String toString() { ... }
7 }
1 public class TestMyDate {
2 public static void main(String[] args) {
3 MyDate today = new MyDate(22, 7, 1964);
4 }
5 }

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 22
La construccin e inicializacin de
objetos
Llamando a new xyz () realiza las siguientes acciones:
a. La memoria se asigna para el objeto.
b. Inicializacin del atributo explcito se lleva a cabo.
c. Un constructor se ejecuta.
d. La referencia de objeto devuelto por el operador
new.
La referencia al objeto se asigna a una variable.
Un ejemplo es:
MyDate my_birth = new MyDate(22, 7, 1964);
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 23
De asignacin de memoria y
Diseo
Una declaracin asigna almacenamiento slo a una
referencia:
MyDate my_birth = new MyDate(22, 7, 1964);
my_birth

Use el operador new para asignar espacio para MyDate:
MyDate my_birth = new MyDate(22, 7, 1964);
my_birth
day
month
year
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 24
????
????
0
0
0
La inicializacin del atributo
explcito
Inicializar los atributos de la siguiente manera:
MyDate my_birth = new MyDate(22, 7, 1964);
my_birth
day
month
year

Los valores por defecto se toma del atributo
declaracin en la clase.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 25
????
1
1
2000
Ejecutando el Constructor
El constructor ejecuta la igualdad como sigue:
MyDate my_birth = new MyDate(22, 7, 1964);
my_birth
day
month
year

En el caso de un constructor sobrecargado, la primera
puede llamar a otro constructor.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 26
????
22
7
1964

Asignacin de una variable
Asigna al objeto recin creado a la variable de
referencia como sigue:
MyDate my_birth = new MyDate(22, 7, 1964);

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 27
Asignacin de referencias
Dos variables se refieren a un solo objeto:

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 28
La reasignacin hace que dos variables apunten a dos
objetos:
Pasar por valor
En una sola mquina virtual, el lenguaje de
programacin Java pasa argumentos por valor.
Cuando una instancia de objeto se pasa como
argumento a un mtodo, el valor del argumento es una
referencia al objeto.
El contenido del objeto se puede cambiar en el llamado
mtodo, pero la referencia al objeto original nunca es
cambiado.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 29
Pasar por valor
1 public class PassTest {
2
3 // Methods to change the current values
4 public static void changeInt(int value) {
5 value = 55;
6 }
7 public static void changeObjectRef(MyDate ref ) {
8 ref = new MyDate(1, 1, 2000);
9 }
10 public static void changeObjectAttr(MyDate ref ){
11 ref.setDay(4);
12 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 30
Pasar por valor
13
14 public static void main(String args[]) {
15 MyDate date;
16 int val;
17
18 // Assign the int
19 val = 11;
20 // Try to change it
21 changeInt(val);
22 // What is the current value?
23 System.out.println("Int value is: " + val);

El resultado de esta salida es:
un valor entero: 11
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 31
Pasar por valor
24
25 // Assign the date
26 date = new MyDate(22, 7, 1964);
27 // Try to change it
28 changeObjectRef(date);
29 // What is the current value?
30 System.out.println("MyDate: " + date);

El resultado de esta salida es:
MyDate: 22-7-1964
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 32
Pasar por valor
31
32 // Now change the day attribute
33 // through the object reference
34 changeObjectAttr(date);
35 // What is the current value?
36 System.out.println("MyDate: " + date);
37 }
38 }
El resultado de esta salida es:
MyDate: 07/04/1964
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 33
La referencia this
stos son algunos usos de la palabra clave this
Para resolver la ambigedad entre las variables de
instancia y parmetros
Para pasar el objeto actual como un parmetro a otro
mtodo o constructor
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 34
La referencia this
1 public class MyDate {
2 private int day = 1;
3 private int month = 1;
4 private int year = 2000;
5
6 public MyDate(int day, int month, int year) {
7 this.day = day;
8 this.month = month;
9 this.year = year;
10 }
11 public MyDate(MyDate date) {
12 this.day = date.day;
13 this.month = date.month;
14 this.year = date.year;
15 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 35
La referencia this
16
17 public MyDate addDays(int moreDays) {
18 MyDate newDate = new MyDate(this);
19 newDate.day = newDate.day + moreDays;
20 // Not Yet Implemented: wrap around code...
21 return newDate;
22 }
23 public String toString() {
24 return "" + day + "-" + month + "-" + year;
25 }
26 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 36
La referencia this
1 public class TestMyDate {
2 public static void main(String[] args) {
3 MyDate my_birth = new MyDate(22, 7, 1964);
4 MyDate the_next_week = my_birth.addDays(7);
5
6 System.out.println(the_next_week);
7 }
8 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 37

Convenios de Codificacin del Lenguaje de
programacin Java
Paquetes:
com.example.domain;
Clases, interfaces, y tipos enum:
SavingsAccount
Metodos:
getAccount()
Variables:
currentCustomer
Constantes:
HEAD_COUNT
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 38
Convenios de Codificacin del
Lenguaje de programacin Java
Estructuras de control
if ( condition ) {
statement1;
} else {
statement2;
}
Espaciado
Utilice una instruccin por lnea.
Utilice dos o cuatro espacios para el sangrado.
Comentarios
Usar // para comentar el cdigo en lnea.
Uso /** la documentacin */ para los miembros de la clase.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 39
Prctica #6
Disea una clase la cual represente un domicilio de un estudiante,
el domicilio estar compuesto por calle, numero, ciudad, estado y
cdigo postal. La clase estudiante tendr como atributos un id,
nombre(s), apellidos, y un atributo objeto domicilio.

Nota: utiliza la palabra de referencia this y el mtodo toString en
ambas clases
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 40

También podría gustarte