1. Programación de Sistemas
Lic. José Angel Quintanilla
Rosales
Un programa bien escrito es su propio cielo; un programa
mal escrito es su propio infierno. [Geoffrey James, El Tao
de la Programación]
2. 2
JAVA es un lenguaje
interpretado
Compilador de java (específico x plataforma) javac P1.java
P1.java
P1.class
Intérprete de java (específico x plataforma) java P1 (class)
Salida
del
Prog.
3. 3
Un primer programa en JAVA
public class Hello {
public static void main(String args[ ]) {
System.out.println(“Hola Mundo“);
}
}
●
Todo programa es escrito como el método estático llamado main en
una clase cualquiera
●
Este método se empieza a ejecutar cuando se invoca el intérprete
de java para una clase dada
●
args es un arreglo de Strings que contiene los parámetros
●
con los que fué invocado el programa.
5. Visibilidad
●
Visibilidad: parte de programa en el que
una variable es accesible sin ser
calificada
●
Las variables se pueden ocultar por
otras con el mismo nombre en ámbitos
más anidados
7. Variables
public class Basic {
public static void main(String[] args) {
int sum = 0;
for (int current = 1; current <= 10; current++) {
sum += current;
}
System.out.println("Sum = " + sum);
}
}
Basic
¿Cúal es? ¿Qué tipo tienen? Alcance
8. Variables
public class Basic {
public static void main(String[] args) {
int sum = 0;
for (int current = 1; current <= 10; current++) {
sum += current;
}
System.out.println("Sum = " + sum);
}
}
Basic
¿Cúal es? ¿Qué tipo tienen? Alcance
9. Variables
public class Basic {
public static void main(String[] args) {
int sum = 0;
for (int current = 1; current <= 10; current++) {
sum += current;
}
System.out.println("Sum = " + sum);
}
}
Basic
¿Cúal es? ¿Qué tipo tienen? Alcance
12. Operadores aritméticos
●
Operaciones con enteros y reales
●
El resultado depende de los operadores
– Algún double -> double
– Algún float -> float
– Algún long -> long
– Si no, int
14. Operadores de comparación
●
Devuelven booleanos
– Igualdad: op1 == op2
– Desigualdad: op1 != op2
– Mayor que: op1 > op2
– Mayor o igual que: op1 >= op2
– Menor que: op1 < op2
– Menor o igual que: op1 <= op2
OperadoresComparacio
15. Operadores de comparación
●
Mucho cuidado con la igualdad
●
Cuando se comparan variables
referencia, se compara si ambos
objetos son el mismo, no si son iguales
(tienen el mismo estado)
●
Error típico
OperadoresComparacio
17. Operadores booleanos
●
Java só lo evalúa si es necesario
●
Si el primer operando de un AND es
false, no evalúa el segundo y devuelve
false
– Lo mismo con OR
●
Para obligar a evaluar el segundo
operando, usar & (AND) y | (OR)
OperadoresBooleano
18. Operadores de desplazamiento
●
Opera sobre enteros y devuelve enteros
– Desplazar a izquierda: op1 << num
– Desplazar a derecha
op1 >> num (extiende signo)
op1 >>> num (no extiende signo)
OperadoresDesplazamient
19. Operadores lógicos
●
Operan sobre bits de los enteros
– AND: op1 & op2
– OR: op1 | op2
– XOR: op1 ^ op2
– Complemento: ~op1
OperadoresBinario
20. Operadores de asignación
●
Asigna el valor de una variable a otra
– op1 = op2
●
Deben ser compatibles en tipo
– Enteros, reales, carácter
– Misma clase o subclases
●
Al asignar variables referencia, no se
hace una copia del objeto
21. Operadores de asignación
●
Asignació n con operació n
op1 = op1 operador op2 (a = a + b)
op1 operador= op2 (a += b)
●
+, -, *, /, %, &, |, ^, <<, >>, >>>
22. Otros operadores
●
?: (if-then-else)
if (a == b) then c else d;
a == b ? c : d
●
[] - indexació n de arrays
●
. (punto): acceso a métodos y variables
●
(): para especificar los argumentos a
métodos