Documentos de Académico
Documentos de Profesional
Documentos de Cultura
package nombre_del_paquete;
1. package uv.applets.login;
Por ejemplo:
1. import nombre_del_paquete.*;
Por ejemplo:
1. import uv.applets.login.*;
2. package uv.applets.login;
3.
4. // inclusiones
6.
7. // definición de la clase
8. class LoginApplet
9. {
10. ...
11. }
var // legal
ISboolean // legal: palabras reservadas embebidas
$value // legal
boolean
char
byte
short
int
long
float
double
boolean 1 char 16
byte 8 short 16
int 32 long 64
float 32 double 64
Las variables de tipo boolean solo pueden tomar los valoes true o
false.
Los tipos de datos enteros con signo son:
byte
short
int
long
Se debe notar que para cada tipo de los anteriores, los exponentes de
dos para los valores mínimo y máximo es el tamaño en bits menos
uno.
C
Diferencias con lenguaje C/C++: en Java el tipo byte es con signo y el tipo char sin signo y
de 16 bits. El tipo long es de 64 bits (0 → 224 Gb).
Los tipos de punto flotante son:
float
double
Float.NEGATIVE_INFINTY
Float.POSITIVE_INFINTY
Double.NaN
Double.NEGATIVE_INFINTY
Double.POSITIVE_INFINTY
1. double v = -10.0/0.0;
2. if ( v == Double.NEGATIVE_INFINTY )
3. {
4. System.out.println( “valor de v = ” + v );
5. }
Literales
Literales boolean
Literales char
char c = ‘a’;
char c = ‘\u1234’;
Java soporta las siguientes secuencias de control para denotar
caracteres especiales:
‘\n’ Newline
‘\r’ Return
‘\t’ Tab
‘\b’ Backspace
‘\f’ Formfeed
‘\\’ Backslash
Literales enteros
42
052
0x2a
0x2A
0X2a
0X2a
Literales String
1. declaración
2. construcción
3. inicialización
1. int vi[];
2. double vd[];
3. String vs[];
4. float vf[][];
5. char[] sz;
1. int vi[];
2. vi = new int[ 80 ];
2. int vi[];
byte 0
short 0
int 0
long 0
float 0.0f
double 0.0d
char ‘\u0000’
boolean false
1. int vi[] = { 1, 2, 3, 4, 5 };
3. {
5. }
Clases (fundamentos)
1. package uv.applets.login;
2. import uv.servlets.login.*;
3. class LoginApplet
4. {
5. …
7. {
8. ...
9. }
10. }
Ejemplo de ejecución:
c:\java LoginApplet ↵
El método main()
“204.3.245.206” args[ 0 ]
“/dologin” args[ 1 ]
Variables e Inicialización
C
En C/C++ el primer parámetro (índice 0) contiene la ruta y nombre del ejecutable; de esta
forma los argumentos que recibe la función main() comienzan en el índice 1.
A todas las variables miembro, que no son explícitamente inicializadas
en su declaración, les es asignado un valor inicial de forma
automática.
1. package uv.applets.login;
2. import uv.servlets.login.*;
3. class LoginApplet
4. {
5. …
8. }
2. {
3. int i;
4. return i;
5. }
2. {
3. int i;
4. if ( x < 0 )
5. {
6. i = -1;
7. }
8. return i;
9. }
2. {
3. int i = 0;
4. if ( x < 0 )
5. {
6. i = -1;
7. }
8. return i;
9. }
Paso de Argumentos
En Java todos los argumentos son pasados por valor. Esto es, cuando
un argumento es pasado a un método, el método recibe una copia del
argumento original. De esta forma los cambios en el valor del
argumento recibido no afectan la variable original:
2. {
3. x += 1;
4. }
6. {
7. int i = 0;
8. inc( i );
10. }
Esto funciona de la misma forma si el argumento pasado al método es
un objeto y no un tipo primitivo como en el ejemplo anterior. Sin
embargo, el proceso es totalmente diferente. Para entenderlo es
necesario revisar el concepto de referencia a objeto.
2. {
4. }
6. {
8. no_cambia( tf );
10. }
En el ejemplo anterior, un objeto TextField es construído en la línea 7
y la referencia almacenada en la variable ‘tf’. En la línea 8 la referencia
es pasada al método ‘no_cambia’ que recibe una copia de esta
referencia. Allí en la línea 3 se construye un nuevo objeto y la
referencia copia es sobreescrita en la asignación. Como la referencia
original permanece inalterada, la línea 9 despliega el valor original:
‘texto’.
2. {
3. cotf.setText ( “abc” );
4. }
6. {
8. si_cambia( tf );
10. }
2. {
3. WaitCursor wc;
4. ...
5. if ( i < 0 )
6. {
7. return;
8. }
9. ...
2. {
3. setCursor( Cursor.getPredefinedCursor(
Cursor.WAIT_CURSOR ) );
4. ...
5. if ( i < 0 )
6. {
7. setCursor( Cursor.getPredefinedCursor(
Cursor.DEFAULT_CURSOR ) );
8. return;
9. }
C
Como se ha visto, el manejo de referencias en Java es similar al manejo de apuntadores en
lenguaje C/C++. Al manejar todo como referencias y no existir la posibilidad de construir
objetos automáticos, Java no permite aprovechar la pareja constructor-destructor para
producir cerramientos funcionales.
10. ...
2. {
3. vi[ 0 ] = 0;
4. }
6. {
7. int[] i = { -1 };
8. modifica( i );
10. }
2. {
4. }
2. {
5. return obj;
6. }
Resúmen
Los tipos primitivos para almacenar números enteros son byte, short,
int y long. Los cuatro utilizan notación 2-complemento. Los tipos
primitivos para almacenar números de punto flotante son float y
double. El tipo char no tiene signo y representa un caracter Unicode.
El tipo boolean solo puede tomar los valores false y true.
1. declaración
2. construcción
3. inicialización
Toda clase que tenga un método main() puede ser ejecutada como
una aplicación desde la línea de comandos. El prototipo del método
main() es:
En Java todos los parámetros son pasados por valor, esto es, copia de
los originales. Para los tipos primitivos esto significa que las
modificaciones realizados a los argumentos en el método que los
recibe no son visibles en método que los ha pasado. Para argumentos
que son referencias a objetos o referencias a arreglos, las
modificaciones tampoco son visibles en método que las ha pasado; sin
embargo, las modificaciones al objeto referenciado o a elementos del
arreglo, sí son visibles en el método que ha hecho la llamada.
a. Verdadero
b. Falso
a. Nombre01LargoSinSignificadoAlguno
b. $char
c. floats
d. $12
e. finalist
a. x[ 63 ] es igual a 0
c. x[ 64 ] es igual a 0
d. x[ 0 ] es null
e. x.length es igual a 64
class A
a.m_valor++;
int m_valor;
public class B
A a = new A();
a.m_valor = 25;
a.inc( a );
System.out.println( a.m_valor );
a. 0
b. 1
c. 25
d. 26
class A
d -= 1.0;
public class B
double d = 10.0;
A a = new A();
a.dec( d );
System.out.println( d );
}
a. 0.0
b. –1.0
c. 10.0
d. 9.0
a. No se puede
b. Llamando System.gc()
d. Llamando Runtime.gc()
a. Depende de la plataforma
b.
0 a 232
c. 0 a 232-1
d. -264 a 264-1
e. 0 a 264-1
f. -263 a 263-1
a. Depende de la plataforma
b.
0 a 28
c. -215 a 215-1
d. -216 a 216-1
e. 0 a 216-1
f. 0 a 215-1